作者:李誉辉
四川大学在读研究生
往期连载: R_ggplot2基础(一)5 stat_xxx()
统计变换
相比几何对象,增加了:
统计变换函数 | 描述 | 其它 |
---|---|---|
stat_bin |
直方图 | 分割数据,然后绘制直方图 |
stat_function |
函数曲线 | 增加函数曲线图 |
stat_qq |
Q-Q图 | |
stat_smooth |
平滑曲线 | |
stat_ellipse |
椭圆 | 常用于椭圆形置信区间,带状置信区间用geom_ribbon |
stat_spoke |
绘制有方向的数据点 | |
stat_sum |
绘制不重复的取值之和 | |
stat_summary |
分组汇总 | 可以求每组的均值,中位数等 |
stat_unique |
绘制不同的数据,去掉重复值 | |
stat_ecdf |
经验累计密度图 | |
stat_xsline |
样条曲线拟合 | 见基础运算_3 |
查询其它的统计变换函数:
ggplot2 parts of the tidyverse
使用ls(pattern = '^stat_', env = as.environment('package:ggplot2'))
library(ggplot2)
ls(pattern = "^stat_", env = as.environment("package:ggplot2"))
重要例子:
5.1 stat_summary
要求数据源的y能够被分组,每组不止一个元素, 或增加一个分组映射,即aes(x= , y = , group = )
stat_summary (mapping = NULL, data = NULL, geom = "pointrange", position = "identity",
..., fun.data = NULL, fun.y = NULL, fun.ymax = NULL, fun.ymin = NULL,
fun.args = list(), na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)
参数解释:
* fun.data 表示指定完整的汇总函数,输入数字向量,输出数据框,常见4种:smean.cl.boot
,smean.cl.normal
,smean.sdl
,smedian.hilow
。 更多
* fun.y 表示指定对y的汇总函数,同样是输入数字向量,返回单个数字,这里的y通常会被分组,汇总后是每组返回1个数字
* fun.ymin 表示取y的最小值,输入数字向量,每组返回1个数字
* fun.ymax 表示取y的最大值,输入数字向量,每组返回1个数字
library(ggplot2)
library(Hmisc)
g <- ggplot(mtcars, aes(cyl, mpg)) + geom_point()
g + stat_summary(fun.data = "mean_cl_boot", color = "red", size = 2) # 用mean_cl_bool对mpg进行运算,返回均值,最大值,最小值3个向量组成的矩阵
g + stat_summary(fun.y = "median", color = "red", size = 2, geom = "point") # 计算各组中位数
g + stat_summary(fun.y = "mean", color = "red", size = 2, geom = "point") # 计算各组均值
g + aes(color = factor(vs)) + stat_summary(fun.y = mean, geom = "line") # 增加1组颜色变量映射,然后求均值并连线
g +