【发布时间】:2019-12-23 04:15:56
【问题描述】:
p[[2]]<-ggplot(data = icadata, aes(x = icadata[[2]])) + geom_histogram()
p[[3]]<-ggplot(data = icadata, aes(x = icadata[[3]])) + geom_histogram()
p[[4]]<-ggplot(data = icadata, aes(x = icadata[[4]])) + geom_histogram()
p[[5]]<-ggplot(data = icadata, aes(x = icadata[[5]])) + geom_histogram()
p[[6]]<-ggplot(data = icadata, aes(x = icadata[[6]])) + geom_histogram()
p[[7]]<-ggplot(data = icadata, aes(x = icadata[[7]])) + geom_histogram()
p[[8]]<-ggplot(data = icadata, aes(x = icadata[[8]])) + geom_histogram()
p[[9]]<-ggplot(data = icadata, aes(x = icadata[[9]])) + geom_histogram()
p[[10]]<-ggplot(data = icadata, aes(x = icadata[[10]])) + geom_histogram()
p[[11]]<-ggplot(data = icadata, aes(x = icadata[[11]])) + geom_histogram()
p[[12]]<-ggplot(data = icadata, aes(x = icadata[[12]])) + geom_histogram()
p[[13]]<-ggplot(data = icadata, aes(x = icadata[[13]])) + geom_histogram()
p[[16]]<-ggplot(data = icadata, aes(x = icadata[[16]])) + geom_histogram()
p <- list()
for(i in c(2:13,16) ) {
p[[i]]<-ggplot(data = icadata, aes(x = icadata[[i]])) + geom_histogram()
}
上面的代码有什么区别?
为什么我在运行 for 循环代码后总是得到相同的图片?
【问题讨论】:
-
欢迎来到 SO!志立,如果没有上下文,这没有什么意义,请注意,没有人知道你对
icadata做了什么。请让这个问题可重现。这包括示例代码(包括列出非基础 R 包)、示例明确数据(例如,dput(head(x))或data.frame(x=...,y=...))和预期输出。参考:stackoverflow.com/questions/5963269、stackoverflow.com/help/mcve 和 stackoverflow.com/tags/r/info。 -
每次调用
ggplot,它都会覆盖以前的绘图并在新的画布上绘制新绘图,然后显示最后绘制的绘图。这就是为什么每次运行代码时只得到最后一个图的原因,因为循环每次迭代都会生成一个新图。你想达到什么目的? -
我想在我的 icadata 中获取所有数值变量的直方图。逐个绘制很不方便,所以我尝试使用这个 for 循环来绘制它们并将它们保存在一个列表中。你知道如何改正吗?谢谢。
-
你想把所有的直方图放到一个图中吗?那将是不可读的。改用构面会更有帮助。
-
不在一个情节中,我想用一个列表来保存它们。