通过引用R中的值来附加基于rowname的列

时间:2016-08-16 16:56:54

标签: r

我有两张桌子(df1和df2)

DF1

  | A      | B      | C      | D
  | ------ | ------ | ------ | ------
1 | 0.870  | 0.435  | 0.968  | 0.679
2 | 0.456  | 0.259  | 0.906  | 0.467
3 | 0.298  | 0.256  | 0.457  | 0.768
4 | 0.994  | 0.987  | 0.365  | 0.765

DF2

  | E      | F      | G      | H
  | ------ | ------ | ------ | ------
1 | 0.870  | 0.435  | 0.968  | 0.679
2 | 0.456  | 0.259  | 0.906  | 0.467
3 | 0.298  | 0.256  | 0.457  | 0.768
4 | 0.994  | 0.987  | 0.365  | 0.765

我想追加df2中出现在元数据框中的哪些列,我也必须df1。元数据框将在程序运行时更新(它使用重复/中断函数)

meta_frame

  | letter |
  | ------ | 
1 | G      |

我有这个代码,但是在值var附近放置意味着它不再起作用(即使用“var”替换“G”运行它会起作用)

var  = meta_frame$letter
df1 <- cbind(no_time, df2[, "var"] [match(rownames(df1), rownames(df2))])

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,以下代码会将df2中列出的meta_frame中的任何列附加到df1

columns.to.append <- unique(meta_frame$letter)
df.new <- cbind(df1, df2[columns.to.append])