我有一个R脚本,可以创建一个包含61列的数据框 . data.frame是通过将一堆csv文件读入data.frames列表,然后合并列表,使列表中每个data.frame中的通常命名的列填充结果data.frame中的相同列来完成的 .
应该组合的一些列在csv文件中的命名不一致(例如date.received vs received.on.date vs date.sample.received),我想知道组合它们的最佳方法是什么 .
我有几个想法:
- 重命名列,然后在列表中合并一个大的lapply .
我拥有data.frame后, - 组合应该相同的列,以便使用该行中具有值的列
是第二种方法可能(以及如何?)还是有更好的方法?
1 回答
第二种方法是可行的,使用
dplyr
包中的rbind_all
可以轻松实现 . 方法如下:首先,如果您有关于应该堆叠在一起的列名称模式的一些信息,我建议您在堆叠之前尝试修复它,例如:
现在你很高兴:
在将所有列堆叠正确之前,您可能需要进行一些调整,但现在,您需要做的就是更改lapply函数来执行此操作 . 我觉得这比在rbinding之后进行一些列转换更容易 .