因此,我有两个数据集,其中一个具有值ID,并说变量a,b和c。其他的也有ID,但具有变量c,d,e。这两个数据集具有共同的个体,但不是全部。我尝试了dyplr :: left连接,但是它从第二个数据集中删除了与第一个不匹配的行。 因此,我只是在两个数据集中创建了列并对其进行了排序,以便可以进行rbind。问题是我现在有类似这样的东西(带有组成数据的示例):
index b c d
1 A B A A
2 B NA C D
3 B B NA NA
4 C D E C
5 D D D D
6 E NA E NA
7 E NA NA F
8 E G NA NA
9 F F F F
我想拥有:
index b c d
1 A B A A
2 B B C D
3 C D E C
4 D D D D
5 E G E F
6 F F F F
很显然,在Push up and tighten Dataframe. General solution中提出了类似的问题,但这是数字,求和函数在我的情况下不起作用。我已经尝试过将其替换为paste和paste0,但是它不起作用。 我还在此Merge rows in one data.frame(setDT + lapply)中尝试了第二种解决方案,该解决方案适用于示例,但是我在“ eval(bysub,x,parent.frame())中有错误:找不到对象'A'”真实的数据集。
在第一条注释中使用dplyr提出的df1 %>% group_by(index) %>% summarise_all(na.omit)
解决方案在示例中也适用,但由于错误而不适用于真实数据:“ summarise_impl(.data,点)中的错误:列Nom必须为长度1 (摘要值),而不是2”,其中“ Nom”是由多个单词组成的索引的第一列,该字符串由空格和标点组成。进行length(Nom)
输出的行数。
预先感谢