![](/img/trans.png)
[英]Plotting Comparison of OLS Multivariate Regression Model Coefficients in R-Studio
[英]R - Testing equivalence of coefficients in multivariate multiple regression
我正在尝试进行多元多元回归分析。 幸运的是,我发现了一个很好的页面,展示了如何在Stata中这样做:
http://www.ats.ucla.edu/stat/stata/dae/mvreg.htm
问题是我正在使用R,而我已经弄清楚如何在R中运行多元多元回归模型的基础知识,我仍然不确定如何查看每个因变量的系数是否不同(如显示在链接中)。 有谁知道如何在R中计算这个分析? 看起来好像看到相同的自变量对每个因变量施加不同的影响是一个非常有用的工具,我很乐意能够做到!
更新:这是一个可重现的例子,说明了迄今为止我对自己的数据做了些什么:
# data
data(mtcars)
# fitting a multivariate multiple regression where mpg and cyl are predicted by wt and hp
car.mod <- lm(cbind(mpg,cyl) ~ wt + hp,data=mtcars)
# see if there is a multivariate effect of wt and hp
summary(manova(car.mod),test="W")
# Get coefficients for each dependent variable
summary(car.mod)
在这个例子中我想知道的是我如何在“mpg”和“cyl”上测试“wt”的等价性。 显然,使用test
命令可以在Stata中实现。
AFAIK,没有这样做的包,所以我会做手动解决方案。 手动解决方案是
z =(b1-b2)/(b1 ^ 2 + b2 ^ 2)^(1/2)。
这是(草率)代码。 可能有更优雅的解决方案来提取系数和标准误差。
# extract coefficients and SEs
coef_mpg <- coef(summary(car.mod))[[1]]
coef_cyl <- coef(summary(car.mod))[[2]]
# test equality of wt coefficients
z_wt <- (coef_mpg[2, 1] - coef_cyl[2, 1]) / (coef_mpg[2, 2]^2 + coef_cyl[2, 2]^2)^(1/2)
p_wt <- 2*pnorm(-abs(z_wt))
p_wt
但我对自助解决方案感觉更好,因为这个解决方案的假设更少。
require(boot)
b_b <- function(data=mtcars, indices) {
d <- data[indices, ]
model_mpg <- lm(mpg ~ wt + hp, data=d)
model_cyl <- lm(cyl ~ wt + hp, data=d)
return(coef(model_mpg)["wt"] - coef(model_cyl)["wt"])
}
results <- boot(data=mtcars, statistic=b_b, R=1000)
results
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.