我有一个类似这样的df:
ID Block LogB
705 1 0.133
705 2 0.678
705 3 0.987
707 1 0.133
707 2 0.678
707 3 0.987
我想计算每个ID号的块1、2和3的斜率,以评估LogB性能如何随时间变化,即块。我认为我需要的一般格式是:lm(x ~ y, data = df)
但是,如何正确地合并分组元素?
我看到了这篇文章:Calculate the slope for each individual
但不幸的是,我不知道如何修改它以满足我的需要。我只是在找每个ID对应的一个斜率列。
感谢您的评分
2条答案
按热度按时间eh57zj3b1#
对于稍大的数据集(可能是不同的特征类型),它可能看起来像这样:
创建于2023-05-12带有reprex v2.0.2
8zzbczxx2#
你可以用
lme4::lmList()
来实现。(或nlme::lmList()
;nlme
是默认安装的,所以你不需要添加任何新的软件包。lme4::lmList()
比nlme
中的版本 * 稍微 * 更健壮,但在大多数情况下,您不会看到任何差异。或者
这两个模型略有不同:第一种方法拟合三个完全独立的模型,第二种方法假设所有组具有相同的残差方差。