gpt4 book ai didi

r - 如何绘制 lme 模型的各个轨迹

转载 作者:行者123 更新时间:2023-12-04 04:55:57 27 4
gpt4 key购买 nike

我有示例数据和模型

x<-rep(seq(0,100,by=1),10)
y<-15+2*rnorm(1010,10,4)*x+rnorm(1010,20,100)
id<-NULL
for (i in 1:10){
id<-c(id, rep(i,101))}
dtfr<-data.frame(x=x,y=y, id=id)
library(nlme)
with (dtfr, summary(lme((y)~x,random=~1+x|id, na.action=na.omit )))
model.mx<-with (dtfr, (lme((y)~x,random=~1+x|id, na.action=na.omit )))
pd<-predict(model.mx, newdata=data.frame(x=0:100),level=0)
with (dtfr, plot(x, y))
lines(0:100,predict(model.mx, newdata=data.frame(x=0:100),level=0), col="darkred", lwd=7)

如何提取每个 ID 的建模截距和斜率并绘制每个 ID 的单独轨迹?

最佳答案

不确定您想要做什么,因为您的所有系数几乎相同:

> coef(model.mx)
(Intercept) x
1 54.88302 19.18001
2 54.88298 19.18000
3 54.88299 19.18000
4 54.88299 19.18000
5 54.88302 19.18001
6 54.88300 19.18000
7 54.88301 19.18000
8 54.88300 19.18000
9 54.88299 19.18000
10 54.88300 19.18000

也许你的真实数据会给你更多不同的结果。如果是这样,我会使用 abline里面 mapply调用:
with (dtfr, plot(x, y))
mapply(abline,a=coef(model.mx)[,1],b=coef(model.mx)[,2], col=1:10)

结果如下。由于所有系数几乎相同,因此将线绘制在彼此的顶部。你只看到最后一个。
enter image description here

关于r - 如何绘制 lme 模型的各个轨迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com