R语言循环,地址变量

时间:2013-02-13 10:07:07

标签: r for-loop

我有几个txt文件,它们的名称是1.txt,2.txt,3.txt和... 100.txt

我想在循环中用R语言阅读这些文件。我的代码是:

For(I in 1:100){

    Datai<-read.table(“H://”+’i’+”.txt”)

}

但是当我跑步时,我得到了这个错误:

  

二元运算符的非数字参数

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

For(I in 1:100){

Datai<-read.table(paste(paste("H://",i,".txt",sep="")))

}

据我所知,R中没有字符串连接运算符。

Here是一个如何构建一个的问题。

答案 1 :(得分:1)

在循环中,对象Datai将被每次运行中的新对象替换。您应该将read.table返回的数据帧存储在列表中。

Data <- vector("list", length = 100) # initialize the list
For(I in 1:100){    
    Data[[I]] <- read.table(paste("H://", I, ".txt", sep = ""))    
}

使用lapply

可以实现同样的目标
Data <- lapply(1:100, function(I) read.table(paste("H://", I, ".txt", sep = "")))