【问题标题】:How to get solution for mixed model using nlme package如何使用 nlme 包获得混合模型的解决方案
【发布时间】:2012-09-13 22:04:30
【问题描述】:

我的数据是这样的

Study   NDF ADF CP  Eeff
1   35.8    24.4    18.6    34.83181476
1   35.8    24.4    18.6    33.76824264
1   35.8    24.4    18.6    32.67390287
1   35.8    24.4    18.6    33.05520666
2   39.7    23.4    16.1    33.19730252
2   39.4    22.9    16.3    34.04709188
3   28.9    20.6    18.7    33.22501606
3   27.1    18.9    17.9    33.80766289

当然,我有 80 行这样的。 我用lme函数运行了一个混合模型(Study as random effect),如下:

fm1<-lme(Eeff~NDF+ADF+CP,random=~1|Study, data=na.omit(phuong))

我得到了这个结果:

Fixed effects: Ratio ~ ADF + CP + FCM + DMI + DIM 
                 Value  Std.Error  DF   t-value p-value
(Intercept)  3.1199808 0.16237303 158 19.214896  0.0000
ADF         -0.0265626 0.00406990 158 -6.526603  0.0000
CP          -0.0534021 0.00539108 158 -9.905636  0.0000
FCM         -0.0149314 0.00353524 158 -4.223598  0.0000
DMI          0.0072318 0.00498779 158  1.449894  0.1491
DIM         -0.0008994 0.00019408 158 -4.634076  0.0000
 Correlation: 
    (Intr) ADF    CP     FCM    DMI   
ADF -0.628                            
CP  -0.515  0.089                     
FCM -0.299  0.269 -0.203              
DMI -0.229 -0.145  0.083 -0.624       
DIM -0.113  0.127 -0.061  0.010 -0.047

这些结果显示了截距是随机的但斜率是固定的情况。例如,当我使用研究作为固定效果时,如何查看我的 80 截距:

Coefficients:
                            Estimate      Std. Error t value Pr(>|t|)    
(Intercept)        -0.0021083  0.0102536  -0.206 0.837351    
ADF                      0.0005248  0.0002962   1.772 0.078313 .  
CP                        0.0021131  0.0003277   6.448 1.26e-09 ***
factor(Study)2   0.0057274  0.0038709   1.480 0.140933    
factor(Study)3   0.0117722  0.0035262   3.338 0.001046 ** 
factor(Study)4   0.0091049  0.0043227   2.106 0.036730 *  
factor(Study)6   0.0149733  0.0045345   3.302 0.001182 ** 
factor(Study)7   0.0065518  0.0036837   1.779 0.077196 .  
factor(Study)8   0.0066134  0.0035371   1.870 0.063337 .  
factor(Study)9   0.0086758  0.0036641   2.368 0.019083 *  
factor(Study)10  0.0105657  0.0041296   2.559 0.011434 *  
factor(Study)11  0.0083694  0.0040194   2.082 0.038900 *  
factor(Study)16  0.0171258  0.0028962   5.913 1.95e-08 ***
factor(Study)18  0.0019277  0.0042300   0.456 0.649209    
factor(Study)20  0.0172469  0.0040412   4.268 3.36e-05 ***
factor(Study)23  0.0132676  0.0031658   4.191 4.57e-05 ***
factor(Study)24  0.0063313  0.0031519   2.009 0.046236 *  
factor(Study)25  0.0050929  0.0039135   1.301 0.194989    

非常感谢, 芳

【问题讨论】:

    标签: r mixed-mode


    【解决方案1】:

    您没有给我们一个可重复的问题,但答案是使用coef,例如:

    > library(nlme)
    > fm1 <- lme(distance~age,random=~1|Subject,data=Orthodont)
    > coef(fm1)
        (Intercept)       age
    M16    15.84314 0.6601852
    M05    15.84314 0.6601852
    M02    16.17959 0.6601852
    M11    16.40389 0.6601852
    M07    16.51604 0.6601852
    M08    16.62819 0.6601852
    M03    16.96464 0.6601852
    [snip]
    
    • 使用fixef() 仅获取固定效应系数
    • 使用ranef() 仅获得随机效应(即每个个体与固定系数的偏差
    • lme 中的Orthodont 示例实际上使用了随机斜率(+截距)模型;这里我已经拟合了一个随机截距模型,因此每个人的估计斜率(age 参数)都是相同的
    • 看起来个人按估计随机效应的升序排序

    【讨论】:

    • 首先非常感谢本。太好了!其次,我对可重现数据的问题感到抱歉。我还是不明白怎么给你那个?我虽然我所做的已经可以重现。能不能说的再清楚一点,下次问的时候免得惹你生气。
    • 我能问一个小问题:使用 lme 的这部分混合效应模型的结果是什么意思:相关性:(Intr)ADF CP FCM DMI ADF -0.628 CP -0.515 0.089 FCM -0.299 0.269 -0.203 DMI -0.229 -0.145 0.083 -0.624 DIM -0.113 0.127 -0.061 0.010 -0.047
    • 我认为(希望?:-))你的意思是“惹恼你”(或“惹恼你less”)......基本上,“可重现”是指我们可以剪切和粘贴以自己运行的示例——参见stackoverflow.com/questions/5963269/…。您询问的“相关性”部分显示了固定效应参数之间的估计相关性(例如,这可以帮助诊断模型不稳定性,但通常可以忽略)
    • 亲爱的 Ben,在我的模型中,如果我想将每个研究的随机效应放在 (ADF, NDF, CP) 的斜率上。命令应该是什么样子?我尝试了这样的随机截距和随机 NDF:fmp3
    • 您可能过度拟合了模型。此外,您无法拟合斜率和研究之间的交互作用,除非研究中的预测变量值不同。 (这些正在变成更适合 r-sig-mixed-models 邮件列表或 CrossValidated 的问题。)
    猜你喜欢
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 2014-12-05
    • 2015-05-03
    相关资源
    最近更新 更多