我现在正在做一个分配给我的数据集(如下所示),并被要求获得估计回归线的方程。
我知道我需要找到的答案是118.91-0.905x
(在答案键中),但是我拥有的代码正在给我答案130.85-1.076x
。我不确定代码中有什么错误。我已经看过多次了,没有发现任何错误。我还仔细检查了我的数据是否正确,这对我来说似乎是正确的。这是我在R-Studio中所做的:
> data = read.csv("P17.csv", header = TRUE)
> data
x y
1 99.0 28.8
2 101.1 27.9
3 102.7 27.0
4 103.0 25.2
5 105.4 22.8
6 107.0 21.5
7 108.7 20.9
8 110.8 19.6
9 112.1 17.1
10 112.4 18.9
11 113.6 16.0
12 113.8 16.7
13 115.1 13.0
14 115.4 13.6
15 120.0 10.8
> plot(data[,1],data[,2],main="Concrete Specimen", xlab="Unit Weight (pcf)",ylab="Porosity (%)",pch=19)
> cor(data[,1], data[,2])
[1] -0.9868573
> data.lm=lm(data[,1]~data[,2])
> data.lm
Call:
lm(formula = data[, 1] ~ data[, 2])
Coefficients:
(Intercept) data[, 2]
130.854 -1.076
这是我正在使用的数据:
x,y
99.0,28.8
101.1,27.9
102.7,27.0
103.0,25.2
105.4,22.8
107.0,21.5
108.7,20.9
110.8,19.6
112.1,17.1
112.4,18.9
113.6,16.0
113.8,16.7
115.1,13.0
115.4,13.6
120.0,10.8
答案 0 :(得分:4)
此作业中的问题是找到估计回归线的方程。 数据作为多个(x,y)坐标点提供。假定方程式的形式为:
具有斜率 m 和y截距 b 。
R中的lm
函数使用一个利用~
运算符的公式。
~
运算符是此类模型的基础。一个 y〜模型形式的表达式被解释为规范 响应y由指定的线性预测变量建模 象征性地通过模型。
有关公式here的更多信息。
在这种情况下,如果您希望以预测变量 x (权重)建模, y (孔隙度),您将具有:
lm(data[,2] ~ data[,1])
其中data[,2]
是数据的第二列 y ,而data[,1]
是数据的第一列 x 。
这将为您提供:
Call:
lm(formula = data[, 2] ~ data[, 1])
Coefficients:
(Intercept) data[, 1]
118.910 -0.905
截距 b 为118.9,斜率 m ( x 系数)为-0.9。因此,等式为:y = -0.9x + 118.9。