我对使用R进行编程非常陌生,但我正在尝试读取目录中的多个文件并为它们命名。我正在使用R中的树轮学程序库(dpIR包)和read.tucson
函数来读取文件。虽然我正在使用特定的软件包,但我认为我的问题是相当普遍的:
在循环内部,我想通过将"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
时,其行为与在顶层使用它的行为不同,您迟早需要使用env = .GlobalEnv
。 - user1666959lapply
将所有文件读入一个列表中,而不是在环境中堆积多个对象(进行全局赋值甚至更糟)。 - flodel