【发布时间】:2016-12-07 15:04:13
【问题描述】:
我有一个包含几列的列表。最左边一列是我的 x 轴数据,其余的是各种 y 数据集。
我想为这些列中的每一列生成线性回归,但只是针对 x 中的特定范围,然后强制线性回归通过 0,0。最后提取所述线性回归的线斜率。下面是我的一些数据的示例。
x y1 y2 y3 y4
1 2.495 -1e-04 -1e-03 -1e-04 0e+00
2 2.995 -2e-04 -7e-04 -2e-04 0e+00
3 3.495 2e-04 -2e-04 1e-04 2e-04
4 3.995 0e+00 -3e-04 0e+00 1e-04
5 4.495 0e+00 -3e-04 0e+00 0e+00
6 4.995 0e+00 -3e-04 0e+00 1e-04
7 5.495 1e-04 -2e-04 0e+00 1e-04
8 5.995 -1e-04 -1e-04 0e+00 3e-04
9 6.495 1e-04 1e-04 2e-04 3e-04
10 6.995 1e-04 0e+00 0e+00 3e-04
例如,在这里,我将获得 x 范围内的线性回归,例如第 3 到 10 行,强制回归与 0,0 相交。最后,得到 y1、y2 等线性回归的斜率。
我知道 abind 和 lm 函数,但只能绘制单个回归而不强制 0,0 相交。谢谢
【问题讨论】:
-
您能否澄清一下哪些变量是您的自变量,哪些是您的因变量?要强制截距为 0,只需在回归模型中添加 -1,例如
lm(y ~ x -1)。 -
列 x 是自变量,而 y1, y2.. 是相关的。
标签: r plot linear-regression