运行 R 中的 GLMER 时如何忽略特定因子水平?
How can I ignore a specific factor level when running a GLMER in R?
我是 运行 一名普通的 RSF,负责评估带 GPS 项圈的鹿对土地覆盖类型的使用情况。我有一个名为 Landcover_Type 的因子列,其中填充了数字 1-5,对应于特定的土地覆盖类型(即 2 = 木本、3 = 草本、4 = 水等)。如何在我的模型中排除水?
下面的代码指定了用作参考的因子水平,模型运行得很好。但是,我需要把水从考虑中去掉。
levels(pre_RSFpoints$Landcover_Type)
pre_RSFpoints<-within(pre_RSFpoints, Landcover_Type <-relevel(Landcover_Type, ref = 2))
pre_model <- glmer(Used ~ Landcover_Type + (1|Id),family="binomial",data=pre_RSFpoints)
summary(pre_model)
提前致谢!
如果您不想创建新的数据框:
pre_model_nowater <- subset(pre_model, Landcover_Type != "4"))
您可以在 glmer
:
中使用 subset=
参数
pre_model <- glmer(Used ~ Landcover_Type + (1|Id),
family="binomial", data=pre_RSFpoints,
subset = (Landcover_Type != "4"))
顺便说一句,在使用以数字作为水平的因素时,您应该非常小心。在你升级之前,值之间的对应关系 ("1"="something"=1, "2"="woody"=2, "3"="herbaceous"=3) 是合理的,但之后它会被打乱 (" 2" 将是第一级,"1" 是第二级),如果您通过整数代码引用因子,您可能会搞砸。如果可能的话,最好将字符串保留为标签 ...
如果数据以数字代码形式出现,最好的处理方法是在读入数据后立即将它们转换回文本标签,使用 transform()
(base R) 或mutate()
(tidyverse),例如
pre_model <- transform(pre_model,
Landcover_Type = factor(Landcover_Type, levels = 1:5,
labels = c("something", "woody", "herbaceous", ...)))
此外,如果您正在进行栖息地偏好分析,您可能应该阅读 this thread, which refers to this journal article。
我是 运行 一名普通的 RSF,负责评估带 GPS 项圈的鹿对土地覆盖类型的使用情况。我有一个名为 Landcover_Type 的因子列,其中填充了数字 1-5,对应于特定的土地覆盖类型(即 2 = 木本、3 = 草本、4 = 水等)。如何在我的模型中排除水?
下面的代码指定了用作参考的因子水平,模型运行得很好。但是,我需要把水从考虑中去掉。
levels(pre_RSFpoints$Landcover_Type)
pre_RSFpoints<-within(pre_RSFpoints, Landcover_Type <-relevel(Landcover_Type, ref = 2))
pre_model <- glmer(Used ~ Landcover_Type + (1|Id),family="binomial",data=pre_RSFpoints)
summary(pre_model)
提前致谢!
如果您不想创建新的数据框:
pre_model_nowater <- subset(pre_model, Landcover_Type != "4"))
您可以在 glmer
:
subset=
参数
pre_model <- glmer(Used ~ Landcover_Type + (1|Id),
family="binomial", data=pre_RSFpoints,
subset = (Landcover_Type != "4"))
顺便说一句,在使用以数字作为水平的因素时,您应该非常小心。在你升级之前,值之间的对应关系 ("1"="something"=1, "2"="woody"=2, "3"="herbaceous"=3) 是合理的,但之后它会被打乱 (" 2" 将是第一级,"1" 是第二级),如果您通过整数代码引用因子,您可能会搞砸。如果可能的话,最好将字符串保留为标签 ...
如果数据以数字代码形式出现,最好的处理方法是在读入数据后立即将它们转换回文本标签,使用 transform()
(base R) 或mutate()
(tidyverse),例如
pre_model <- transform(pre_model,
Landcover_Type = factor(Landcover_Type, levels = 1:5,
labels = c("something", "woody", "herbaceous", ...)))
此外,如果您正在进行栖息地偏好分析,您可能应该阅读 this thread, which refers to this journal article。