如何在 R 中组合数据帧
How to combine dataframes in R
我想将两个数据框组合成一个新数据框,其中包含来自它们的列,而且我需要在新数据框中只放入具有相同 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 中的相同项目的位置也不相同。
谢谢大家
使用合并函数
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
我想将两个数据框组合成一个新数据框,其中包含来自它们的列,而且我需要在新数据框中只放入具有相同 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 中的相同项目的位置也不相同。
谢谢大家
使用合并函数
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