【问题标题】:R statistical ProgramingR统计编程
【发布时间】:2016-07-08 06:17:46
【问题描述】:

我正在尝试为直方图编写 R 代码,并使用以下命令保存每个直方图单独的文件。 我有一个数据集“虚拟”,我想通过列名绘制每个直方图,总共会有 100 个直方图...... 我有以下绘制每个直方图的 R 代码...

library(ggplot2)
i<-1
for(i in 1:100)
{
  jpeg(file="d:/R Data/hist.jpeg", sep=",")
  hist(Dummy$colnames<-1, ylab= "Score",ylim=c(0,3),col=c("blue"));
  dev.off()
  i++
    if(i>100)
      break()
}

【问题讨论】:

  • 看起来你来自另一种编程语言,所以这里有一些你不需要的东西,而缺少一些你需要的东西。特别是,每个情节有何不同?看起来您每次都调用相同的数据?
  • Dummy$colnames&lt;-1 在您的循环中没有意义。您是否尝试分配一个新对象?

标签: r for-loop plot


【解决方案1】:

首先,让我们通过删除尝试更改 i 的行来将您的 for 循环更好地转换为 R,您的 for 循环将为您完成。

我们还将包含一个 file= 值,该值会随着每次循环运行而变化。

for(i in 1:100)
{
  jpeg(file = paste0("d:/R Data/hist", i, ".jpeg"))
  hist(Dummy[[i]], ylab = "Score", ylim = c(0, 3), col = "blue")
  dev.off()
}

现在我们只需要决定你想要绘制什么。每个情节会不同吗?每个绘图将如何提取所需的数据?

编辑:我对你想要做的事情进行了尝试。您是否尝试从 Dummy 数据集中获取 100 列中的每一列?如果是这样,Dummy[[i]] 应该可以实现(如果 Dummy 是一个矩阵,Dummy[,i])。

【讨论】:

  • 如果要更改为绘图选择的列,不应该是Dummy[ , i]吗?
  • @lok​​i,由于 data.frames 是秘密列表,列表索引将选择某些列。
  • 顺便说一句,不需要ggplot2
  • @rosscova, Dummy[[i]] 确实适用于 data.frames。例如。 mtcars[[1]]。但它在矩阵上失败(它选择单个值,按列)。
  • @Axeman 你让我想到了这个,我已经提出了a separate question on the topic
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
相关资源
最近更新 更多