【发布时间】:2022-02-09 23:54:14
【问题描述】:
我想直接从我们的增长模型中得出个人增长率,类似于这个OP 和这个OP。
我正在使用一个数据集,其中包含大约 2000 个人的 age 和体重 (wt) 测量值。每个人都由一个唯一的id 号码表示。
可以在here 找到数据样本。以下是数据的样子:
id age wt
1615 6 15
3468 32 61
1615 27 50
1615 60 145
6071 109 209
6071 125 207
10645 56 170
10645 118 200
我已经开发了一个非线性增长曲线来模拟这个数据集的增长(在人口层面)。它看起来像这样:
wt~ A*atan(k*age - t0) + m
预测给定 age 的权重 (wt),并具有可修改的参数 A、t0 和 m。我已使用nlme 回归拟合将此模型拟合到人口级别的数据集,其中我将个体id 指定为随机效应,并使用pdDiag 将每个参数指定为不相关。 (注意:看个人关卡时需要去掉随机效应。)
代码如下:
nlme.k = nlme(wt~ A*atan(k*age - t0) + m,
data = df,
fixed = A+k+t0+m~1,
random = list(id = pdDiag(A+t0+k+m~1)), #cannot include when looking at the individual level
start = c(A = 99.31,k = 0.02667, t0 = 1.249, m = 103.8), #these values are what we are using at the population level # might need to be changed for individual models
na.action = na.omit,
control = nlmeControl(maxIter = 200, pnlsMaxIter = 10, msMaxIter = 100))
我有我们的人口水平增长模型 (nlme.k),但我想用它来导出/提取每个增长常数的个体值。
如何使用我的人口水平增长模型 (nlme.k) 为每个 id 提取个体增长常数? 请注意,我不需要它是使用 @987654341 的解决方案@,这只是我用于人口增长模型的模型。
任何建议将不胜感激!
【问题讨论】:
标签: r derivative nlme