R語言與醫學統計圖形-【22】ggplot2統計變換函數


ggplot2繪圖系統——統計變換函數

在幾何對象中以參數stat形式出現。

不同的幾何對象對應不同的統計變換函數。
image.png
以直方圖為例,幾何對象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()

image.png

自定義統計變換函數

可通過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)

image.png

同時定義兩個額外的統計變換,並進行圖層疊加。

f <- ggplot(data.frame(x=c(0,10)),aes(x))
f+stat_function(fun=sin,color='red')+
  stat_function(fun=cos,color='blue')

image.png

自定義函數

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)

image.png

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM