1000 ウィンドウ内に収まるエントリをカウントしようとしています。問題は、実行する必要がある操作の数が非常に多くなる for ループを使用していることです (私は R にかなり慣れていません)。境界エラー。これを行うにはもっと良い方法があるはずです。
ファイル (ファイルは 100 MB を少し超えていることに注意してください): bamDF.txt
使用する:
dget(file="bamDF.txt")
脚本:
attach(bamDF)
out <- matrix(0,1,ceiling((max(pos, na.rm=TRUE)-min(pos, na.rm=TRUE))/interval))
interval <- 1000
for(q in 1:nrow(bamDF)){
for(z in 1:ceiling((max(pos, na.rm=TRUE)-min(pos, na.rm=TRUE))/interval)){
if(min(pos, na.rm=TRUE)+interval*(z-1)<pos[q]&&pos[q]<(min(pos, na.rm=TRUE)+interval*(z))){
out[z,] <- out[z,]+1;
}
}
}
detach(bamDF)