将多个.csv文件导入到R中,具有不相等的行
我想在一个数据帧中合并多个csv文件。 我有22个csv文件,每个文件有一个属性,行数不相等 我已经使用了此代码,但出现了错误将多个.csv文件导入到R中,具有不相等的行,r,R,我想在一个数据帧中合并多个csv文件。 我有22个csv文件,每个文件有一个属性,行数不相等 我已经使用了此代码,但出现了错误 temp = list.files(pattern="*.csv") myfiles = lapply(temp, read.delim) df<-data.frame(myfiles) 在plyr包中,有一个函数rbind.fill,它将合并data.frames并为空单元格引入NA: library(plyr) concat <- rbind.fill
temp = list.files(pattern="*.csv")
myfiles = lapply(temp, read.delim)
df<-data.frame(myfiles)
在plyr包中,有一个函数rbind.fill,它将合并data.frames并为空单元格引入NA:
library(plyr)
concat <- rbind.fill(mtcars[c("mpg", "wt")], mtcars[c("wt", "cyl")])
concat[25:40, ]
mpg wt cyl
25 19.2 3.845 NA
26 27.3 1.935 NA
27 26.0 2.140 NA
28 30.4 1.513 NA
29 15.8 3.170 NA
30 19.7 2.770 NA
31 15.0 3.570 NA
32 21.4 2.780 NA
33 NA 2.620 6
34 NA 2.875 6
35 NA 2.320 4
库(plyr)
concat如果所有文件都保证有一个属性,rbind
就可以了。我们可以这样简洁地使用它:
df <- do.call(rbind, lapply(list.files(pattern = "*.csv"), read.csv))
df Hi,感谢您的回答,但是在执行您给定的命令后,我得到了数据帧,但是第一个属性获取了所有22个csv文件值,其余的都是NAs。请帮助我,你能编一个输入文件的小示例集,并展示你想要的输出是什么样子的吗。
df <- do.call(rbind, lapply(list.files(pattern = "*.csv"), read.csv))