2013-04-17 63 views
-2

我得到了一個數據集,包含14個主題的10個度量,我想用每個主題和ggplot2中的錯誤數據塊(confidens interval)的平均得分作爲條形圖。但我不確定如何塑造數據以便能夠製作這樣的情節。ggplot2數據框結構欄與錯誤條陰謀

任何指針或幫助將不勝感激。

回答

1

ggplot2需要長格式的數據。這意味着每個數據點必須位於不同的行上。您想要計算14個科目的平均值和CI。因此,您應該有一個包含Subject,Average和CI列和14行的數據框。下面是兩個科目的例子:

set.seed(1) 
dat <- data.frame(Subject = c(rep("Sub1", 10), rep("Sub2", 10)), 
Measure = rep(paste0("Meas", 1:10),2), 
Value = rnorm(20,15,3)) 

library(plyr) 
se <- function(x) sd(x)/sqrt(length(x)) 
dat.new <- ddply(dat, .(Subject), summarize, mean = mean(Value), 
CI = qnorm(0.975)*se(Value)) 

dat.new 
# Data format for ggplot 
# Subject  mean  CI 
#1 Sub1 15.39661 1.686627 
#2 Sub2 15.74653 1.974250 

library(ggplot2) 

ggplot(dat.new, aes(x = Subject, y = mean, ymin = mean, ymax = mean + CI)) + 
geom_bar(stat="identity") + geom_errorbar(width=0.25) 

enter image description here

更多信息請參見ggplot2 doc's,其他問題有關ggplot2 bar plotserror bars

+0

非常感謝!正是我需要的!謝謝 – dYz

+0

不錯,這是有幫助的。下一次準備數據的例子,並更好地定義你的問題。這裏的人們喜歡具體的問題,你也可能以這種方式得到更好的答案。 – Mikko