2014-11-21 68 views
0

我正在使用此代碼爲for循環中的逐步線性迴歸(MASS包中的stepAIC)生成的一組線性模型提取標準化參數係數(來自QuantPsyc包的lm.beta) 。存儲參數和逐步迴歸的標準化係數作爲矢量

fit <- lm(mymodel) 
step <- stepAIC(fit, direction="both") 
stdcoefs <- lm.beta(step) 

lm.beta爲每個參數返回單獨列中的係數。如何將這些數據寫入數據框並將參數和係數存儲爲兩個向量?

回答

1

您可以試試這個:

對於您的問題,我們並不真的需要stepAIC功能。我只是使用lm.beta函數,因爲這是你所要求的。看看下面的例子:

library(MASS) 
library(QuantPsyc) 

Y <- runif(100) 
X1 <- runif(100) 
X2 <- runif(100) 
X3 <- runif(100) 
X4 <- runif(100) 
df <- data.frame(Y,X1,X2,X3,X4) 

fit <- lm(df) 
step <- stepAIC(fit, direction="both") 
stdcoefs <- lm.beta(step) 
a <- unname(stdcoefs) #stores coefficients in vector a 
b <- names(stdcoefs) #stores parameters in vector b 

> a 
[1] 0.1486643 
> b 
[1] "X3" 
+0

這將存儲整個模型的係數和參數。但是,我只需要從'stepAIC'選擇的最終模型中使用它們。使用'lm.beta'獲取標準化係數可能不是正確的方法。歡迎其他建議。 – viridius 2014-11-24 20:15:49

+0

並使用完全相同的代碼。它會保存它。我會展示一個新的例子 – LyzandeR 2014-11-24 20:18:04

+0

檢查這個新的例子。作品完全一樣。 lm.beta很好。 – LyzandeR 2014-11-24 20:23:45