在ggplot之后在管道中使用dplyr函数
在管道中使用ggplot后,是否可以进行在ggplot之后在管道中使用dplyr函数,r,dataframe,ggplot2,dplyr,R,Dataframe,Ggplot2,Dplyr,在管道中使用ggplot后,是否可以进行总结?这个变量不是很重要,我只是出于探索的目的来看待这个变化。因此,我真的不想保存变量 df %>% mutate(change = t2 - t1) %>% ggplot(aes(x = change)) + geom_histogram() %>% summarise(mean_change = mean(change)) Error in UseMethod("su
总结
?这个变量不是很重要,我只是出于探索的目的来看待这个变化。因此,我真的不想保存变量
df %>%
mutate(change = t2 - t1) %>%
ggplot(aes(x = change)) +
geom_histogram() %>%
summarise(mean_change = mean(change))
Error in UseMethod("summarise_") : no applicable method for 'summarise_' applied to
an object of class "c('LayerInstance', 'Layer', 'ggproto')"
有可能在同一管道中呈现ggplot输出并进行总结吗?(显示平均值)?我不知道这是否正是您想要的,但您的问题让我想起了magittr中的t管道(dplyr和tidyverse的一部分),我在这里的在线“R for Data Science”一书中找到了它: 使用此T形管,您可以ggplot并继续汇总,因为T形管返回的不是ggplot对象,而是传递给ggplot的对象。使用此选项可以:
# devtools::install_github("moodymudskipper/ggfun")
library(tidyverse)
library(ggfun)
iris %>%
mutate(x = Sepal.Length * Sepal.Width) %>%
ggplot(aes(x)) +
geom_density() -
as_mapper(~{print(summarise(.,mean_x = mean(x)));.})
-
运算符用于在数据上应用函数并仍然返回ggplot对象,因此我们将其应用于打印,但仍然返回原始数据以获得绘图。如果您查看geom_直方图后的str
,它将是ggplot对象,而不是df
@akrun中的原始对象,谢谢。我意识到了这一点。但是,是否可以在同一管道中呈现ggplot输出并进行总结?@Roland函数hist
抛出了一个错误:'x'必须是数字
,因此我放弃了hist
。。。但这个情节是可行的fine@Roland我编辑了我的问题,添加了“是否可以在同一管道中呈现ggplot输出并进行总结(显示平均值)?谢谢。