-1

次のデータがあります。

a_ray<-c(12,13,14,15,16,16,14,14,15,16,16,16,23,14)
b_ray<-c(23,24,25,21,23,23,23,26,27,25,24,25,24,24)
c_ray<-c(45,32,34,36,48,32,31,34,49,50,58,56,58,32)
group<-c(0.12,0.28,0.29,0.36,0.15,0.65,0.54,0.28,0.08,0.14,0.03,0.06,0.09,0.25)
mydata<-cbind(a_ray,b_ray,c_ray,group)

このデータセットの平均と誤差範囲をプロットしたいと思います。x 軸のラベルは a_ray、b_ray、c_ray で、y 軸はこれらの光線の値 (「光線値」と呼ばれます) であり、データに含まれる変数「グループ」もあります。 1 つのグラフに 2 本の線を引きます。1 本の線は「Group<0.2」に関するもので、もう 1 本の線は「Group>=0.2」に関するものです。予想されるグラフは次のようになります。

ここに画像の説明を入力

4

1 に答える 1

1

@scoa の助けを借りて、ついに解決しました!

私のコードは次のとおりです。

mydata<-as.data.frame(mydata)
mydata$groupvar<-cut(mydata$group,c(0,0.2,1))

mydata<-mydata[,-4]

library("reshape")
changedata <- melt(mydata,id=c("groupvar"),variable_name="Ray")

library("plyr")
arrangedata <- ddply(changedata, c("groupvar","Ray"), summarise,
               N    = length(value),
               mean = mean(value),
               sd   = sd(value),
               se   = sd / sqrt(N))

pd <- position_dodge(0.1)  #The errorbars overlapped, so use position_dodge to move them horizontally
ggplot(arrangedata, aes(x=Ray, y=mean, colour=groupvar,group=groupvar)) + 
    geom_errorbar(aes(ymin=mean-se, ymax=mean+se), width=.1,position=pd) +
    geom_line(position=pd) +
    geom_point(position=pd)+
    ylab("Ray Value") +
    xlab("Ray type")+
    scale_colour_hue(name="Group type", 
                     breaks=c("(0,0.2]", "(0.2,1]"))

そして、私の写真は次のとおりです。 ここに画像の説明を入力

于 2016-02-24T20:26:54.737 に答える