ggplot2 내 lmer 모델의 결과를 표시하는 데 어려움이 있습니다. 나는 관측 된 데이터 위에 예상되는 회귀선을 표시하는 데 특히 관심이있다. ,ggplot2로 혼합 효과 모델 결과 오버레이
lmer.declination <- lmer(zlogF0_m60~Center.syll*Tone + (1|Trial) + (1+Tone|Speaker) + (1|Utterance.num), data=data)
여기서 종속 변수는 기본 주파수 (F0)는 정규화 음절의 중간 60 %에 걸쳐 평균 :이 (음성) 데이터에서 실행하고있는 lmer 모델은 여기에 다음과 같습니다. 고정 효과는 음절 번호 (Center.syll)이며 문장의 끝에서부터 뒤로 계산됩니다 (예 : -2는 문장의 마지막 세 번째 음절입니다). 여기의 데이터는 어휘 톤 언어에서 가져온 것이므로 톤 (모든 저음/1 /, 모든 중간 톤/3/및 모든 고음/4 /)은 개별 고정 효과입니다. 실험적 질문은 F0가이 언어의 문장에 해당하는지 여부, 그렇다면 얼마만큼, 그리고 음조가 중요한지 여부입니다. 여기 장난감 데이터 세트를 만드는 방법을 생각하는 것이 다소 어려웠지만 데이터는 here (437K 파일)으로 다운로드 할 수있었습니다.
모델 맞추기를 추출하기 위해 효과 패키지를 사용하여 출력을 데이터 프레임으로 변환했습니다.
ex <- Effect(c("Center.syll","Tone"),lmer.declination)
ex.df <- as.data.frame(ex)
I는 다음 코드, ggplot2를 사용하여 데이터를 플롯 :
t.plot <- ggplot(data, aes(factor(Center.syll), zlogF0_m60, group=Tone, color=Tone)) + stat_summary(fun.data = mean_cl_boot, geom = "smooth") + ylab("Normalized log(F0)") + xlab("Syllable number") + ggtitle("F0 change across utterances with identical level tones, medial 60% of vowel") + geom_pointrange(data=ex.df, mapping=aes(x=Center.syll, y=fit, ymin=lower, ymax=upper)) + theme_bw()
t.plot
을이 다음 플롯이 생성
Predicted trajectories and observed trajectories
예측값은 왼쪽에 표시를 관측 된 데이터는 데이터 자체에 중첩되지 않습니다. 나는 무엇을 시도해 보아도 관측 된 데이터에 겹칠 수는 없습니다. 나는 이상적인 점이 아닌 하나의 선을 그리는 것이 이상적이다. 그러나 geom_line을 사용하려고 시도했을 때 기본값은 한 점의 상한선에서 다음 점의 아래쪽 경계선에 연결하는 것이었다 (중앙값이 아님)./중점). 도와 줘서 고마워.
Andrew에게 감사드립니다. 나는 당신의 제안에 따라 잘 작동하는 것들을 가지고있다. 필자는 원본 데이터 (그러나 맞는 데이터가 아님)에서 인수를 인수 분해하여 플로팅을 겹칠 수는 없다는 것을 인식하지 못했습니다. 내 데이터 세트를 포함시킨 사실을 놓친 것일 수도 있습니다 (내 게시물의 두 번째 단락에있는 링크를 통해). 다시 한번 감사드립니다. –
죄송합니다! 나는 그 점을 지적하기위한 답을 편집했습니다. –