^_^简约而不简单!欢迎来到梅卫平の阅览室!您是第 位访客^_^

🌱 VIP绿色通道

(一)常用检索: 1. JCR-IF查询路径一, 路径二, 路径三      2. CiteScore-IF查询     3. SCI期刊检索     4. 中科院分区查询路径一, 路径二     5. SSCI检索     6. ESCI检索     7. EI检索 (备用)     8. ISTP检索
(二)ESI检索&Nature Index查询: 1. ESI查询      2. Nature Index查询      3. Nature Index Journal列表
(三)基金查询入口: 1. 国自然官方查询     2. 国自然梅斯查询     3. 国自然科学网查询
(四)备用网址: 1. 梅斯SCI期刊智能查询     2. 论文被SCI收录情况查询方法     3. CSCD期刊检索     4. 中国知网检索     5. PubChem     6. ChemSpider     7. 科研者之家     8. 爱科研

R中y=a*exp(b*x)+c的selfStart函数


R中y=aexp(bx)+c的selfStart函数

Weiping Mei < meiweipingg@gmail.com >

# selfStart method for
# y = a *exp(b*x)+ c

expModel<-function(predictor,a,b,c){a*exp(b*predictor)+c}  #定义对应模型的函数。

  expModelInit <- function(mCall,LHS, data)
  {
xy <- sortedXyData(mCall[["predictor"]],LHS, data)
y=xy[,"y"]
x=xy[,"x"]
adjy=y-min(y)+1
xadjy=data.frame(x,adjy)

lmFit <- lm(log(adjy) ~ x)
coefs <- coef(lmFit)
get.b <- coefs[2]   #slope

nlsFit<-nls(adjy~cbind(1+exp(b*x),exp(b*x)),
            start = list(b=get.b),data = xadjy,algorithm = "plinear",
            nls.control(maxiter = 5000000,minFactor = 10^(-10)))

coef<-coef(nlsFit)
b<-coef[1]
c<-coef[2]+min(y)-1
a<-coef[3]+coef[2]

value <- c(a,b,c)
names(value) <- mCall[c("a","b","c")]
value
}

SSexp3P<-selfStart(expModel,expModelInit,c("a","b","c"))

# getInitial(y~SSexp3P(x,a,b,c),data = z)

您能在R中通过github安装 “fitting”函数包,其中的”SSexp3P”的函数即可得到 “y=a*exp(b*x)+c”回归的各个参数的值(迭代结果):

x<-1:5
y<-c(2,14,16,18,19)
z<-data.frame(x,y)

fitexp3Pss<-nls(y~SSexp3P(x,a,b,c),data=z)
fitsum <- summary(fitexp3Pss)   # 输出各参数最终结果
fitsum


<已有 次阅读>


由于本文作者水平有限,文中如有错误之处,欢迎大家批评指正!

① 本文仅代表作者个人观点,不代表任何其它立场,欢迎交流合作!

② 转载与分享请注明:本文源于 http://meiweiping.cn

^_^ 本文字数统计:352 字