我正在导入大约140个大型数据集。我正在尝试构建一个导入这些数据集的函数,并使用QQYYYY(四分之一年)标识符重命名它们。我到目前为止的(简化)代码如下:
orig.first <- 'hist.dta_'
file.type <- '.txt'
clean.data <- function(qqyyyy) {
data.file <- paste(orig.first,qqyyyy,file.type,sep="")
origfile_ <<- read.table(data.file, sep="|", header=FALSE,
colClasses=origclass, quote="")
}
目前,这会全局导入数据集“hist.dta_Q11999.txt”,但是,它将使用名称“origfile_”导入它。我想将Q11999(代表1999年第一季度)连接到origfile_,因此它变为“origfile_Q11999”。有人能告诉我一个干净的方法来实现这一目标吗?
答案 0 :(得分:0)
正如其他人已经建议的那样,这里是一个如何将所有数据帧连接到一个数据帧的解决方案:
quarters <- c("Q11999") # append here other quarters or generate somehow
origData <- lapply(quarters, function(qqyyyy) {
data.file <- paste(orig.first,qqyyyy,file.type,sep="")
origfile <<- read.table(data.file, sep="|", header=FALSE, colClasses=origclass, quote="")
origfile$quarter <- qqyyyy
return(origfile)
})
origData <- do.call(rbind, origData)