我有一系列由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))
此代码已导入所有数据集及其原始名称。这可以在下图中描述:
这里的主要挑战还在于所有数据集都有不同数量的变量。
编辑:尝试@akrun解决方案后出错:
答案 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