【发布时间】:2019-07-16 16:59:27
【问题描述】:
我有以下例子:
df <- mtcars
plot <- df %>%
mutate(carb=as.character(carb)) %>%
group_by(carb) %>%
nest() %>%
mutate(plot=map(data, function(.x){ .x %>%
ggplot() +
geom_bar(aes(mpg))
}))
print(plot)
# A tibble: 6 x 3
carb data plot
<chr> <list> <list>
1 4 <tibble [10 x 10]> <S3: gg>
2 1 <tibble [7 x 10]> <S3: gg>
3 2 <tibble [10 x 10]> <S3: gg>
4 3 <tibble [3 x 10]> <S3: gg>
5 6 <tibble [1 x 10]> <S3: gg>
6 8 <tibble [1 x 10]> <S3: gg>
for (i in 1:4){
print(plots$plot[[i]])
}
问题: 1) 如何避免 for 循环并使用 map 函数打印绘图? 2)如何为地块添加标题。
【问题讨论】:
-
你在哪里创建了
n?在当前设置中,它将是imap和ggtitlepass.y -
除非您需要在数据框中有一列
ggplot对象,否则按 carb 拆分数据可能更直接,然后映射该数据框列表以绘制图表。比如这里:stackoverflow.com/q/45107404/5325862 -
不太确定您要绘制的内容。
-
@akrun,卡米尔。这是一个复制粘贴错误。我自己的数据集有一个计数,我计算了 n。当我在电脑前时,我会删除问题并更新它。对不起!
-
如果您编辑问题。我想绘制按碳水化合物分组的东西。并在一个标题。就像我说的 n 只是一个数字变量。