4 개의 실험에 대해 동일한 차트를 포함하는 패널에서 누적 막 대형 차트 + 2 방향 상호 작용을 플롯하려고합니다. 그러나 독립 변수 중 하나에 따라 바를 피할 수 없었습니다. 아래는 나의 데이터입니다.ggplot2 : 3 방향 상호 작용 스택 막대 막대 그림 그룹화
먼저 아래 코드로 데이터를 읽었습니다.
둘째
Exp. \t Gest \t lag \t Sint12 \t Rev12 \t c12 \t t1pi \t t2pi \t t1i \t t2i \t IntWeak \t inc \t Total
1 \t 1 \t 1 \t 15,88 \t 3,28 \t 22,52 \t 11,76 \t 4,08 \t 2,28 \t 16,76 \t 3,24 \t 20,2 \t 100
1 \t 1 \t 3 \t 0,88 \t 1,2 \t 61,36 \t 11,84 \t 8,4 \t 1,84 \t 2,32 \t 0,8 \t 11,36 \t 100
1 \t 1 \t 8 \t 0,24 \t 0,24 \t 65,2 \t 10,24 \t 9,2 \t 1,84 \t 2,4 \t 0,48 \t 10,16 \t 100
1 \t 2 \t 1 \t 14,96 \t 4 \t 25,28 \t 15,12 \t 1,92 \t 0,68 \t 16,8 \t 1,56 \t 19,68 \t 100
1 \t 2 \t 3 \t 1,2 \t 0,72 \t 79,36 \t 8,64 \t 2,88 \t 0,64 \t 0,64 \t 0,64 \t 5,28 \t 100
1 \t 2 \t 8 \t 0,16 \t 0,16 \t 86,72 \t 5,36 \t 3,2 \t 0,08 \t 0,48 \t 0,64 \t 3,2 \t 100
2 \t 1 \t 1 \t 30,6 \t 2,2 \t 24,48 \t 4,56 \t 1,32 \t 0,4 \t 17,8 \t 1 \t 17,64 \t 100
2 \t 1 \t 3 \t 0,96 \t 1,04 \t 87,2 \t 5,04 \t 2,16 \t 0,16 \t 0,4 \t 0,8 \t 2,24 \t 100
2 \t 1 \t 8 \t 0,88 \t 0,24 \t 91,92 \t 3,28 \t 1,52 \t 0 \t 0,32 \t 0,88 \t 0,96 \t 100
2 \t 2 \t 1 \t 20,16 \t 2,32 \t 16,52 \t 14,24 \t 0,72 \t 0,44 \t 15,96 \t 1,76 \t 27,88 \t 100
2 \t 2 \t 3 \t 1,04 \t 0,64 \t 83,84 \t 5,84 \t 2 \t 0,08 \t 0,72 \t 1,12 \t 4,72 \t 100
2 \t 2 \t 8 \t 0,24 \t 0 \t 91,04 \t 4,16 \t 1,52 \t 0,08 \t 0 \t 0,72 \t 2,24 \t 100
3A \t 1 \t 1 \t 35,83 \t 3,92 \t 27,42 \t 2,42 \t 2,08 \t 0,25 \t 7,42 \t 3,63 \t 17,04 \t 100,01
3A \t 1 \t 3 \t 1,58 \t 1 \t 81 \t 4,5 \t 3,33 \t 0,25 \t 0,33 \t 1,08 \t 6,92 \t 99,99
3A \t 1 \t 8 \t 1 \t 0 \t 86,92 \t 3,17 \t 1,75 \t 0,08 \t 0,42 \t 0,33 \t 6,33 \t 100
3A \t 2 \t 1 \t 43,46 \t 2,38 \t 21,29 \t 1,88 \t 1,17 \t 0,17 \t 5,46 \t 4,21 \t 20 \t 100,02
3A \t 2 \t 3 \t 2 \t 0,75 \t 78,67 \t 3,75 \t 3,25 \t 0,17 \t 0,83 \t 0,92 \t 9,67 \t 100,01
3A \t 2 \t 8 \t 1,33 \t 0,33 \t 83,25 \t 3 \t 2,17 \t 0 \t 0,67 \t 0,83 \t 8,42 \t 100
3B \t 1 \t 1 \t 35,5 \t 2,54 \t 29,33 \t 3,04 \t 1,88 \t 0,54 \t 7,46 \t 7,46 \t 12,25 \t 100
3B \t 1 \t 3 \t 1,58 \t 0,67 \t 79,42 \t 4,58 \t 2,83 \t 0,42 \t 0,67 \t 2,75 \t 7,08 \t 100
3B \t 1 \t 8 \t 0,83 \t 0,17 \t 88,83 \t 3,17 \t 2,83 \t 0,08 \t 0,42 \t 0,5 \t 3,17 \t 100
3B \t 2 \t 1 \t 32,33 \t 1,75 \t 17,21 \t 4,5 \t 2,21 \t 0,42 \t 13,21 \t 4,96 \t 23,42 \t 100,01
3B \t 2 \t 3 \t 2,5 \t 0,25 \t 67,58 \t 8,42 \t 4,25 \t 0,5 \t 1 \t 4,58 \t 10,92 \t 100
3B \t 2 \t 8 \t 1 \t 0,08 \t 76,83 \t 6,25 \t 4,5 \t 0,08 \t 0,33 \t 3 \t 7,92 \t 99,99
a<-read.table(file.choose(), header=T, dec=",")
나는 아래의 코드 긴 형식으로 폭을 변형.
b <- reshape(a,
varying = c("Sint12", "Rev12", "c12", "t1pi", "t2pi", "t1i", "t2i", "IntWeak", "inc"),
v.names = "score",
timevar = "variable",
times = c("Sint12", "Rev12", "c12", "t1pi", "t2pi", "t1i", "t2i", "IntWeak", "inc"),
new.row.names = 1:1000,
direction = "long")
그리고 데이터를 변환 한 후 같은 아래에 보이는 :
Exp. Gest lag Total variable score id
1 1 1 1 100.00 Sint12 15.88 1
2 1 1 3 100.00 Sint12 0.88 2
3 1 1 8 100.00 Sint12 0.24 3
4 1 2 1 100.00 Sint12 14.96 4
5 1 2 3 100.00 Sint12 1.20 5
6 1 2 8 100.00 Sint12 0.16 6
7 2 1 1 100.00 Sint12 30.60 7
8 2 1 3 100.00 Sint12 0.96 8
9 2 1 8 100.00 Sint12 0.88 9
10 2 2 1 100.00 Sint12 20.16 10
11 2 2 3 100.00 Sint12 1.04 11
12 2 2 8 100.00 Sint12 0.24 12
13 3A 1 1 100.01 Sint12 35.83 13
14 3A 1 3 99.99 Sint12 1.58 14
15 3A 1 8 100.00 Sint12 1.00 15
16 3A 2 1 100.02 Sint12 43.46 16
17 3A 2 3 100.01 Sint12 2.00 17
18 3A 2 8 100.00 Sint12 1.33 18
19 3B 1 1 100.00 Sint12 35.50 19
20 3B 1 3 100.00 Sint12 1.58 20
21 3B 1 8 100.00 Sint12 0.83 21
22 3B 2 1 100.01 Sint12 32.33 22
23 3B 2 3 100.00 Sint12 2.50 23
24 3B 2 8 99.99 Sint12 1.00 24
I가 원하는 것은; 1 위. 4 개의 플롯 (각 실험마다), 2. Gest와 Lag에 의한 상호 작용 플롯 만들기. 3rd; 변수의 색상으로 스택을 채 웁니다.
이렇게하려면 아래 코드를 사용했습니다.
ggplot (데이터 = b, aes (x = 상호 작용 (Gest, lag), y = 점수, 채우기 = 변수)) + geom_bar (stat = "identity") + facet_wrap (~ Exp., ncol = 2)
지금, 줄거리는 준비가되어 있습니다. 그러나 geom_bar에 position = dodge 인수를 전달할 때; 작동하지 않습니다. 나는 1.1 & 2.1 사이의 틈이없는 음모를 갖고 싶다. 1.3 & 2.3 및 1.8 & 2.8 (X 축 라벨). 또한 .1-.3과 .8 사이의 간격을 지정하고 싶습니다.
미리 감사드립니다.
고마워요 마크, 나는 다음과 같은 추가 격차를 추가하려고했다. 귀하가 제공 한 추가 정보를 사용하겠습니다.Thanks again again :) 질문 : 마지막 플롯 (sePlots로 시작)의 첫 번째 코드를 붙여 넣을 때 FUN (X [ [i]], ...) : 함수 "%> %"을 (를) 찾을 수 없습니다. 어쨌든 고마워요. –
죄송합니다. '%> %'는 파이프 문자이고'filter' 함수는'dplyr' (이것은 원래'magrittr '에서 왔지만'%> %'도로드합니다)에 있습니다. 보통 나는 그 의존성을 나열하는 것을 기억하는 것이 좋습니다. –
다시 한번 감사드립니다. –