我很新的統計和R。在我的數據集中,目標變量是航班狀態,以預測航班是否可能延誤或可能準點。因此,它有兩個響應變量值 - 延遲和準時。因此,爲了構建使用R的邏輯迴歸模型,我們是否必須首先將目標變量重新編碼爲0和1?我的意思是它需要爲0-延遲和1爲Ontime。還是我可以將目標變量保持爲因子?R邏輯迴歸
請原諒我的基本問題。
我很新的統計和R。在我的數據集中,目標變量是航班狀態,以預測航班是否可能延誤或可能準點。因此,它有兩個響應變量值 - 延遲和準時。因此,爲了構建使用R的邏輯迴歸模型,我們是否必須首先將目標變量重新編碼爲0和1?我的意思是它需要爲0-延遲和1爲Ontime。還是我可以將目標變量保持爲因子?R邏輯迴歸
請原諒我的基本問題。
data(iris)
Binary dependent variable:
iris$Species_binary <- ifelse(iris$Species=="setosa", "no", "yes")
它是否是一個因素?
glm(as.factor(iris$Species_binary)~iris$Sepal.Length, family="binomial")
是的,它的確如此。
Call: glm(formula = as.factor(iris$Species_binary) ~ iris$Sepal.Length, family = "binomial") Coefficients: (Intercept) iris$Sepal.Length -27.829 5.176 Degrees of Freedom: 149 Total (i.e. Null); 148 Residual Null Deviance: 191 Residual Deviance: 71.84 AIC: 75.84
難道作爲一個邏輯(布爾)變量工作?
glm(I(iris$Species_binary=="yes")~iris$Sepal.Length, family="binomial")
Call: glm(formula = I(iris$Species_binary == "yes") ~ iris$Sepal.Length, family = "binomial") Coefficients: (Intercept) iris$Sepal.Length -27.829 5.176 Degrees of Freedom: 149 Total (i.e. Null); 148 Residual Null Deviance: 191 Residual Deviance: 71.84 AIC: 75.84
是的,它會。當然,一個數值變量也可以工作。
對於logit的大多數其他軟件包/函數,情況也是如此,但有些可能會有不同的表現。請注意,邏輯鏈接是二項系列的默認值,這就是爲什麼我不必指定它。
儘管如此,請確保您知道哪個級別的因素被計爲正級別!否則你對結果的解釋將會倒退。
謝謝你的迴應。 在這些項目的解決方案之一中,我看到它在進一步繼續之前轉換爲數字?但是,有沒有推薦的方式,或者你認爲大多數人會遵循什麼樣的標準?我正在學習R和統計數據,並且對最佳實踐感興趣。 – lak3567bo
@ lak3567bo不客氣。大多數人會將其轉換爲數字,以便他們能夠確定地知道,意圖成爲積極水平的因素水平正在被視爲如此。既然選擇存在這樣做的其他方式,沒有通用的標準做法,但在有標準的環境中(如課程或某些期刊等),標準可能會首先將其轉換爲數字。如果你希望你可以點擊我的答案,讓未來的讀者知道這是答案。 :) –
公式接口的使用可能會更好。我明白這可能是爲了演示的目的,但不需要教初學者一些會讓他們陷入困境的東西。 'mdl < - glm(as.factor(iris $ Species_binary)〜iris $ Sepal.Length,family =「binomial」); 預測(mdl,newdata = iris [1:5,]); iris $ Species_binary < - as.factor(iris $ Species_binary); mdl2 < - glm(Species_binary〜Sepal.Length,family = binomial,data = iris); 預測(mdl2,newdata = iris [1:5,])' –
謝謝你的迴應。 在這些項目的解決方案之一中,我看到它在進一步繼續之前轉換爲數字?但是,有沒有推薦的方式,或者你認爲大多數人會遵循什麼樣的標準?我正在學習R和統計數據,並且對最佳實踐感興趣。 – lak3567bo
底線,只要您的變量具有正確的類別(例如'factor'),就不需要重新編碼。 –