【问题标题】:For loop to create multiple plot sets with minor alterationsFor 循环创建多个带有微小改动的绘图集
【发布时间】:2017-03-01 15:45:02
【问题描述】:

我的主要数据源中有七个非常相似的数据子集,从 data1 拆分到 data5。如何创建一个 for 循环,以便同时创建所有绘图,而不是复制和粘贴下面的代码并稍作改动。

par(mfrow=c(2,2))
hist(data1$value1, main=paste("Data 1 - Value 1 Histogram"), xlab="Value 1", col="lightblue", ylim=c(0,10), xlim=c(200,1000))
boxplot(data1$value1, varwidth = T, main=paste("Data 1 - Value 1 Box Plot"), xlab="Value 1", col="lightblue", horizontal=T, frame=F, ylim=c(200,1000))
hist(data1$value 2, main=paste("Data 1 - Value 2 Histogram"), xlab="Value 2", col="palegreen", ylim=c(0,10), xlim=c(30,50))
boxplot(data1$value 2, varwidth = T, main=paste("Data 1 - Value 2 Box Plot"), xlab="Value 2", col="palegreen", horizontal=T, frame=F, ylim=c(30,50))

注意:我需要从 1:5 更改的唯一值是

hist(data[n]$value1/value2, main=paste("Data [n] - Value 1/Value 2 histogram/box plot")

以及适合规模的 ylim 和 xlim 值。我可能会选择在整个过程中使用相同的比例,尽管有些图不清楚,或者我可以使用我假设的默认值。

【问题讨论】:

    标签: r loops histogram boxplot


    【解决方案1】:

    将五个数据集保存在 list 中,因为这样可以轻松遍历。您还需要添加代码以根据需要捕获绘图。

    for (i in seq_along(lst)) {
      par(mfrow=c(2,2))
      with(lst[[i]], {
        hist(value1, main=sprintf("Data %i - Value 1 Histogram", i), xlab="Value 1", col="lightblue", ylim=c(0,10), xlim=c(min(value1), max(value1)))
        boxplot(value1, varwidth = TRUE, main=sprintf("Data %i - Value 1 Box Plot", i), xlab="Value 1", col="lightblue", horizontal=TRUE, frame=FALSE, ylim=c(min(value1), max(value1)))
        hist(value2, main=sprintf("Data %i - Value 2 Histogram", i), xlab="Value 2", col="palegreen", ylim=c(0,10), xlim=c(min(value2), max(value2)))
        boxplot(value2, varwidth = TRUE, main=sprintf("Data %i - Value 2 Box Plot", i), xlab="Value 2", col="palegreen", horizontal=TRUE, frame=FALSE, ylim=c(min(value2), max(value2)))
      })
      # add code to capture plots as desired
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 2018-01-14
      • 2021-01-10
      • 2020-10-20
      • 2021-10-20
      • 1970-01-01
      • 2019-12-09
      相关资源
      最近更新 更多