[英]Plotting confidence intervals in ggplot
我想用ggplot做下面的情節:
這是我的df結構的一個例子(有點,不按比例繪制數據):
example.df = data.frame(mean = c(0.3,0.8,0.4,0.65,0.28,0.91,0.35,0.61,0.32,0.94,0.1,0.9,0.13,0.85,0.7,1.3),
std.dev = c(0.01,0.03,0.023,0.031,0.01,0.012,0.015,0.021,0.21,0.13,0.023,0.051,0.07,0.012,0.025,0.058),
class = c("1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2"),
group = c("group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2","group1","group2"))
該數據框由16個重復組成,每個重復具有給定的平均值和給定的標准偏差。
對於每個復制,我想繪制置信區間,其中我的圖例中的大點是平均估計值,條形的長度是標准偏差的兩倍。
此外,我想在同一行中繪制兩個不同的重復,但具有不同的着色,按類着色,紅色為1級,藍色為2級。
最后,我想將整個繪圖分成兩個面板(在同一行中),對應於兩個不同的組。
我試着查看這個網站http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/但是無法弄清楚如何為這個結構的任何數據框自動化這個,有X個組(在這種情況下2),K每組重復(在這種情況下,類別1中的8,4,類2和4)。
有沒有一種使用ggplot或標准r pkg庫的好方法?
我假設您提供的示例數據框架沒有以適當的方式構建,因為group1
所有值都具有class
1
,而group2
所有值都是類2
。 所以我創建了新的數據框,還添加了一個名為replicate
新列,它顯示了每個group
的重復次數(四次重復(包含兩個class
值))。
example.df = data.frame(mean = c(0.3,0.8,0.4,0.65,0.28,0.91,0.35,0.61,0.32,0.94,0.1,
0.9,0.13,0.85,0.7,1.3),
std.dev = c(0.01,0.03,0.023,0.031,0.01,0.012,0.015,0.021,0.21,
0.13,0.023,0.051,0.07,0.012,0.025,0.058),
class = c("1","2","1","2","1","2","1","2","1","2","1",
"2","1","2","1","2"),
group = rep(c("group1","group2"),each=8),
replicate=rep(rep(1:4,each=2),time=2))
現在,您可以使用geom_pointrange()
來獲取具有置信區間的點和facet_wrap()
來為每個組創建繪圖。
ggplot(example.df,aes(factor(replicate),
y=mean,ymin=mean-2*std.dev,ymax=mean+2*std.dev,color=factor(class)))+
geom_pointrange()+facet_wrap(~group)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.