我试图解决这个问题,但我的结果是错误的,任何人都可以帮助我?回归预测饱和脂肪,纤维和糖的卡路里。基于标准化回归系数,确定最强的预测因子。
最后将最强预测因子的非标准化回归系数分配给变量
注意:在从饱和脂肪、纤维和糖预测卡路里的回归中确定最强的预测因子
下面是我的代码:
a <- lm(calories ~ sat_fat + fiber + sugar, data = fastfood)
# standardize
a.beta <- lm.beta(a)
print(a.beta)
summary(a.beta)
coef(a.beta)
结果:
Coefficients:
Estimate Standardized Std. Error t value Pr(>|t|)
(Intercept) 75.0383 NA 35.9388 2.088 0.03850 *
sat_fat 44.4337 0.7073 2.9552 15.036 < 2e-16 ***
fiber 13.7060 0.1282 5.2472 2.612 0.00992 **
sugar 9.1996 0.2494 1.8230 5.047 1.29e-06 ***
sat_fat的结果应该是30.84,但是我得到了这个结果!我不确定我的代码的哪一部分是错误的,有人能帮忙吗?
1条答案
按热度按时间hfsqlsce1#
欢迎来到Stack Overflow。一般来说,当提出问题时,请参阅How to make a great R reproducible example。特别是,请注意建议 * 如果您使用任何软件包,请添加您使用的软件包 *。如果其他人能够复制您的数据,则会更快地获得响应。无论如何,我意识到您的
fastfood
数据在openintro
软件包中。你需要标准化的原因是因为自变量在不同的尺度上。有很多方法可以管理这个,比如缩放你的数据,但是它们在Stack Overflow中是题外话(虽然在Cross Validated中是题外话)。在这种情况下,我们可以只使用t值,它将回归系数除以标准误差。
这是您尝试复制的结果。另请参见How to understand t-value in R's lm()?。