这个问题在这里已有答案:
我试图通过合并R中的两个数据集来整合数据,我想知道我是否可以使用函数merge()但是我想在一个结果列中指定列具有相同信息的列这里是一个示例:
数据集1:| FirstName |姓氏|年龄|眼睛颜色|
数据集2:| FN |姓氏|年龄|性别|
我想在一个数据集(数据集3)中合并数据集1和数据集2,并指定“FN”与“FirstName”相同,所以我希望它是一列,所以结果应该是:
数据集3:| FirstName |姓氏|年龄|眼睛颜色|性别|
您可以设置相同的列名称,然后使用它来合并数据。
names(dataset2)[1] = "FirstName"
dataset3 = merge(dataset1, dataset2, by="FirstName")
如果你想通过FN / FirstName合并作为公共变量,你可以在一个dplyr
链中使用rename
并使用merge
:
dataset3 <- dataset2 %>%
rename(FirstName = FN) %>%
merge(dataset1, by = "FirstName")
使用dplyr包,您可以使用:
dplyr::inner_join(
x = dataset1, y = dataset2,
by = c("FirstName" = "FN")
)