【发布时间】:2021-10-26 11:02:22
【问题描述】:
我有一个数据框 (df1) 和一个数据框列表 (l) (df2, df3):
df1 <- tibble(a = c(111, 222, 333, 444, 555))
df2 <- tibble(a = c(11, 22, 33, 44, 55),
b = c(1111, 2222, 3333, 4444, 5555),
c = c(11111, 2222, 333, 4444, 55555),
d = c(1, 2, 3, 4, 5))
df3 <- tibble(a = c(11, 22, 333, 44, 55),
b = c(11211, 2222, 3333, 4444, 5555),
c = c(11111, 2222, 333, 4444, 55555),
d = c(1, 2, 3, 4, 5))
l <- list(df2, df3)
我需要在列表中找到与 df1 中的值匹配的值。仅应保留列表中只有一列具有匹配值的数据框 应删除具有少于或多于 1 列的匹配值的数据框。数据框中保留的列应重命名,例如“thiscolumnhastruevalues”。在上面的例子中 df2$c 应该被重命名。 df3 应该从列表中删除,因为它有不止一列具有 TRUE 值。
我尝试了几种“匹配”“%in%”“应用”“重命名”的方法,但我无法到达我的目的地。
【问题讨论】:
标签: r