[英]How to get standardized betas for regression, with categorical variables in R
我想使用 lm.beta function 獲得標准化回歸系數。但是,當我運行代碼時,它給了我一個錯誤:
var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm 中的錯誤:在因子 x 上調用 var(x) 已失效. 使用類似“all(duplicated(x)[-1L])”的東西來測試常量向量。
我認為這是由於我的 model 中的分類變量所致。然后我查閱了 Package 'lm.beta' 1的 R 文檔,當我運行該示例時,我仍然遇到相同的錯誤。 代碼如下:
## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
## Page 9: Plant Weight Data.
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2, 10, 20, labels = c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group)
# standardize
lm.D9.beta <- lm.beta(lm.D9)
print(lm.D9.beta)
summary(lm.D9.beta)
coef(lm.D9.beta)
我有兩個問題:
感謝您提出任何建議!
我有同樣的問題,這是因為變量在回歸 model 中是分類的。
我認為如果你在應用lm.beta
之前添加as.numeric(x)
—— x
是lm
方程中的一個因素,它應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.