【问题标题】:How can I fix an error in nonlinear regression: nls function如何修复非线性回归中的错误:nls 函数
【发布时间】:2020-05-28 04:10:01
【问题描述】:

我在 R 中使用以下命令:

attach(Puromycin)
Puromycin
plot(Puromycin$conc,Puromycin$rate)
mm=function(conc,vmax,k) vmax*conc/(k+conc)
mm
mm1=nls(rate~mm(conc,vmax,k),data=Puromycin,
        start=c(vmax=50,k=0.05),subset=state=="treated”)
mm1

很遗憾,我收到以下错误:

Error: unexpected input in "mm1=nls(rate~mm(conc,vmax,k),data=Puromycin,start=c(vmax=50,k=0.05),subset=state==”"

我该如何解决这个错误?

【问题讨论】:

  • 您好,vahid,看起来您的引号中有弯引号。尝试将state=="treated” 替换为state == 'treated' 如果您使用的是Mac,则可以turn type of this autocomplete off
  • 谢谢。你是对的。现在已经修复了。
  • @vahid:更一般地说,您应该放弃使用文字处理程序来进行程序编辑。而是使用专为编程设计的编辑器。

标签: r nls


【解决方案1】:

这是一个完整的解决方案,绘制了拟合线。

data(Puromycin)

mm <- function(conc, vmax, k) vmax*conc/(k + conc)

mm1 <- nls(rate ~ mm(conc,vmax,k), data = Puromycin,
        start = list(vmax = 50, k = 0.05),
        subset = state == "treated")
summary(mm1)

with(Puromycin, plot(conc, rate))
x <- with(Puromycin, seq(min(conc), max(conc), length.out = 100))
y <- predict(mm1, newdata = data.frame(conc = x), se = FALSE)
lines(x, y, col = "blue")

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 2020-09-19
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2022-01-11
    • 2012-03-14
    • 2021-03-24
    相关资源
    最近更新 更多