R语言实现线性拟合

Python0111

R语言实现线性拟合,第1张

formula代表拟合的公式,如Y~X,则对因变量Y和自变量X作线性拟合拟合模型为 y=a+bx ,如Y 0+X或Y X+0则除对因变量Y和自变量X作线性拟合外,还规定改直线必过原点及拟合模型为 y=x 。

lm对象即lm函数返回的值,其属性包括

常用的有 coefficients , residuals 和 fitted.values ,分别表示拟合的得到的各系数的值、残差和预测值。

可以看出该拟合曲线为y=0.52805925 -0.02797779x

其他值的调用,包括p值,给定x预测的y值,拟合系数R方等需要通过summary函数调用

也可以直接通过 summary(line.model) 打印出大部分与回归直线相关的一些结果

关于曲线没有画出来,请检查是否发生如下问题:

1、画图函数的调用是否有误。如果错误的使用了画图函数,当然就会画不出图来,例如传入参数与要求不符合、数据类型不匹配等。这种错误多数情况下matlab会给出警告、提示。

2、图最后的axis范围是否囊括了所化曲线的区域。有时候,由于画了2条以上曲线,第二条曲线的范围内会看不到第一条曲线,这时候需要把范围放大。

3、新手最常见的失误,没有使用hold on命令,导致后画曲线把先画的曲线覆盖。这时候图中不显示第一条曲线。

4、关于隐函数,经过测试,对一些特俗情况,ezplot失效。案例:

syms r t%r为距离坐标 t为角度坐标,极坐标

f(r,t)=r+2*cos(t)%定义一个对r的隐函数,f=0时其实这是一个圆

syms x y

f1(x,y)=f((x^2+y^2)^0.5,atan(y/x))

figure

ezplot(f1)

图形显然是一个圆,但是ezplot什么也画不出来。