r - 合并可能是或可能不是同一个人的行(带有字符数据)
问题描述
因此,我有两个数据集,其中一个具有值 ID,并说变量 a、b 和 c;其他的 alo 有 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 tight Dataframe中也提出了类似的问题。一般解决方案,但它是数字,sum 函数在我的情况下不起作用。我已经尝试用 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, dots) 中的错误:列 Nom 的长度必须为 1(汇总值),而不是 2 ",其中 "Nom" 是索引后的第一列,该索引由多个带有空格和标点符号的单词组成的字符串组成。执行length(Nom)
输出行数。
提前致谢
解决方案
推荐阅读
- c - 使我的 gtk 应用程序可以在用 c 语言设计的不同平台上访问
- c++ - c ++:将void指针转换为shared_ptr
- javascript - 无论刻度线的宽度如何,合并两个图形的宽度(react,react-chartjs-2)
- python - pyQt5 QDialog在子类的构造函数中使用时不会打开
- c++ - 如何导入外部 .hpp 文件?
- camera - 时间设置 - UTC - 相机 - 旅行 - 一团糟
- javascript - Mongodb - 如何在第二个文档中按键连接两个文档并将子文档作为数组合并到父文档
- angular - 如何为具有访问权限的不同登录用户呈现 UI 视图?
- html - 屏幕阅读器不要求验证消息
- node.js - Docker CI 不能与 mongodb-memory-server 一起使用