【问题标题】:How to add an offset to mixed model如何为混合模型添加偏移量
【发布时间】:2020-08-20 16:40:25
【问题描述】:

我有一个数据集,其中包含来自 4 周试验的奶牛步数,其中每只动物在第 2 周开始时都接受了治疗 A 或治疗 B,我想知道两个治疗组的步数与第 1 周相比,每周都有变化。

如何向我的模型添加偏移量来做到这一点?

我在添加偏移量之前运行的模型是这样的:

mod.1 <- glmmTMB(Step.count ~ Week*Treatment + (1|Cow.ID), data = data.df, family = poisson) 

这是我的数据示例

data.1 <- data.frame(Cow.ID = rep(1, 20),
       Week = sample(c(1,2,3,4), 20, replace = TRUE),
       Treatment = sample(c("infected"), 20, replace = TRUE),
       Step.count = rpois(20, 60.1))

data.2 <- data.frame(Cow.ID = rep(2, 20),
                 Week = sample(c(1,2,3,4), 20, replace = TRUE),
                 Treatment = sample(c("infected"), 20, replace = TRUE),
                 Step.count = rpois(20, 60.1))

data.3 <- data.frame(Cow.ID = rep(3, 20),
                 Week = sample(c(1,2,3,4), 20, replace = TRUE),
                 Treatment = sample(c("non-infected"), 20, replace = TRUE),
                 Step.count = rpois(20, 60.1))


data.4 <- data.frame(Cow.ID = rep(4, 20),
                 Week = sample(c(1,2,3,4), 20, replace = TRUE),
                 Treatment = sample(c("non-infected"), 20, replace = TRUE),
                 Step.count = rpois(20, 60.1))


sample.df <- rbind(data.1, data.2, data.3, data.4)

【问题讨论】:

  • 嗨,alex,您能否分享一个您正在处理的数据框示例以制作您的示例reproducible
  • 嗨,是的,我已经用代码编辑了我上面的问题,以模拟类似的数据集

标签: r offset rate glmmtmb


【解决方案1】:

如果没有您的数据示例,很难说,但假设您有类似这样的数据名

library(dplyr)

cows <- tibble(
    Cow.Id = rep(1:4, times = 5),
    Week = rep(1:5, each = 4),
    Step.count = floor(runif(20, 100,200)),
    Treatment = rep(c('A','B','A','B'), times = 5),
)

然后,您可以像这样轻松计算每头奶牛的Step.count.offset 列:

cows.clean <- cows %>%
    group_by(Cow.Id) %>%
    arrange(Week) %>%
    mutate(
        Step.count.offset = Step.count - first(Step.count)
    ) %>%
    ungroup()

【讨论】:

  • 您模拟的数据与我拥有的数据框相同,这似乎应该可以工作!谢谢!我的想法是否正确,然后像这样将其添加到我的模型中:mod.1
  • 呸,很抱歉不知道您正在使用的函数中的偏移参数
  • 在我的实际数据上运行它时不起作用。抱歉,我应该说每周每头牛每小时测量一次步数。所以每只动物每天有 23 次观察,因此每周有 161 次观察。如果您每周对每只动物进行多次观察,是否可以添加偏移量?
  • 是否可以使用如下所示的数据框创建偏移量:奶牛
  • 那么,您需要保持这种粒度,并将以后的每次观察与第一周的相应小时和工作日抵消吗?或者只是按周总结步数,然后每周计算步数?
猜你喜欢
  • 1970-01-01
  • 2014-09-24
  • 2014-05-29
  • 1970-01-01
  • 2021-07-22
  • 2021-11-10
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多