我的计算机上的一个文件夹中有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”,可以将它们保留为空格。
答案 0 :(得分:2)
我们可以使用bind_rows
library(tidyverse)
bind_rows(one, two, three)
如果有很多数据集,请将其放在list
中,然后使用data.table中的bind_rows/rbindlist
与其在全局环境中创建多个data.table / data.frame对象,不如将其读取到list
中,然后使用rbindlist
library(data.table)
rbindlist(lapply(files, fread))