0

私は ggplot を使用して、さまざまなグループの 4 週間にわたる一連の体重データからグループ化された棒グラフの平均をプロットしています。標準誤差のエラー バーをプロットしようとしていますが、各バーの中心ではなく、各クラスターの中心にあります。写真を見る

私はスクリプトを持っています:

data <- read.table(file="groups.txt",head=TRUE,sep="\t")
attach(data)
melted <- melt(data, id.vars=c("id", "group"))
means <- ddply(melted, c("group", "variable"), summarise,
           mean=mean(value))
means.sem <- ddply(melted, c("group", "variable"), summarise,
               mean=mean(value), sem=sd(value)/sqrt(length(value)))
means.sem <- transform(means.sem, lower=mean-sem, upper=mean+sem)

m.bp<-ggplot(means, aes(variable, mean)) +   
  geom_bar(aes(fill = group), position = "dodge", stat="identity") + xlab("Age") + ylab("Weight(g)") + scale_x_discrete(labels=c("w1" = "P7", "w2" =  "P14",
                          "w3" = "P21", "w4" = "P28")) + scale_fill_manual(values = c("orange", "chocolate2", "grey32", "grey25"),name="Genotype\n/Sex", breaks=c("kf", "km", "wf", "wm"),
                     labels=c("Dlk1 KO Female", "Dlk1 KO Male", "WT Female", "WT Male"))

m.bp + geom_errorbar(aes(ymax=upper,ymin=lower), width=.2, position=position_dodge(0.9),
                          data=means.sem)

これは、年齢に基づいてグループごとに体重データをクラスター化するのに非常にうまく機能します。ただし、プロットすると、エラーバーは各バーの上ではなく、クラスターの中央に配置されます。エラーバーを正しい位置に配置する方法を知っている人はいますか?

4

0 に答える 0