1

我有几个txt文件,它们的名字分别是1.txt、2.txt、3.txt和……100.txt

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

For(I in 1:100){

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

}

但是当我运行我得到这个错误:

二元运算符的非数字参数

我怎么解决这个问题?

4

2 回答 2

2
For(I in 1:100){

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

}

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

是一个如何构建的问题。

于 2013-02-13T10:11:14.163 回答
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 = "")))
于 2013-02-13T10:27:16.247 回答