題:
如何處理R中的錯誤,例如“係數:14由於奇異而未定義”?
Platypezid
2011-07-25 21:21:17 UTC
view on stackexchange narkive permalink

在執行GLM時,在anova輸出中出現“由於奇異而未定義”錯誤,如何抵消這一錯誤的發生?

有人認為這是由於協變量之間的共線性或數據集中不存在其中一個級別(請參閱:在lm中解釋“由於奇異而未定義”

如果我想查看哪個“特殊處理”正在推動模型,並且我有4種處理級別: Treat 1 Treat 2 Treat 3 & Treat 4 ,在我的電子表格中記錄為:當 Treat 1 為1時,其餘為零,當 Treat時2 是1,其餘都是零,依此類推,我該怎麼辦?

我看到很多人都遇到了這個問題-是否有人能理解對此人查詢的響應?https://stat.ethz.ch/pipermail/r-help/2006-April/103836.html
二 答案:
Peter
2012-02-11 21:24:11 UTC
view on stackexchange narkive permalink

您可能會遇到該錯誤,因為您的兩個或多個自變量是完全共線的(例如,錯誤編碼虛擬變量以製作相同的副本)。

對數據使用cor()或對模型使用alias()進行仔細檢查。

謝謝不知道alias()函數。那真的很方便。乾杯,O。
也不太了解函數alias。挺棒的。
Saravana Kumar
2017-11-22 17:33:06 UTC
view on stackexchange narkive permalink

由於自變量之間的強相關性,將發生錯誤“由於奇異而未定義”。可以通過使用n-1個虛擬變量來避免這種情況。對於您的情況,對於處理變量,應使用3個二進制虛擬變量(Treat1,Treat2,Treat3)。

在R編程中,線性回歸函數lm()將導致“ NA”作為高相關變量的係數。

您能否說出您認為這是對現有答案的補充?也許通過編輯呢?


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...