【问题标题】:generating plots inside a loop, using the pipe使用管道在循环内生成图
【发布时间】:2021-10-28 22:11:15
【问题描述】:

我想在循环中生成图。我需要像这样将数据参数传递给ggplot:

data <- data.frame(a = c(1,2,3), b = c(5,8,9))

data %>% ggplot(aes(x=a, y=b)) +
    geom_point()

当从循环内部生成绘图时,我们需要将 ggplot 传递给print(),但这在数据参数中管道时似乎效果不佳:

# This works
for(i in 1:2){
  (ggplot(data, aes(x=a, y=b)) +
    geom_point()) %>%
    print()
}

# This does not
for(i in 1:2){
  data %>%
  (ggplot(aes(x=a, y=b)) +
     geom_point()) %>%
    print()
}

有没有办法让管道与 ggplot 调用周围的括号配合得很好?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    尝试在括号中包含data

    for(i in 1:2){
      (data %>%
      ggplot(aes(x=a, y=b)) +
         geom_point()) %>%
        print()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-09
      • 2021-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 2021-07-01
      • 2021-12-18
      相关资源
      最近更新 更多