我在ggplot2中顯示我的lmer模型的結果時遇到了一些困難。我特別感興趣的是在觀察數據之上顯示預測的迴歸線。我對這個(語音)數據運行的模型11聚物這裏是下面:使用ggplot2覆蓋混合效果模型結果
lmer.declination <- lmer(zlogF0_m60~Center.syll*Tone + (1|Trial) + (1+Tone|Speaker) + (1|Utterance.num), data=data)
這裏的因變量是基頻(F0),標準化和跨音節的中間60%的平均值。固定效果是音節數(Center.syll),從句子末尾向後計數(例如-2是句子中最後一個音節)。這裏的數據來自詞彙音調語言,所以音調(所有低音/ 1 /,所有中音/ 3 /和所有高音/ 4 /)都是離散的固定效果。實驗問題是F0是否落在這種語言的句子中,如果是這樣,多少,以及語調是否重要。對我來說想想一種在這裏生產玩具數據集的方法有點困難,但是可以下載這些數據(文件爲437K)here。
爲了提取模型擬合,我使用了效果包並將輸出轉換爲數據幀。
ex <- Effect(c("Center.syll","Tone"),lmer.declination)
ex.df <- as.data.frame(ex)
我繪製使用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時,默認情況下線是從一個點的上界連接到下一個點的下界(而不是中點/中點)。感謝您的幫助。
謝謝你的評論,安德魯。按照您的建議,我可以很好地工作。我沒有意識到,通過分解原始數據中的參數(但不是擬合的數據),我將無法重疊繪圖。我想你可能錯過了我包括我的數據集的事實(通過我的文章第二段中的鏈接)。再次感謝。 –
對不起!我編輯了答案,指出了這一點。 –