我想在一个包含两个列的新数据框中合并两个数据框,此外,我只需要将具有相同id的行放入新数据框中。
我的数据帧如下:
df1
Name V1 V2 V3
str1 . . strA
str2 . . strB
.. . .
str16000 . . strC
df2
Name V1 V2 V3
str2 . . strD
str1 . . strE
.. . .
str20000 . . strF
我想要一个输出,例如:
Name df1$v3 df2$v3
str1 strA strE
str2 strB strD
请注意,df1和df2的长度不同,而且df1和df2中的相同项目的位置不同。
谢谢你们
答案 0 :(得分:0)
使用合并功能
lines=
'Name V1 V2 V3
str1 NA NA strA
str2 NA NA strB
str16000 NA NA strC'
df1 = read.table(textConnection(lines), header = T)
lines=
'Name V1 V2 V3
str1 NA NA strD
str2 NA NA strE
str16000 NA NA strF'
df2 = read.table(textConnection(lines), header = T)
dfnew = merge(df1[1:2, -2:-3], df2[1:2, -2:-3], by='Name')
colnames(dfnew) = c('Name', 'df1$v3 ', 'df2$v3')
dfnew
# Name df1$v3 df2$v3
#1 str1 strA strD
#2 str2 strB strE