【发布时间】:2018-02-14 17:17:15
【问题描述】:
我有一个代码可以从数据框中绘制一些数据。
当我在没有循环的情况下运行代码时,它可以工作,但是当我使用代码然后执行 plots[[1]] plots[[2]] 时,所有图都是相同的,但实验室不同。
我做错了什么?谢谢
#-- 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包的常见数据集之一使此问题可重现。 -
我无法提供数据集。但基本上,代码中有一些东西,保存在列表
plots中的所有图看起来就像最后创建的图。即使代码在循环外工作,也会发生这种情况。