我正在简化我的脚本,并想使用一些for循环。现在我正在独立阅读以下五个。tsv文件。我想写一个循环,读取每一个,并分配它的一个变量名按顺序从2008年开始,并在2012年结束。这些文件保存在一个文件夹中,该文件夹中包含对此步骤不重要的其他文件。什么好主意吗?谢谢你。
t2008 <- read.table(file = './T2008.tsv', sep = 't', header = TRUE)
t2009 <- read.table(file = './T2010.tsv', sep = 't', header = TRUE)
t2011 <- read.table(file = './T2009.tsv', sep = 't', header = TRUE)
t2010 <- read.table(file = './T2011.tsv', sep = 't', header = TRUE)
t2012 <- read.table(file = './T2012.tsv', sep = 't', header = TRUE)
函数assign
在这里是我们的朋友:
years <- 2008:2012
variable_names <- paste0("T", years)
for(i in variable_names){
filename <- paste0('./', i, ".tsv")
dat <- read.table(file = filename, sep = 't', header = TRUE)
assign(i, dat)
}
如果不访问你的文件,我就不能测试这段代码,下面是我测试它的方法:
years <- 2008:2012
variable_names <- paste0("T", years)
for(i in variable_names){
filename <- paste0('./', i, ".tsv")
dat <- filename
assign(i, dat)
}
在我的全局环境T2008到T2012中产生五个新对象,期望值为:"/T2008.tsv", "/T2009.tsv"等。