編集:以下のコメントに基づいて、私はより明示的にすることに決めました。ここで私が取り組んでいるデータの例です。Rのベースグラフィックを使用したSEMエラーバーを含むグループ化バープロット?
> example_data
A B outcome
1 2.31 1.47 Y
2 2.14 1.32 N
3 3.49 1.00 Y
4 2.12 0.62 Y
5 0.47 0.55 N
6 3.36 0.50 N
7 3.50 0.33 Y
8 1.97 0.39 Y
9 3.12 0.99 N
10 2.04 0.89 Y
11 2.78 0.36 Y
12 1.83 0.70 N
13 3.53 0.77 N
14 2.25 0.39 N
15 1.67 0.43 N
16 3.09 1.10 Y
だから、私は2つの変数A
とB
を持っています。それらは大きな変数のサブグループなので、同じY軸で表現することができます。私は2つのレベルを持つ別の変数outcome
でそれらをグループ化したいと思います。
私は今、私はまた、矢印を使用する必要があり、次の
> dataset <- example_data
> attach(dataset)
> means1<- tapply(A,outcome,function(x) mean(x,na.rm=TRUE))
> means2<- tapply(B,outcome,function(x) mean(x,na.rm=TRUE))
> std.err1<- tapply(A,outcome,function(x)sd(x,na.rm=TRUE)/sqrt(length(na.omit(x))))
> std.err2<- tapply(B,outcome,function(x)sd(x,na.rm=TRUE)/sqrt(length(na.omit(x))))
> matrix_means<- matrix(c(means1,means2),byrow = TRUE)
> graph<- barplot(matrix_means, beside=TRUE, space=c(0.2,0,0.2,0), axes=FALSE, ann=FALSE, col=c("white","black","red","blue"),ylim=c(0,4), names=c("Outcome-N","Outcome-Y","Outcome-N","Outcome-Y"), xpd=FALSE)
> axis(2, cex.axis=1.5)
は、各グループの平均値とmean+sem
間のSEMバーを描画する機能です。
tapply
を使用してSEMを取得できますが、4つのバーのそれぞれに矢印を配置する方法はわかりません。
> arrows(graph, means1, graph, means1 + std.err1, graph, means2, graph, means2 + std.err2, code=3, angle=90, length=0.1)
これはプロット上に矢印を配置しません。 base
グラフィックやないggplot2
、私はこれをどのように行うかを使用して
?助けてもらえますか?私の他のすべてのグラフはR
のGrapheR
パッケージを使用して作成されていましたので、私はそれもすべて私の原稿のように見えるので、ベースのグラフィックを使用してこれもやろうとしています。
ありがとうございました。
を呼び出すことによって、正しい結果を得るでしょう'dput(matrix_means)'の出力やサブサンプルを貼り付けることができます。 – Djork