R - 将列与两个不同数据帧的行进行比较

时间:2017-02-02 01:31:26

标签: r

我有两个数据框。我想考虑第一个数据帧的子集,仅考虑第一个值等于第二个数据帧的行的第一个值的列。

实施例

数据框1:

columns_df1 : a b c d e 

数据框2:

rows_df2 : a c e 

子集我想获得:

final_columns_df1 = a c e 

我坚持如何将列与属于两个不同数据帧的行进行比较。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

确定。由于您没有提供完整的可重现答案,因此您对问题的要求有点不清楚。但我认为这就是你要找的东西。

df1 <- data.frame(a = c(1, 2),
              b = c(3, 4),
              c = c(5, 6),
              d = c(7, 8),
              e = c(9, 10))

df2 <- data.frame(f = c("a", "b"),
              g = c("c", "d"),
              h = c("e", "f"))

final_columns_df1 <- df1[ , names(df1) %in% df2[1, ]]
final_columns_df1
  a c  e
1 1 5  9
2 2 6 10