主要步骤:
将数据存成csv格式,逗号分隔
在R中,读取数据,然后将数据转成矩阵形式
加载lars包,先安装
调用lars函数
确定Cp值最小的步数
确定筛选出的变量,并计算回归系数
具体代码如下:
需要注意的地方:
1、数据读取的方法,这里用的file.choose( ),这样做的好处是,会弹出窗口让你选择你要加载进来的文件,免去了输入路径的苦恼。
2、数据要转为矩阵形式
3、(la) 可以看到R方,这里为0.66,略低
4、图如何看? summary的结果里,第1步是Cp最小的,在图里,看到第1步与横轴0.0的交界处,只有变量1是非0的。所以筛选出的是nongyangungun
Ps: R语言只学习了数据输入,及一些简单的处理,图形可视化部分尚未学习,等论文写完了,再把这部分认真学习一下~~在这里立个flag
那个最佳答案说的跟这个问题没有关系。我在学习r语言的线性回归的时候遇到了这个问题。这个图是用来判断你对回归模型的线性假设是否成立的。看法如下:按照书上所说就是:“
若图形存在非线性,则说明你可能对预测变量的函数形式建模不够充分,
那么就需要添加一些曲线成分,比如多项式项,或对一个或多个变量进行变换(如用log(X)代
替X),或用其他回归变体形式而不是线性回归。
”
按照别人的说法就是:看图中的两条线,红色虚线和绿色实线是否接近。接近了就说明模型是线性的(这是在RStudio中做出的成分残差图)。