【发布时间】:2015-03-10 14:09:32
【问题描述】:
我有几个数据框,两者中的一些行名是相同的。我想从第一个数据框中复制第二个数据框中存在的所有行名的列。第一个数据框 (df1) 看起来像
m1 m2 m3
P001 60.00 2.0 1
P002 14.30 2.077 1
P003 29.60 2.077 1
P004 10.30 2.077 1
P006 79.30 2.077 1
P008 9.16 2.077 1
第二个数据框(df2)看起来像
n1 n2 n3
P001 12.00 2.0 1
P003 17.60 1.7 1
P005 22.30 2.7 1
P006 26.30 1.7 1
我想为第二个数据框中存在的所有行名(即 P001、P003、P005 和 P006)设置变量 m1 (df1$m1)。如果 df1 中不存在某些行名(例如 P005),则可以将其替换为 NA 或 0。
答案可能是这样的
m1
P001 60.00
P003 29.60
P005 NA
P006 79.30
更长的选择是使用循环,但我确信 R 应该有一个快捷方式。
【问题讨论】:
-
不要使用行名,而是使用专用列并搜索合并的 data.frames 和 data.tables,例如stackoverflow.com/q/19553005/817778
标签: r dataframe data.table