편집 : 아래의 의견을 토대로 좀 더 명확히하기로 결정했습니다. 그래서 제가 여기서 일하는 데이터의 예가 있습니다.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
그래서, 나는 두 변수 A
및 B
있습니다. 그것들은 더 큰 변수의 하위 그룹이므로 동일한 y 축에서 표현 될 수 있습니다. 두 개의 레벨이있는 다른 변수 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)
이것은 플롯에 화살표를 추가하지 않습니다.
그래픽을 사용하고 ggplot2
이 아닌 그래픽을 사용하면 어떻게해야합니까? 누군가 도울 수 있습니까? 내 모든 다른 그래프는 R
에 GrapheR
패키지를 사용하여 이루어 졌으므로 기본 그래픽을 사용하여이 작업을 수행하려고합니다. 따라서 모든 내용이 내 원고와 동일하게 보입니다.
감사합니다.
재현 예를 제공하십시오, 예를 들어, 당신은'dput (matrix_means)'의 출력이나 하위 샘플을 붙여 넣을 수 있습니다. – Djork