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 に答える