3

を使用して参照カテゴリを変更したい "Higher" 、 "Middle" 、および "Lower" の 3 つのレベルで構成される独立因子変数を使用して R で二項回帰を実行すると、次の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 ...
4

2 に答える 2

3

cbsnivcat3は順序付けられた要素であるため、機能しrelevelません。あなたができることは、それを通常の因数に変更することです:

cbsnivcat3 <- factor(cbsnivcat3, levels=c("Lower","Middle","Higher"))
于 2013-07-21T13:52:15.317 に答える
1

これを試して

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))
于 2014-12-13T00:03:45.840 に答える