18

これは、最初にここで尋ねられた質問の繰り返しです。棒グラフで統計的に有意な差を示していますが、PythonではなくRを求めています。

私の質問はとても簡単です。可能であればggplot2を使用して、Rでバープロットを作成し、さまざまなバーの間に有意差があることを示します。たとえば、このようなものを作成します。私は周りを検索しましたが、まったく同じことを尋ねる別の質問を見つけることができません。

エラーバーと信号を示す棒グラフ。 バー間の差分マーキング

4

3 に答える 3

18

とを使用geom_path()annotate()て同様の結果を得ることができます。この例では、適切な位置を自分で決定する必要があります。geom_path()線を接続するための小さな目盛りを取得するために、4 つの数値が提供されます。

df<-data.frame(group=c("A","B","C","D"),numb=c(12,24,36,48))
g<-ggplot(df,aes(group,numb))+geom_bar(stat="identity")
g+geom_path(x=c(1,1,2,2),y=c(25,26,26,25))+
  geom_path(x=c(2,2,3,3),y=c(37,38,38,37))+
  geom_path(x=c(3,3,4,4),y=c(49,50,50,49))+
  annotate("text",x=1.5,y=27,label="p=0.012")+
  annotate("text",x=2.5,y=39,label="p<0.0001")+
  annotate("text",x=3.5,y=51,label="p<0.0001")

ここに画像の説明を入力

于 2013-02-19T13:18:52.683 に答える
4

上記の提案された方法を使用しましたが、注釈機能は geom_path 関数よりも簡単に線を作成できることがわかりました。「テキスト」の代わりに「セグメント」を使用してください。セグメントごとに分割し、各線分の x 値と y 値の開始と終了を定義する必要があります。

3 つの線分を作成する例:

annotate("segment", x=c(1,1,2),xend=c(1,2,2), y= c(125,130,130), yend=c(130,130,125))
于 2016-10-17T20:48:17.607 に答える