簡體   English   中英

如何使用 R 中的分類變量獲得用於回歸的標准化貝塔

[英]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)

我有兩個問題:

  1. lm.beta function 中可以使用分類變量嗎?
  2. 如何避免這個錯誤?

感謝您提出任何建議!

我有同樣的問題,這是因為變量在回歸 model 中是分類的。

我認為如果你在應用lm.beta之前添加as.numeric(x) —— xlm方程中的一個因素,它應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM