-1
假設您有兩個數據框具有相同的列名稱,但具有不同的值。您現在想要在兩個數據框的相應列中的不同值上繪製散點圖。使用for循環的R中的多個繪圖中的錯誤
for (i in 1:length(a) {
pdf("test.pdf")
par(mfrow = c(5,3))
plot(WAT_cpm[, colnames(a)[i]], a[, colnames(a)[i]])
dev.off()
}
這是行不通的,你只能得到13塊地塊中的一塊。
這樣做是手動工作,如果你在每個圖形之間等待幾秒鐘。
par(mfrow = c(5,3))
plot(WAT_cpm[, colnames(a)[1]], a[, colnames(a)[1]])
plot(WAT_cpm[, colnames(a)[2]], a[, colnames(a)[1]])
plot(WAT_cpm[, colnames(a)[2]], a[, colnames(a)[3]])
plot(WAT_cpm[, colnames(a)[3]], a[, colnames(a)[3]])
plot(WAT_cpm[, colnames(a)[2]], a[, colnames(a)[2]])
plot(WAT_cpm[, colnames(a)[4]], a[, colnames(a)[4]])
plot(WAT_cpm[, colnames(a)[5]], a[, colnames(a)[5]])
plot(WAT_cpm[, colnames(a)[6]], a[, colnames(a)[6]])
plot(WAT_cpm[, colnames(a)[7]], a[, colnames(a)[7]])
plot(WAT_cpm[, colnames(a)[8]], a[, colnames(a)[8]])
plot(WAT_cpm[, colnames(a)[9]], a[, colnames(a)[9]])
plot(WAT_cpm[, colnames(a)[10]], a[, colnames(a)[10]])
plot(WAT_cpm[, colnames(a)[11]], a[, colnames(a)[11]])
plot(WAT_cpm[, colnames(a)[12]], a[, colnames(a)[12]])
plot(WAT_cpm[, colnames(a)[13]], a[, colnames(a)[13]])
爲什麼地球上會發生這種情況?
你不能一次全部運行,你必須等待幾秒鐘,這是爲什麼for循環不起作用?
您的循環覆蓋相同的PDF 13次。使用'paste'或者其他方式將'i'放在文件名中,以獲得13個不同名稱的文件。 –
謝謝大家! Misstanke在長度(a)的論點。而且,如果我將par()放在循環外面,它也可以工作。對於(i in 1:length(colnames(a))){(WAT_cpm [,colnames(a)[i]],a [,colnames(a))的par(mfrow = c(5,3)) [i]]) } – user3236594