12
我对使用R进行编程非常新,但我正尝试在多个文件中读取某个目录,并为它们分别指定一个唯一的名称。我正在使用R中的树木年代学程序库(包dpIR)和read.tucson
函数读取文件。虽然我使用的是特定的包,但我认为我的问题相当一般:如何重新命名for循环中的数据帧
在循环中,我想通过连接"t"
与每个单独的文件名创建文件。所以,如果我的目录中有一个名为"2503"
的文件,我想在R中创建一个数据帧"t2503"
。接下来,我想读取使用r.tucson
函数到每个数据帧的数据。而不是将读入数据分配给数据框,我只是用数据覆盖连接。有人能帮我弄清楚我失踪的步骤吗?
这里是我尝试使用代码:
#set to appropriate directory
setwd("C:/work")
#get a list of files in the directory
files <- list.files()
numfiles <- length(files)
for (i in 1:numfiles)
{
name<-paste("t",files[i],sep="")
name<-read.tucson(files[i],header=NULL)
}
谢谢你的帮助!我尝试使用“assign”,正如你在这里概述的那样,它完全符合我的需要。谢谢! – user1913921
警告:当你在一个函数中使用'assign'时,它的行为与在顶层使用它有所不同,你迟早需要'env = .GlobalEnv'。 – user1666959
这是一个很好的建议。如果OP想要更多的信息,他可以看看[这里](http://stackoverflow.com/questions/9801208/assign-a-function-in-a-loop)。 –