我的循环仅适用于最后一个文件R.

时间:2014-04-16 15:43:57

标签: r loops

只有文本列表中的最后一个文件才会生成pdf。 不确定为什么?

files <- (Sys.glob("/users/local/Documents/*segmentCN.txt"))

for (i in length(files)) {

    y <- read.table(files[i], header=TRUE)

    cn1m0 <- subset(y, subset=(mCn == 0 & Cn == 1), select = c("log2", "imba"))

    pdf(file = paste(files[i], ".pdf", sep=""))
    plot(cn1m0$log2, cn1m0$imba, col=128, xlim=c(-1, 1), ylim=c(0,1))
    points(mean(cn1m0$log2), mean(cn1m0$imba), pch = 3, col="red")

    dev.off()
}

1 个答案:

答案 0 :(得分:4)

问题是length(files)会输出列表的长度,因此您只会获取最后一个文件。

尝试

for (i in 1:length(files))

或者更安全:

for (i in seq(along = files))