ggplot2繪圖系統——統計變換函數
在幾何對象中以參數stat形式出現。
不同的幾何對象對應不同的統計變換函數。

以直方圖為例,幾何對象geom_histogram(..., stat='bin')與stat_bin(.., stat='bar')的作用是一樣的。
一般而言,我們不需要對數據進行額外的統計變換,使用默認的就好。但特殊情況時需要用到,如對數據進行log轉換。
繪制QQ圖
df <- data.frame(y=rt(200,df=5)) #隨機生成t分布
ggplot(df,aes(sample=y))+
stat_qq() #or geom_qq()

自定義統計變換函數
可通過stat_function自定義一些統計變換函數來繪圖,如正弦曲線、正態分布曲線等。
a <- ggplot(data.frame(x=c(-5,5)),aes(x))+
stat_function(fun=dnorm) #傳入的函數只需名字,無需括號
b <- ggplot(data.frame(x=c(-5,5)),aes(x))+
stat_function(fun=dnorm,args = list(mean=2,sd=.5)) #傳參
grid.arrange(a,b,ncol=1)

同時定義兩個額外的統計變換,並進行圖層疊加。
f <- ggplot(data.frame(x=c(0,10)),aes(x))
f+stat_function(fun=sin,color='red')+
stat_function(fun=cos,color='blue')

自定義函數
test <- function(x){x^2+x+20}
f+stat_function(fun=test)+
geom_text(aes(x=5,y=75),
label='y == x ^ 2 + x + 20',
parse = T,
size=7)

自定義統計變換函數能很好地體現出ggplot2的擴展性,自由正是ggplot2的最大優勢!
