1

編集:以下のコメントに基づいて、より明確にすることにしました。これが私が取り組んでいるデータの例です。

> 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 バーを描画する必要もあります。

を使用して SEM を取得できますtapplyが、4 つのバーのそれぞれに矢印を配置する方法がわかりません。

> arrows(graph, means1, graph, means1 + std.err1, graph, means2, graph, means2 + std.err2, code=3, angle=90, length=0.1)

これは、プロットに矢印を配置しません。

baseではなくグラフィックスを使用ggplot2していますが、どうすればよいですか? 誰か助けてくれませんか?他のすべてのグラフは のGrapheRパッケージを使用して作成したRので、これもベース グラフィックスを使用して作成しようとしているので、原稿ではすべて同じように見えます。

ありがとう。

4

1 に答える 1