加载中…
个人资料
依萍萍小乐园
依萍萍小乐园
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,142
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言-非线性拟合的实现-R包basicTrendline简介

(2019-03-03 14:39:15)
标签:

r语言

非线性拟合



R语言-非线性拟合的实现-R包basicTrendline简介

使用过nls()来作非线性回归的朋友,感觉都要吐槽一下nls(formula, start = list(a = , b = )里面的起始值(a,b)的设定,n次都设不对是怎样一个感受?抓狂到想要放弃用R有木有?

其实我们只想要像excel里面添加趋势线那样简单,就能得到非线性回归方程的各个结果而已。

最新CRAN正式上线的R函数包——“basicTrendline” package 终于解决了这个问题。

闲言太多,步入正题!

“basicTrendline”源代码直接点击 这里

R函数包”basicTrendline”到底用来干什么?

用于一步完成绘图,添加线性或非线性拟合线,在图上显示回归方程及R2和回归模型的p值(不是参数的p值)。 并且,它默认会同时输出模型summary()的结果,即各参数的具体数值及SD值,t值,p值等等。

你能用通用的函数 “trendline()”,但只需改变参数 model 的值,即可输出不同的回归模型的结果以及图。

参数“model” 的值为 ‘lin2P’,’line3P’,’log2P’,’exp3P’,’power3P’的其中一个。

 

  • “line2P” # y=a*x+b

  • “line3P” # y=a*x^2+b*x+c

  • “log2P” # y=a*ln(x)+b

  • “exp3P” # y=a*exp(b*x)+c

  • “power3P” # y=a*x^b+c)

一个严肃的问题:它结果可信吗?

  • 我们已经检测了我们的R函数包“basicTrendline”, 它工作性能稳定;
  • 更重要的是它的拟合结果和商业软件OriginPro完全相等
  • 甚至对幂函数power函数(y=a*x^b +c)比OriginPro软件更好
    (更高的R2,更低的p值,因为我们采取了优于Origin软件的selfStart计算方法)!

在R中安装 “basicTrendline” 函数包

1. 直接从CRAN官方获取资源安装:


install.packages("basicTrendline")
library(basicTrendline)

2. 使用Github资源安装:


install.packages("devtools")
library(devtools)   
install_github("PhDMeiwp/basicTrendline@master", force = TRUE)
library(basicTrendline)

使用 “basicTrendline” 函数包

建立 x,y数据集,比如:


x<-c(1,30,90,180,360)
y<-c(4,8,10,11,11)

然后运行:


library(basicTrendline) 


trendline(x,y,model="exp3P", summary=TRUE, eDigit=10, ePos="topleft",linecolor="red")

R语言-非线性拟合的实现-R包basicTrendline简介

R语言-非线性拟合的实现-R包basicTrendline简介

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有