【问题标题】:R - compare columns with rows of two different data framesR - 将列与两个不同数据帧的行进行比较
【发布时间】:2017-02-02 01:31:25
【问题描述】:

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

例子

数据框 1:

columns_df1 : a b c d e 

数据框 2:

rows_df2 : a c e 

我想获得的子集:

final_columns_df1 = a c e 

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

感谢您的帮助!

【问题讨论】:

  • 您能做到dput(columns_df1)dput(rows_df2) 并将结果放在您的问题中吗?
  • 您可以将df2long to wide format 转换为spread()。检查here。然后你可以joinsubset 或其他任何东西。

标签: r


【解决方案1】:

好的。由于您没有提供完整的可重复答案,因此您想从问题中得到什么有点不清楚。但我认为这就是你要找的。​​p>

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

【讨论】:

    猜你喜欢
    • 2020-09-11
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    相关资源
    最近更新 更多