R代码用于测试来自一个回归的回归量系数之间的差异

时间:2016-06-12 13:05:42

标签: r regression-testing

我想测试一个线性回归中的系数是否彼此不同,或者它们中的至少一个是否与一个特定值(例如0)显着不同,这在Stata中看起来非常直观。例如

i

我想知道如果我想在R中测试它,我该怎么做?

2 个答案:

答案 0 :(得分:5)

@Html.DropDownList("id", new SelectList(ViewBag.Stations, "Id", "Name"), new { onchange = "this.form.submit();" }) 包有一个简单的功能。

首先,适合您的模型:

car

您可以使用model <- lm(Sepal.Length ~ Sepal.Width + Petal.Length, data = iris) 函数测试不同的线性假设,例如:

linearHypothesis

答案 1 :(得分:0)

您可以比较每个相应模型的系数列表(比如mod1和mod2),如:

diff=merge(mod1$coefficients, mod2$coefficients, by=0, all=TRUE)
diff[is.na(diff)]=0
diff$error=abs(diff$x-diff$y)
diff[order(diff$error, decreasing=TRUE),]

这产生了一个数据帧,该数据帧按系数差的绝对值排序,即:

    Row.names            x            y        error
1 (Intercept) -0.264189182 -0.060450853 2.037383e-01
6          id  0.003402056  0.000000000 3.402056e-03
3           b -0.001804978 -0.003357193 1.552215e-03
2           a -0.049900767 -0.049417150 4.836163e-04
4           c  0.013749907  0.013819799 6.989203e-05
5           d -0.004097366 -0.004110830 1.346320e-05

如果斜率不是您所追求的,您可以使用coef()函数访问其他系数:

coef(summary(model))

例如,要获得Pr(&gt; | z |),请使用:

coef(summary(model))[,"Pr(>|z|)"]