2014-03-05 141 views
7

我想用lm函數(或另一個,如果有效的話)進行線性迴歸。我的因變量是一個因子,稱爲AccountStatus線性模型(lm),因變量是因子/分類變量

拖欠1:0天,拖欠2:30-60天,拖欠3:60-90天,拖欠4:90+天。 (4)

作爲獨立變量我有幾個數值變量:貸款價值,債務收入和利率。

是否可以用這些變量進行線性迴歸?我查看了互聯網,發現了一些關於虛擬的東西,但那些都是針對自變量的。

這不起作用:

fit <- lm(factor(AccountStatus) ~ OriginalLoanToValue, data=mydata) 
summary(fit) 

回答

8

線性迴歸不採取分類變量的相關部分,它必須是連續的。考慮到您的AccountStatus變量只有四個級別,將它視爲連續的是不可行的。在開始任何統計分析之前,應該知道一個變量的measurement levels

你可以做的是使用多項邏輯迴歸,例如參見here。或者,您可以將AccountStatus重新編碼爲二元,並使用簡單的邏輯迴歸。

不好意思讓你失望,但這只是多元迴歸的固有限制,與R無關。如果您想了解更多關於哪種統計技術適用於不同測量水平的獨立和自變量的不同組合,我可以全心全意地建議this book

+0

感謝Maxim,這對我來說並不令人失望。我很高興有其他解決方法。謝謝。 –

+0

或序數迴歸(其中包括'MASS :: polr()','序數'包) –

0

如果你可以給變量一個數值,那麼你可能有一個解決方案。您必須將這些值重命名爲數字,然後將該變量轉換爲數字。這裏是如何:

library(plyr) 
my.data2$islamic_leviathan_score <- revalue(my.data2$islamic_leviathan, 
       c("(1) Very Suitable"="3", "(2) Suitable"="2", "(3) Somewhat Suitable"="1", "(4) Not Suitable At All"="-1")) 

my.data2$islamic_leviathan_score_1 <- as.numeric(as.character(my.data2$islamic_leviathan_score)) 

這同時改造變量數值那些revaluates潛在價值。當變量作爲因子變量時,我得到的結果與數據集中包含的原始值一致。您可以使用此解決方案將變量的名稱更改爲任何您喜歡的內容,同時將它們轉換爲數字變量。

最後,這是值得的,因爲它允許您繪製直方圖或迴歸,這些因素變量無法做到。

希望這會有所幫助!