【问题标题】:See all graph outputs from loop查看循环的所有图形输出
【发布时间】:2015-12-02 17:55:55
【问题描述】:

我在一个数据框(即数据)中有 20 个变量,我希望从中获得直方图、箱线图和其他一些图表(为清楚起见,我提供了一个箱线图示例)。我想按变量“组”对这些结果进行排序。我尝试用循环解决这个问题,以便将每个变量(列)转换为图形。 (我知道 Stackoverflow 程序员不喜欢循环,我欢迎所有其他解决方案)。在 y 轴上,我想打印 20 个变量中每一个的名称。

for (i in 1:20)  { 
    graph <- ggplot(data, aes(Group,data[,i])) 
    print(graph + geom_boxplot() + labs(x = "Group", y = VariableName[i]) + 
    theme_classic())
}

输出只产生最后一个图表,这似乎是合乎逻辑的,因为循环会覆盖输出。输出是否保存在单独的文件中或是否可以在单独的窗口中查看对我来说并不重要,只要我可以观察每个变量的输出即可。

【问题讨论】:

  • 你看过ggsave吗? ggsave(filename=paste(i,".jpg", sep=""), plot=graph) 之类的东西?

标签: r ggplot2


【解决方案1】:

请改用lapply 创建绘图列表。没有可重复的例子,但这样的事情应该可以工作:

graphs <- lapply(1:20, function(i) {
  ggplot(data, aes(Group, data[,i])) + geom_boxplot() + 
    labs(x = "Group", y = VariableName[i]) + 
    theme_classic())
}

您可以使用graphs[[index]] 访问每个图表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2010-10-07
    相关资源
    最近更新 更多