sik*_*sis 1 excel r data-fitting
当我在R和类似Excel的电子表格软件(例如Gnumeric Spreadsheet和WPS)中对我的数据进行简单的线性拟合时,我遇到了一个奇怪的问题.
下面的数据是19对x和y
93.37262737 56200
101.406044 62850
89.27322677 56425
86.9458042 43325
70.54645355 42775
85.1936032 38375
72.10985 38376
73.54055944 22950
78.092 15225
71.30285 12850
70.03953023 18125
66.31068931 14200
93.39847716 13925
66.09695152 13225
70.6549 18125
76.43348868 14125
71.37531234 14875
85.7953977 19275
95.65012506 45375
Run Code Online (Sandbox Code Playgroud)
并保存在名为'data.csv'的文件中
我在x和y之间进行线性拟合.R脚本如下:
data<-read.csv("data.csv",col.names=c("x","y"))
# plot data
plot(data$x,data$y)
#Fit
lmodelx<-lm(data$y~data$x)
abline(lmodelx)
summary(lmodelx)
Run Code Online (Sandbox Code Playgroud)
这给出了这个结果:
Call:
lm(formula = data$y ~ data$x)
Residuals:
Min 1Q Median 3Q Max
-27855 -7151 -1314 6947 23014
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -48212.8 23691.0 -2.035 0.05876 .
data$x 963.5 296.8 3.246 0.00506 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13240 on 16 degrees of freedom
Multiple R-squared: 0.3971, Adjusted R-squared: 0.3594
F-statistic: 10.54 on 1 and 16 DF, p-value: 0.005061
Run Code Online (Sandbox Code Playgroud)
您可以看到多重R平方:0.3971,调整后的R平方:0.3594,截距的系数是-48212.8,斜率是963.5342.因此,公式为y = 963.5342*x + -48212.8,调整后的R平方(R2)为0.3594.
但是,如果我在Gnumeric Spreadsheet中使用该模型,结果是:
其中公式应为y = 1052.88214782179*x + -54588.8186095881,R2 =
如果我使用WPS Spredsheet拟合模型,结果是:
这也说公式应该是y = 1052.9x - 54589和R2 = 0.44763
在Excel中,结果是:
该公式也是y = 1052.x-54589,R2 = 0.447.
那么问题是,如此简单拟合这样一个定义明确的过程如何在R中与其他软件不同?
因为在我看来这个最小二乘拟合已经定义了,那么R为什么这样做不同呢?
我该怎么用?
从你的摘要数据中我会说你在某个地方失去了一排,因为你只有16个自由度.运行您的数据我得到下面的答案与其他电子表格结果相匹配.
Call:
lm(formula = data$y ~ data$x)
Residuals:
Min 1Q Median 3Q Max
-29824 -6660 -1028 8520 23087
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -54588.8 22859.7 -2.388 0.02882 *
data$x 1052.9 283.7 3.712 0.00173 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13250 on 17 degrees of freedom
Multiple R-squared: 0.4476, Adjusted R-squared: 0.4151
F-statistic: 13.78 on 1 and 17 DF, p-value: 0.001733
Run Code Online (Sandbox Code Playgroud)