簡體   English   中英

如何可視化線性混合效應模型預測

[英]How to visualize linear mixed-effects model predictions

我有一個非常簡單的線性混合效應模型:

Rodlangde表示根長Mehlich表示植物有效磷Lokalitet表示局部

model<-lme(Rodlangde~Mehlich,random=~1|Lokalitet)

我非常想生成一個繪圖,在其中可以看到10個(我有10個位置)不同的線性圖,這些線性圖具有相同的斜率但模型組成的截距不同。 現在,我已經嘗試在Internet上搜索解決方案2天了,但是我發現的那些代碼對我來說太復雜了,或者在使用這些代碼之前我找不到所需的軟件包。 誰能用簡單的代碼幫助我可視化同一圖中的10個不同圖形?

親切的問候

Data:
Lokalitet   pH  Mehlich Kol Rodlangde
Odrup   7.02    0   0.919642857 6.362373845
Odrup   6.87    0   0.875   5.372476457
Odrup   7.09    0   0.868421053 14.23942792
Odrup   6.64    0   0.939393939 4.640122704
Orhoje  6.81    12.13896843 0.83    2.842893319
Orhoje  7.44    7.062027912 0.741666667 4.399108137
Orhoje  7.23    6.915193254 0.917355372 3.597793514
Orhoje  6.73    3.930162033 0.909090909 5.28750758
Melby   5.2 28.20132199 0.669642857 2.541898484
Melby   5.35    14.97459413 0.519685039 2.790724941
Melby   5.04    8.352860756 0.596153846 2.927228501
Melby   5.02    10.51701575 0.596153846 1.538074359
Kallingedal 8.4 17.47092431 0.458646617 8.059178499
Kallingedal 8.33    21.74560339 0.703703704 10.50345245
Kallingedal 8.3 21.34370501 0.762295082 7.610537154
Kallingedal 8.37    25.06114498 0.770491803 11.88896483
Ravrigtigkalk   5.61    5.117349119 0.952380952 9.307948512
Ravrigtigkalk   5.92    3.400217532 0.85046729  12.80110763
Ravrigtigkalk   5.77    3.358878819 0.607476636 14.82758346
Ravrigtigkalk   5.82    2.854552095 0.9375  4.231563699
Karsemose   5.28    0   0.813084112 12.06213863
Karsemose   5.36    1.312479611 0.838095238 7.341806594
Karsemose   5.32    0   0.898148148 10.1038273
Karsemose   5.34    0   0.821782178 8.16704508
Lergraven   8.43    44.62536835 0.847457627 13.48193914
Lergraven   8.41    39.52348256 0.884297521 12.67270404
Lergraven   8.39    43.26503035 0.880597015 21.24738813
Lergraven   8.41    40.8293479  0.770491803 16.12249983
Hvidtjorn   7.98    41.68676311 0.923076923 19.46781449
Hvidtjorn   8.16    43.89098256 0.827868852 14.39349303
Hvidtjorn   8.19    37.35675233 0.942857143 34.98582813
Hvidtjorn   8.2 29.90406084 0.927927928 17.09668084
Ravsurt 5.17    5.061969924 0.821782178 5.956222014
Ravsurt 5.31    9.271879523 0.842975207 12.71456674
Ravsurt 5.47    9.796946179 0.692307692 4.772145446
Ravsurt 5.33    12.27335664 0.852173913 5.802874149
Eskebjerg   5.6 5.866279787 0.805309735 10.41055981
Eskebjerg   5.78    11.59095638 0.961538462 6.981631906
Eskebjerg   5.34    0.381918387 0.789473684 8.218044532
Eskebjerg   5.52    7.376130558 0.942857143 4.018040528

擬合模型(使用顯式data參數始終是一個好主意-除其他外,如果要對新數據使用predict ,則很有必要)

library(nlme)
model <- lme(Rodlangde~Mehlich,random=~1|Lokalitet,data=dd)

創建一個預測框架。 當模型為線性時(可能為length = 2), length=51是過大的,但對於非線性或廣義線性模型很有用...

pframe <- with(dd,
               expand.grid(Lokalitet=levels(Lokalitet),
                      Mehlich=seq(min(Mehlich),max(Mehlich),length=51)))

預測為“級別1”,即位置級別(而不是級別= 0,人口級別):

pframe$Rodlangde <- predict(model,newdata=pframe,level=1)

lattice::xyplot

library("lattice")
xyplot(Rodlangde~Mehlich,group=Lokalitet,data=pframe,type="l")

在此處輸入圖片說明

ggplot2

library("ggplot2")
ggplot(dd,aes(Mehlich,Rodlangde,colour=Lokalitet))+
     geom_point()+
     geom_line(data=pframe)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM