我正在尝试在R没有截距的情况下计算多元回归。
我的数据如下:
y <- c(60.323,61.122,60.171,61.187,63.221,63.639,64.989,63.761,66.019,67.857,68.169,66.513,68.655,69.564,69.331,70.551)
x1 <- c(83,88.5,88.2,89.5,96.2,98.1,99,100,101.2,104.6,108.4,110.8,112.6,114.2,115.7,116.9)
x2 <- c(107.608,108.632,109.773,110.929,112.075,113.27,115.094,116.219,117.388,118.734,120.445,121.95,123.366,125.368,127.852,130.081)
在这种情况下,(我相信?)我得到了带截距的系数:
lm(formula = y ~ x1 + x2)
我想得到没有截距的系数。我试过这个:
lm(formula = y ~ x1 + x2 -1)
这个对吗?如果是这样,我的问题是:如何在不更改 x 值(在波浪号右侧)的情况下计算不截距,而是通过更改 y 值(在波浪号左侧)上的某些内容。例如:
lm(formula = y -1 ~ x1 + x2)
获得不同的(并且可能是不正确的系数估计)。
我知道你的问题是......为什么你必须只改变 y 值?原因是因为我正在用 C 编写代码来执行此操作,并且我不想通过在末尾添加 -1 来更改 X 的维度,因为这需要动态数组分配,这对我来说非常细致。