a1.txt and b1.txt
、、a2.txt and b2.txt
....のようなファイルのペアに対して次のコードを実行していますa999.txt and b999.txt
。
dostuff <- function(x)
{
files <- list.files(pattern=paste('.', x, '\\.txt', sep=''))
a <- read.table(files[1],header=FALSE) #file a1.txt
G <- a$V1-a$V2
b <- read.table(files[2],header=FALSE) #file b1.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:999,dostuff)
Error in tapply(b$V3, b$V2, FUN = length) : arguments must have same length
これは、ペアの両方のファイルにヘッダーがないため、a
hasV1 V2
とb
has V1 V2 V3
. ただし、このようなファイルの小さなバッチに対してこれを実行すると、このエラーは発生しません0:3
。これらの結果は、すべての分析を個別に行った場合と同じになり、コード全体の実行間で環境を手動でクリアします。
ファイルがa1 b1
toa10 b10
以上から実行されると問題が発生すると思います。私が考えるループは、どのファイルを選択するかについて混乱するからです。a0 b0
toで実行している限り、この問題はなくなりa9 b9
ます。
最善の解決策は?