R中的绘制和循环

时间:2018-10-22 05:57:14

标签: r loops plot

您如何编写一个循环,以在单独的绘图上为每个模型绘制mpg vs cyl和mpg vsvs。谢谢。 PS:这只是一个示例数据集,我有100多个模型,因此,肯定需要一个循环。

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

不确定正是您想要实现的目标。是这样的吗?

data("mtcars")

library(tidyverse)

plots <- mtcars %>%
  rownames_to_column("model") %>%
  mutate(model = str_extract(model, "^[A-Za-z]+"))  %>%
  gather(key = "feature", value = "value", wt, vs) %>%
  group_by(model) %>%
  do(
    plots = ggplot(., aes(x = mpg, y = value)) +
      geom_point() +
      facet_wrap(~feature, scales = "free_y") +
      ggthemes::theme_few() +
      ggtitle(sprintf("Model: %s", .$model))
  ) %>%
  as.list()

plots <- set_names(plots[["plots"]], plots[["model"]])

plots[["Merc"]]

enter image description here