最小二乘法线性回归拟合
library(BSDA) #调用BSDA库,目的是为了调用后面的数据
attach(Gpa) #Gpa数据
head(Gpa) #显示前六行数据
## HSGPA CollGPA
## 1 2.7 2.2
## 2 3.1 2.8
## 3 2.1 2.4
## 4 3.2 3.8
## 5 2.4 1.9
## 6 3.4 3.5
Y <-CollGPA
x <-HSGPA
plot(x, Y, col="blue",
main="Scatterplot of College Versus High School GPA",
xlab="High School GPA",ylab="College GPA",xlim=c(0,5)) ##做散点图
#线性拟合
model<-lm(Y~x,data=Gpa)
abline(model)
summary(model)
##
## Call:
## lm(formula = Y ~ x, data = Gpa)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.48653 -0.37273 -0.02328 0.37365 0.54817
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.9504 0.8318 -1.143 0.28625
## x 1.3470 0.3027 4.449 0.00214 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4333 on 8 degrees of freedom
## Multiple R-squared: 0.7122, Adjusted R-squared: 0.6762
## F-statistic: 19.8 on 1 and 8 DF, p-value: 0.002141
##拟合方程是:Y=1.3470x-0.9504, R方为 0.7122
总结感悟: R软件的线性拟合采用最小二乘法进行线性拟合
上面过程采用RSutio的Knitr完成,Knitr的解释和安装方法见下文。
Knitr解释:
knitr是R语言中一个用来动态生成报告的包,用户可以在报告中嵌入数据分析的源代码,通过knitr编译直接生成一份报告,而无需复制粘贴结果,所有结果由knitr执行源代码动态生成[1][2]。knitr可以结合LaTeX、LyX、HTML、Markdown以及reStructuredText文档使用。它的设计范式源于文学编程,目的是促进可重复的科学研究。它是开源软件,许可证为GNU GPL[3]。
knitr的编写受到Sweave影响,但模块化程度更高,扩展方便,支持文档类型也更多(Sweave主要用于LaTeX文档)。例如它支持R Markdown格式[4],RPubs网站[5]是一个很好的应用示例。其它扩展包括:缓存、TikZ图形、多语言支持(如Python、Perl、Shell和CoffeeScript等)。
目前支持knitr的编辑器有RStudio、LyX和Emacs/ESS。
——http://zh.wikipedia.org/wiki/Knitr
Knitr安装方法:
有兴趣的朋友可以尝试玩玩,如有不懂的地方,可以联系michunrong123@126.com,请注明来自人人小站,谢谢!
Mcr
20150325于国科大