R:如何附加具有不同列号的不同文本文件?

时间:2016-02-24 07:06:50

标签: r weather

我有一系列由MetOffice提供的数据集。数据描绘了英国每日降雨数据,我有2008年 - 2015年的数据。这是有9个文本文件。我希望他们在彼此之下追加一个来创建一个大型数据集。那就是我想把2008年到2009年的数据追加到2010年,直到2016年。

我将数据集导入R环境并希望使用Base R连接所有数据集,任何人都可以帮助我吗?

直到现在我已经创建了一个代码来读取这样的数据:

setwd("C:/Useful Data/UK Daily Rainfall Data")
temp = list.files(pattern="*.txt")
for (i in 1:length(temp))
  assign(temp[i], read.table(temp[i],header = FALSE,sep=",",fill=TRUE))

此代码已导入所有数据集及其原始名称。这可以在下图中描述:

enter image description here

这里的主要挑战还在于所有数据集都有不同数量的变量。

编辑:尝试@akrun解决方案后出错:

enter image description here

1 个答案:

答案 0 :(得分:1)

我们可以使用来自rbindlist的{​​{1}},如果每个数据集中的列数不同,也会使用library(data.table)参数

fill

数据

library(data.table)
rbindlist(lapply(temp, fread), use.names=TRUE, fill=TRUE, idcol=TRUE)
#   .id V1 V2 V3
#1:   1  1  2 NA
#2:   1  2  3 NA
#3:   1  3  4 NA
#4:   2  1 NA  6
#5:   2  2 NA  7
#6:   2  3 NA  8
#7:   2  4 NA  9
#8:   2  5 NA 10