在r中循环读取多个.tsv文件

  • 本文关键字:tsv 文件 读取 循环 r
  • 更新时间 :
  • 英文 :


我正在简化我的脚本,并想使用一些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"等。

最新更新