【问题标题】:Export many plots from a matrix from R to excel将矩阵中的许多图从 R 导出到 excel
【发布时间】:2015-07-02 19:05:27
【问题描述】:

我有一个矩阵名称为 df,有 2 列。

         AVELOX5  AVELOX7
Jan 2009  1.00000  6.00000
Feb 2009  2.00000  4.00000
Mar 2009  5.00000  3.00000
Apr 2009 34.00000  1.00000
May 2009  7.00000  2.00000
Jun 2009  6.00000 34.00000
Jul 2009  8.00000 34.00000
Aug 2009  8.00000 53.00000
Sep 2009  9.00000  6.00000
Oct 2009  4.00000  7.00000
Nov 2009 23.00000  9.00000
Dec 2009 12.42851 10.33471
Jan 2010 12.78912 10.80950
Feb 2010 13.14972 11.28429
Mar 2010 13.51032 11.75908
Apr 2010 13.87092 12.23387
May 2010 14.23152 12.70866
Jun 2010 14.59212 13.18345
Jul 2010 14.95273 13.65824
Aug 2010 15.31333 14.13303
Sep 2010 15.67393 14.60781
Oct 2010 16.03453 15.08260
Nov 2010 16.39513 15.55739

我想将每一列中的图表导出到 Excel 中。 我不知道我是否需要一个循环..我不知道代码是什么。 使用代码plot(df[,1]) 我有AVELOX5 的情节,使用代码plot(df[,2]) 我有第二个情节。

我想用一个代码(可能是一个循环)将每一列从 R 导出到 excel。考虑到我想要循环,因为我想在一个有 80 列的矩阵中做同样的事情。所以它需要我是时候发短信plot(df[,1])...plot(df[,80])了。

我的问题的第二部分是:我如何在 excel 中从 R 导出“n”图。

【问题讨论】:

  • This post might be relevant。我认为步骤是,循环制作图像文件 - jpegs,然后使用一些可以导入图像的 Excel R 包。
  • 避免使用循环!使用 lapply 跨 df 列做某事

标签: r excel loops matrix export-to-excel


【解决方案1】:

可以一分为二。

步骤 1 将绘图保存到本地驱动器中。可以按如下方式完成。

lapply(1:ncol(df), function(x) {
  png(paste(x, ".png", sep = ""))
  plot(df[,x])
  dev.off()
})
# or
for(x in 1:ncol(df)) {
  png(paste(x, ".png", sep = ""))
  plot(df[,x])
  dev.off()  
}

步骤 2 导出到 Excel

实际上我不确定在 R 中是否有办法这样做。您必须使用 VBA,因为它允许插入照片 (LINK)。

【讨论】:

    【解决方案2】:

    下面的循环应该会自动创建所需的每个绘图并将其保存到 .jpg 文件中。据我所知,没有办法将绘图导出到 Excel 文档。如果需要,您可以保存为不同的格式,有关该here的更多详细信息

    for (i in 1:80) {
    jpeg('i.jpg')
    plot(df[,i])
    dev.off()
    }
    

    【讨论】:

    • 这不是答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多