2014-06-30 28 views
-4

給定數據框中的結果變量是一個因子變量,當將DV退化爲一組IV時,模型預測的是什麼? DV是該因子的第一級的概率?還是第二?r特定glm邏輯迴歸 - 我在建模什麼?

一個相關的問題 - 我知道給定一個1和0的數字列,邏輯迴歸可以模擬高階變量(即值= 1)的概率,所以我一直試圖重新編碼因子「字符「變量轉化爲數字。我來自SAS背景,所以我完全習慣於如果var =「yes」,那麼var_num = 1;其他var_num = 0;

這顯然是錯誤的。發現重新編碼這些變量的最有效方法是什麼?

+0

此網站是用於編程問題。 –

+0

這個問題似乎是無關緊要的,因爲它涉及統計理解。試試[stats.se]。 –

+0

其實我認爲它與R直接相關。從輸出中不清楚哪個因子水平R在進行邏輯迴歸時用於「成功」。 – MrFlick

回答

0

如果你有一個只有兩個級別的因子值並且正在使用logistic regrssion,則R將第一級別視爲無事件(0),第二級別視爲「成功」(1)。您可以使用levels(dataframe$columnname)查看關卡的順序。

如果你想改變參考電平,然後relevel會做的伎倆

dd$gender <- relevel(dd$gender, "male") 

例如,考慮數據

dd<-data.frame(x=runif(50)) 
dd<-transform(dd,outcome=ifelse(runif(50)<x,"event","noevent")) 

levels(dd$outcome) 
# [1] "event" "noevent" 

with(dd, table(lessthanhalf=x<.5, outcome)) 
#    outcome 
# lessthanhalf event noevent 
#  FALSE 15  8 
#  TRUE  6  21 

在這裏我們可以看到,增加X值與更多的相關「事件」。我們可以

glm(outcome~x, dd, family=binomial) 

# Call: glm(formula = outcome ~ x, family = binomial, data = dd) 
# 
# Coefficients: 
# (Intercept)   x 
#  2.773  -4.990 

默認情況下,我們正在建模的「noevent」的概率模型此所以爲x增加noevent的概率降低,我們可以改變通過使「noevent以「事件」的概率模型「參考類別

glm(relevel(outcome,"noevent")~x, dd, family=binomial) 

# Call: glm(formula = relevel(outcome, "noevent") ~ x, family = binomial, 
#  data = dd) 

# Coefficients: 
# (Intercept)   x 
#  -2.773  4.990 
+0

非常感謝!這是我正在尋找的。我希望別人能找到這個,因爲解釋是完整的,並得到很好的解釋。 – gh0strider18