我的数据框带有诸如NAMES之类的元素列表。数据框中有不同的名称,但大多数都匹配在一起。我想将所有这些都合并到一个列表中,在其中可以查看df中是否缺少某些名称。
df1的数据样本:
X x
1 1 rh_Structure/Focus_S
2 2 rh_Structure/Focus_C
3 3 lh_Structure/Focus_S
4 4 lh_Structure/Focus_C
5 5 RH_Type-Function-S
6 6 RH_REFERENT-S
和df2
X x
1 1 rh_Structure/Focus_S
2 2 rh_Structure/Focus_C
3 3 lh_Structure/Focus_S
4 4 lh_Structure/Focus_C
5 5 UCZESTNIK
6 6 COACH
,预期结果将是:
NAME. df1 df2
1 COACH NA 6
2 lh_Structure/Focus_C 4 4
3 lh_Structure/Focus_S 3 3
4 RH_REFERENT-S 6 NA
5 rh_Structure/Focus_C 2 2
6 rh_Structure/Focus_S 1 1
7 RH_Type-Function-S 5 NA
8 UCZESTNIK NA 5
我可以用merge.data.frame(df1,df2,by =“ x”,all = T)做到这一点, 但我无法在结构相似的情况下使用更多df。任何帮助将不胜感激。
答案 0 :(得分:0)
从长远来看,使用它可能会更容易。只需rbind
彼此下面的所有数据集,并带有一个标志,说明它们来自哪个数据集。然后,将所有缺失值制成表格是相对简单的(而且,作为额外的好处,您可以查看任何源数据集中是否有重复项):
dfs <- c("df1","df2")
dfall <- do.call(rbind, Map(cbind, mget(dfs), src=dfs))
table(dfall$x, dfall$src)
# df1 df2
# COACH 0 1
# lh_Structure/Focus_C 1 1
# lh_Structure/Focus_S 1 1
# RH_REFERENT-S 1 0
# rh_Structure/Focus_C 1 1
# rh_Structure/Focus_S 1 1
# RH_Type-Function-S 1 0
# UCZESTNIK 0 1