我正在使用glm查看不同时间不同物种存在之间的相关性。现在我有一个数据集,其中包含不同物种在这些时间内的小时数和preense/absence(1/0)。它看起来像这样(当然非常简化):
Hour Giraffe Elephant Lion
0 1 1 0
1 0 1 1
2 1 0 0
3 1 1 0
4 0 1 0
5 0 0 1
我使用的模型看起来有点像这样:
giraffe_glm.fit <- glm(giraffe ~ scale(elephants) + scale(hour) + scale(lion), data = data_num, family = binomial)
但是这当然是比较同一个小时内的目击事件(第1小时的长颈鹿目击事件和第1小时的大象和狮子目击事件)。但是我想看看与前一个小时的目击事件的比较(例如第1小时的长颈鹿目击事件和第0小时的大象和狮子目击事件)
我可以尝试像这样将移位列添加到数据集:
Hour Giraffe Elephant Lion Elephant-1 Lion-1
0 1 1 0 NA NA
1 0 1 1 1 0
2 1 0 0 1 1
3 1 1 0 0 0
4 0 1 0 1 0
5 0 0 1 1 0
并在模型中使用它们,但我有很多变量,我希望找到一种方法将其直接应用到模型中,比如glm(giraffe ~ scale(elephants-1) + scale(hour) + scale(lion-1), data = data_num, family = binomial)
或类似的东西。有没有办法做到这一点?
2条答案
按热度按时间0ejtzxu11#
@dufei已经建议使用
lag()
hgc7kmma2#
在公式中尝试
dplyr::lag()
。