簡體   English   中英

使用glm和二項式族更改參考組

[英]Change reference group using glm with binomial family

當我運行在R A二項回歸與independed因子變量包括三個層次的“高”,“中”,“低”,其中我想用改變參考類別relevel我得到這個錯誤:

“Error in relevel.ordered(cbsnivcat3, "Lower") : 
  'relevel' only for factors”

我檢查了cbsnivcat3是否是一個因素

> is.factor(data$cbsnivcat3)
[1] TRUE

> levels(data$cbsnivcat3)
[1] "Higher" "Middle" "Lower" 

> t1m4=glm(tertiary ~ relevel(cbsnivcat3, "Lower") , family = binomial, data = data)
    Error in relevel.ordered(cbsnivcat3, "Lower") : 
      'relevel' only for factors

但與factor glm(tertiary ~ factor(cbsnivcat3) , family = binomial, data = data)起作用。

MQ1:是什么導致錯誤,我該怎么做?

在此先感謝您的提示,命令和解決方案

STR(數據)

$ cbsnivcat3     : Ord.factor w/ 3 levels "Higher"<"Middle"<..: 1 1 1 1 1 1 1 1 1 1 ...
$ tertiary       : num  0 0 1 1 1 1 0 1 0 0 ...

cbsnivcat3是一個有序的因素,因此重新relevel將不起作用。 您可以將其更改為普通因素:

cbsnivcat3 <- factor(cbsnivcat3, levels=c("Lower","Middle","Higher"))

嘗試這個

df <- data.frame(y=sample(c(0,1), size=100,replace=T),x1=rep(c('a','b','c'),100), x2=1:100)
summary(glm(y~x1+x2,data=df))

df$x1 <- relevel(df$x1, ref='b')
summary(glm(y~x1+x2,data=df))

df$x1 <- relevel(df$x1, ref='c')
summary(glm(y~x1+x2,data=df))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM