いくつかの txt ファイルがあり、それらの名前は 1.txt、2.txt、3.txt、… 100.txt です。
これらのファイルを R 言語でループで読み取りたい。私のコードは次のとおりです。
For(I in 1:100){
Datai<-read.table(“H://”+’i’+”.txt”)
}
しかし、実行すると次のエラーが発生します。
二項演算子への非数値引数
どうすればこの問題を解決できますか?
For(I in 1:100){
Datai<-read.table(paste(paste("H://",i,".txt",sep="")))
}
私の知る限り、Rには文字列連結演算子はありません。
これがどのように構築するかという質問です。
ループでは、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 = "")))