重命名R函数内的导入数据集

时间:2017-01-23 04:05:35

标签: r function import

我正在导入大约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”。有人能告诉我一个干净的方法来实现这一目标吗?

1 个答案:

答案 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)