R语言 如何使用glmmTMB计算预测值?

xyhw6mcr  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(154)

我在试着检查大小不同的蜜蜂是否会影响花粉沉积超过20次连续访问。作为响应变量,我有花粉粒的数量;作为预测因子,我有20朵花的序列。因为收到的花粉量取决于之前的访问,所以我将实验的一轮作为随机变量添加。

library(glmmTMB)
library(dplyr)

# Creating a similar dataset
ID <- c("A1", "A2", "A3", "A4", "A5",
        "B1", "B2", "B3", "B4", "B5",
        "C1", "C2", "C3", "C4", "C5",
        "D1", "D2", "D3", "D4", "D5")

sequence <- c(1:5, 1:5, 1:5, 1:5)

round <- c(rep(1,5), rep(2, 5), rep(2, 5), rep(2, 5))

number <- sample(1:100, 20, replace = TRUE)

bee <- c(rep("bee1", 10), rep("bee2", 10))

# Dataframe
test <- data.frame(ID, sequence, round, number, bee)

# Changing variables
test <- test |> 
  mutate(ID = as.factor(ID),
         #sequence = as.factor(sequence),
         round = as.factor(round),
         bee = as.factor(bee))

# Filter for one bee
bee1 <- test |> 
  filter(bee == "bee1")

# Model
bee1_nb <- glmmTMB(number ~ sequence + (1|round), family = "nbinom1",
                              data = bee1)

# Sequence for predict
sequence <- 1:5

# Predict
predict_bee1 <- predict(bee1_nb, list(sequence=sequence),type="response")

字符串
我试图从负二项广义混合效应模型预测值,但它不起作用。
我试图使用lme4glmmTMB对数据进行建模,但由于某种原因,当我添加随机因子时,它给了我一个错误。即使没有随机变量,我的曲线也很奇怪。
从技术上讲,序列应该是一个因子而不是数字,但我不确定是否可以使用predict作为因子。
我尝试了ggeffectsggpredict,但我想在同一个图中添加两只蜜蜂的信息,如下图所示:
x1c 0d1x的数据

zte4gxcn

zte4gxcn1#

您必须为模型中的所有变量指定一个值,包括随机效应分组变量(即round)。如果指定round = NA,则会得到人口级别的预测(即不特定于任何特定回合)。

predict_bee1 <- predict(bee1_nb,
                        newdata = data.frame(sequence, round = NA),
                        type="response")

字符串
(This限制将在下一个版本的软件包中删除,请参阅https://github.com/glmmTMB/glmmTMB/issues/923

相关问题