九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
r語言ggplot2誤差棒圖快速指南

原文鏈接:http://tecdat.cn/?p=5506

給直方圖和線圖添加誤差棒

準(zhǔn)備數(shù)據(jù)

這里使用ToothGrowth 數(shù)據(jù)集。

library(ggplot2) 
df <- ToothGrowth 
df$dose <- as.factor(df$dose) 
head(df) 
## len supp dose ## 1 4.2 VC 0.5 ## 2 11.5 VC 0.5 ## 3 7.3 VC 0.5 ## 4 5.8 VC 0.5 ## 5 6.4 VC 0.5 ## 6 10.0 VC 0.5

len :牙齒長度
dose : 劑量 (0.512) 單位是毫克
supp : 支持類型 (VC or OJ)

在下面的例子中,我們將繪制每組中牙齒長度的均值。標(biāo)準(zhǔn)差用來繪制圖形中的誤差棒。

首先,下面的幫助函數(shù)會(huì)用來計(jì)算每組中興趣變量的均值和標(biāo)準(zhǔn)差:

#+++++++++++++++++++++++++ 
# 計(jì)算每個(gè)組的均值和標(biāo)準(zhǔn)差 #+++++++++++++++++++++++++ 
# data : a data frame 
# varname : 包含變量的列名  
#要匯總的 #groupnames : 列名的向量,作為#分組變量使用  
data_summary <- function(data, varname, groupnames){ 

summary_func <- function(x, col){ 
c(mean = mean(x\[\[col\]\], na.rm=TRUE), sd = sd(x\[\[col\]\], na.rm=TRUE)) } 
data\_sum<-ddply(data, groupnames, .fun=summary\_func, varname) 
data\_sum <- rename(data\_sum, c("mean" = varname)) 
return(data_sum) 
}

統(tǒng)計(jì)數(shù)據(jù) 

df2 <- data_summary(ToothGrowth, varname="len", groupnames=c("supp""dose")) 
# 把劑量轉(zhuǎn)換為因子變量 
df2$dose=as.factor(df2$dose) head(df2) 
## supp dose len sd ## 1 OJ 0.5 13.23 4.459709 ## 2 OJ 1 22.70 3.910953 ## 3 OJ 2 26.06 2.655058 ## 4 VC 0.5 7.98 2.746634 ## 5 VC 1 16.77 2.515309 ## 6 VC 2 26.14 4.797731 有誤差棒的直方圖

函數(shù) geom_errorbar()可以用來生成誤差棒:

p<- ggplot(df2, aes(x=dose, y=len, fill=supp)) + geom\_bar(stat="identity"color="black"position=position\_dodge()) + geom_errorbar(aes(ymin=len-sd, ymax=len+sd),) 
print(p) # 條形圖

你可以選擇只保留上方的誤差棒:

#只保留上部的誤差條 
ggplot(df2, aes(x=dose, y=len, fill=supp)) + geom\_bar(stat="identity"color="black"position=position\_dodge()) + geom_errorbar(aes(ymin=len, ymax=len+sd), width=.2)

1

有誤差棒的線圖 
p<- ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) position=position_dodge(0.05)) print(p) 
#線圖 
p+labs(title="Tooth length per dose"x="Dose (mg)

你也可以使用函數(shù) geom\_pointrange() 或 geom\_linerange() 替換 geom_errorbar()

#用 geom_pointrange 
geom_pointrange(aes(ymin=len-sdymax=len+sd)
# 用 geom\_line()+geom\_pointrange() 
 geom\_line()+ geom\_pointrange(aes(ymin=len-sdymax=len+sd))

有均值和誤差棒點(diǎn)圖

使用函數(shù) geom\_dotplot() and stat\_summary() :

平均值+/-SD可以作為誤差條或點(diǎn)范圍添加。


 # 用geom_crossbar() 
p + stat\_summary(fun.data="mean\_sdl", fun.args = list(mult=1), geom="crossbar"width=0.5) 
# 用geom_errorbar() 
 geom="errorbar"color="red"width=0.2) + stat_summary(fun.y=mean, geom="point"color="red"
# 用geom_pointrange() 
summary(fun.data=mean_sdl, fun.args = list(mult=1))

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ggplot2|從0開始繪制折線圖
R語言畫折線圖?
讓ggplot2變成Graphpad Prism樣式:ggprism(03)
F檢驗(yàn)
多組差異分析的可視化,這樣做最省心!
ggplot2
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服