打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R语言曲线拟合函数(绘图)

R语言曲线拟合函数(绘图)

(2013-01-04 22:12:06)
标签:

杂谈

分类: R语言
曲线拟合:(线性回归方法:lm)
1、x排序
2、求线性回归方程并赋予一个新变量
    z=lm(y~x+I(x^2)+...)
3、plot(x,y)    #做y对x的散点图
4、lines(x,fitted(z))    #添加拟合值对x的散点图并连线

曲线拟合:(nls)
lm是将曲线直线化再做回归,nls是直接拟合曲线。
需要三个条件:曲线方程、数据位置、系数的估计值。
如果曲线方程比较复杂,可以先命名一个自定义函数。
例:
    f=function(x1, x2, a, b) {a+x1+x2^b};
    result=nls(x$y~f(x$x1, x$x2, a, b), data=x, start=list(a=1, b=2));
        #x可以是数据框或列表,但不能是矩阵
        #对系数的估计要尽量接近真实值,如果相差太远会报错:“奇异梯度”
    summary(result);    #结果包含对系数的估计和p值
根据估计的系数直接在散点图上使用lines加曲线即可。

曲线拟合:(局部回归)
lowess(x, y=NULL, f = 2/3, iter = 3)
    #可以只包含x,也可使用x、y两个变量
    #f为窗宽参数,越大越平滑
    #iter为迭代次数,越大计算越慢
loess(y~x, data, span=0.75, degree=2)
    #data为包含x、y的数据集;span为窗宽参数
    #degree默认为二次回归
    #该方法计算1000个数据点约占10M内存
举例:
x=seq(0, 10, 0.1); y=sin(x)+rnorm(101)    #x的值必须排序
plot(x,y);    #做散点图
lines(lowess(x,y));    #利用lowess做回归曲线
lines(x,predict(loess(y~x)));    #利用loess做回归曲线,predict是取回归预测值
z=loess(y~x); lines(x, z$fit);    #利用loess做回归曲线的另一种做法
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
R语言的loess函数
StatQuest生物统计学 - 拟合基础
飞机的升阻特性——升阻比(2)
数据可视化——中级进阶:一起来学散点图
polyfit
R语言解读自回归模型
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服