我的计算机上的文件夹中有 50 多个 csv 文件,我想将它们合并到 1 个巨大的数据表中。下面的示例展示了我的 50 个表格中的 3 个表格的外观(一张、两张和三张)以及我希望最终表格的外观(一起)。
one <- data.frame("County" = c("Autauga", "Barbour", "Bibb"), "AAAA" = c(1,
1, 1), "BBBB" = c(2, 2, 2))
two <- data.frame("County" = c("Cape May", "Mercer", "Bergen"), "BBBB" =
c(1, 1, 1), "CCCC" = c(2, 2, 2), "DDDD" = c(1, 2 ,3))
three <- data.frame("County" = c("Lincoln", "Jackson", "Pike"), "CCCC" =
c(1, 1, 1))
together <- data.frame("County" = c("Autauga", "Barbour", "Bibb", "Cape
May", "Mercer", "Bergen", "Lincoln", "Jackson", "Pike"), "AAAA" = c(1, 1, 1,
NA, NA, NA, NA, NA, NA), "BBBB" = c(2, 2, 2, 1, 1, 1, NA, NA, NA), "CCCC" =
c(NA, NA, NA, 2, 2, 2, 1, 1, 1), "DDDD" = c(NA, NA, NA, 1, 2, 3, NA, NA,
NA))
如果有人能帮我解决这个问题,那就太好了!另外,空格不需要是“NA”,可以保留为空白。
最佳答案
我们可以使用bind_rows
library(tidyverse)
bind_rows(one, two, three)
如果有很多数据集,请将其放入列表
中,然后使用data.table中的bind_rows/rbindlist
不要在全局环境中创建多个 data.table/data.frame 对象,而是将其读入 list
中,然后使用 rbindlist
library(data.table)
rbindlist(lapply(files, fread))
关于r - 将多个文件合并到一张大数据表中。文件中的列名称不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56740580/