【问题标题】:Repeat the same operation with different datasets对不同的数据集重复相同的操作
【发布时间】:2019-01-03 09:17:30
【问题描述】:

我需要在许多数据集(如df.p2df.p3)上运行代码来获取图表。以下是我拥有的数据格式。

< df.p1
  Date    Sales
Jan 2011  1000
Feb 2011  1120
Mar 2011  1050
.
.
.

像这样我有一个数据框列表,现在我想循环运行以下代码。

ggplot(df.p1, aes(Date,Sales))+
      geom_line()+
     xlab("Month") + ylab("Sales") + 
     ggtitle("Sales-Product1")

【问题讨论】:

  • lapply(list.of.dfs, function(x){ggplot(x, ......)})
  • 因为看起来您需要为每个数据集使用不同的标题,您可能需要考虑在同一个 tibble 数据集中嵌套列表列和标题列(如果使用 tidyverse 和 @987654327 @ 在其中)然后您可以在包含 ggplot2 命令的函数上运行 walk2,将标题和数据对象作为参数传递给 this。
  • @LAP 谢谢它运作良好!

标签: r loops apply


【解决方案1】:

数据:

dates <- as.Date(as.Date("2011-12-30"):as.Date("2012-05-04"), origin="1970-01-01")
Date<-c()
Sales<-c()
    for (i in 1:10) {
    assign(paste0("df.p",i),cbind.data.frame(Date=sample(dates,5),Sales=rnorm(5,1000,100)    )) }

功能:

lapply(paste0("df.p",1:10), function(x){ggplot(data=eval(parse(text = x)) ,aes(Date,Sales))+geom_line()+xlab("Month")+ylab("Sales")+ggtitle(paste0("Sales-Product for dataset ",x))})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多