【问题标题】:order random effects plot by size of parameter estimates (using nlme)按参数估计的大小排序随机效应图(使用 nlme)
【发布时间】:2014-01-03 10:02:45
【问题描述】:

我想使用 ranef 对象 (plot.ranef.lme) 的 plot 方法制作随机效果图。

library(nlme)

x <- Orthodont
# change factor to unordered for this example
x$Subject <- factor(x$Subject, ordered=FALSE)   

m <- lme(distance ~ age, x, random = ~ 1 | Subject)
re <- ranef(m)
plot(re)

在上面,y 轴上的因子顺序遵循因子水平的顺序。 现在,我希望级别的顺序与随机效应参数的大小相对应。我能想到的最好办法是使用随机效应参数估计模型后重新排序因子水平,重新排序因子并再次估计模型。至少可以说这很笨拙,但是我无法通过 plot 方法中的一些参数来完成此操作(我对 lattice 不是很熟悉)。

o <- order(re[, 1])
x$Subject <- factor(x$Subject, levels=levels(x$Subject)[o])
m <- lme(distance ~ age, x, random = ~ 1 | Subject)
re <- ranef(m)
plot(re)

这就是我想要的,但没有使用上面笨拙的方法。 我怎样才能以更明智的方式做到这一点?

【问题讨论】:

    标签: r nlme


    【解决方案1】:

    我不认为 teher 是可用于更改订单级别的参数。你应该用手来做。

    也就是说您可以使用re 对象绘制自己的dotplot,并使用reorder 来订购因子。

     library(lattice)
     dat = data.frame(x= row.names(re),y=re[,attr(re,'effectName')])
     dotplot(reorder(x,y)~y,data=dat)
    

    【讨论】:

      猜你喜欢
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 2021-12-01
      • 2013-05-03
      • 1970-01-01
      相关资源
      最近更新 更多