ega0.txtとb0.txtの実行ごとに2つのファイルを取得するループを作成しています。私はこれをa0.txtとb0.txtからa999.txtとb999.txtまで実行する100を超えるファイルで実行しています。私が使用するパターン関数は、ディレクトリ内のファイルペア0〜9のみを使用して、ファイルa0およびb0からa9およびb9を実行する場合に完全に機能します。しかし、ディレクトリにさらにファイルを配置して0:10から実行すると、ループが失敗し、ファイル内のベクトルが混乱します。これは私が使っているパターンのせいだと思います。
list.files(pattern=paste('.', x, '\\.txt', sep=''))
これは、'.',x,//txt.
したがって、'.'=a
ファイルx=1
が見つかった場合a1
。a0
しかし、私がより多くのファイルを実行するときとの間で混乱するだろうと思いa10
ます。a999
しかし、とまでのファイルも検索するファイルを検索する適切なループを見つけることができないようですb999
。
誰かがこれを行うためのより良い方法を手伝うことができますか?以下のコード。
dostuff <- function(x)
{
files <- list.files(pattern=paste('.', x, '\\.txt', sep=''))
a <- read.table(files[1],header=FALSE) #file a0.txt
G <- a$V1-a$V2
b <- read.table(files[2],header=FALSE) #file b0.txt
as.factor(b$V2)
q <- tapply(b$V3,b$V2,Fun=length)
H <- b$V1-b$V2
model <- lm(G~H)
return(model$coefficients[2],q)
}
results <- sapply(0:10,dostuff)
Error in tapply(b$V3, b$V2, FUN = length) : arguments must have same length