0
我有一個代碼來繪製數據框中的一些數據。 當我運行沒有循環的代碼時,它可以工作,但是當我使用代碼執行代碼時,然後執行plots[[1]]
plots[[2]]
所有的圖都是相同的,但實驗室是不同的。ggplot2覆蓋保存在列表中的情節
我在做什麼錯了?由於
#-- Plots
plots <- list()
combinations <- combn(dim(ssgsea.diff)[2],2)
for (i in 1:dim(combinations)[2]){
fit <- lm(ssgsea.diff[,combinations[1,i]] ~ ssgsea.diff[,combinations[2,i]],
data = ssgsea.diff)
plot1 <- ggplot(ssgsea.diff) +
aes(ssgsea.diff[,combinations[1,i]], ssgsea.diff[,combinations[2,i]]) +
geom_point()
plot1 <- plot1 +
labs(x = names(ssgsea.diff)[combinations[1,i]],
y = names(ssgsea.diff)[combinations[2,i]]) +
geom_smooth(method="lm", col = "red") +
labs(title = paste("Adj R2 = ", signif(summary(fit)$adj.r.squared, 5),
" Slope =",signif(fit$coef[[2]], 5),
" Pval =",signif(summary(fit)$coef[2,4], 5)))
plots[[i]] <- plot1
}
你可以在'dput()'表單中提供這裏使用的數據集嗎?或者,使用'datasets'包中的一個常用數據集來重現此問題。 –
我無法提供數據集。但基本上,代碼中有一些東西,所有保存在'plot'列表中的圖都看起來像是最後創建的圖。即使代碼在循環外運行,也會發生這種情況。 – biorunner88