我有一个dataframe1
,其一列包含名字,另一列dataframe2
,其包含名字和相应的性别。
现在,我想将dataframe2
的性别列添加到dataframe1
中,但是它似乎不适用于以下行:
df2new <- merge(df1,df2,by.x="firstname",by.y ="gender")
如何合并这两个数据框?
答案 0 :(得分:0)
您可以为此使用dplyr软件包!
library(dplyr)
dataframe1 <- left_join(data_frame1,data_frame2,by="firstname")
答案 1 :(得分:0)
虽然文森特的建议很好,但我想提供另一种使用基R的方式,该方式似乎与您的数据类似。
df1 <- data.frame(name = c("Val","Sarah","Al"))
df2 <- data.frame(name = c("Joe","Jen","Kevin","Val","Sarah","Al"),
gender = c("M","F","M","F","F","M"))
df3 <- merge(df1, df2, by = intersect(colnames(df1), colnames(df2)))