非线性混合效应模型的R:Nelder-Mead优化

非线性混合效应模型的R:Nelder-Mead优化,r,optimization,mixed-models,nonlinear-optimization,R,Optimization,Mixed Models,Nonlinear Optimization,数据被找到了 似乎是语法问题,但这里到底出了什么问题?myfun2在函数中myfun2,应该只有一个参数,s.p1应该是参数的第一个元素,s.b1应该是第二个元素。。。 myfun2 <- function(p1b1p2b2){ s.p1 <- p1b1p2b2[1] s.b1 <- p1b1p2b2[2] s.p2 <- p1b1p2b2[3] s.b2 <- p1b1p2b2[4] model = nlme(log10co

数据被找到了


似乎是语法问题,但这里到底出了什么问题?

myfun2在函数中
myfun2
,应该只有一个参数,
s.p1
应该是参数的第一个元素,
s.b1
应该是第二个元素。。。
myfun2 <- function(p1b1p2b2){
    s.p1 <- p1b1p2b2[1]
    s.b1 <- p1b1p2b2[2]
    s.p2 <- p1b1p2b2[3]
    s.b2 <- p1b1p2b2[4]
    model = nlme(log10copy ~ exp(p1-b1*day) + exp(p2-b2*day + 1),
                 fixed = list(p1 ~ 1, b1 ~ 1, p2 ~ 1, b2 ~ 1),
                 random = list(patid = pdDiag(list(p1 ~ 1, b1 ~ 1, p2 ~ 1, b2 ~ 1))),
                 start = list(fixed = c(p1 = s.p1, b1 = s.b1, p2 = s.p2, b2 = s.b2)),
                 data =aids.dat) 
    return(model$logLik)
}
Error in nlme.formula(log10copy ~ exp(p1 - b1 * day) + exp(p2 - b2 * day +  : 
  argument "s.b1" is missing, with no default  
myfun2 <- function(p1b1p2b2){
    s.p1 <- p1b1p2b2[1]
    s.b1 <- p1b1p2b2[2]
    s.p2 <- p1b1p2b2[3]
    s.b2 <- p1b1p2b2[4]
    model = nlme(log10copy ~ exp(p1-b1*day) + exp(p2-b2*day + 1),
                 fixed = list(p1 ~ 1, b1 ~ 1, p2 ~ 1, b2 ~ 1),
                 random = list(patid = pdDiag(list(p1 ~ 1, b1 ~ 1, p2 ~ 1, b2 ~ 1))),
                 start = list(fixed = c(p1 = s.p1, b1 = s.b1, p2 = s.p2, b2 = s.b2)),
                 data =aids.dat) 
    return(model$logLik)
}