R nls()michaelis-menten负参数

R nls()michaelis-menten负参数,r,nls,non-linear-regression,R,Nls,Non Linear Regression,我试图将michaelis-menten方程拟合到数据集,以确定消失率以及IC50(Km)(如果数据允许)。我得到了很好的拟合,除了浓度为0时的第一个点,但是,我得到了Km的负值,这是不正确的。我正在使用以下代码 x <- c(0, 2.5, 5.0, 10.0, 25.0) y <- c(4.91, 1.32, 1.18, 1.12, 1.09) #########################Fit General Michaelis Menten Equation#####

我试图将michaelis-menten方程拟合到数据集,以确定消失率以及IC50(Km)(如果数据允许)。我得到了很好的拟合,除了浓度为0时的第一个点,但是,我得到了Km的负值,这是不正确的。我正在使用以下代码

x <- c(0, 2.5, 5.0, 10.0, 25.0)
y <- c(4.91, 1.32, 1.18, 1.12, 1.09)

#########################Fit General Michaelis Menten Equation########################################################          


model.mm <- nls(y ~ (Vmax*x/(Km+x)), data = data.frame(x,y), 
                 start = list(Km=max(y)/2, Vmax = max(y)))
print(summary(model.mm))

#plot it
plot(y~x, type="p", lwd=2,
     xlab="Lopinavir Concentrations (uM)", ylab="Efflux Ratio")
title("Lopinavir Transport in MDCK-MDR1 Cells")
lines(fitted(model.mm)~x, col="red")

xxlab=底物浓度和ylab=速度的米氏-门汀双曲线通常看起来像一条上升到最大值的双曲线。随着基质浓度的增加,您正在测量的参数看起来像一个指数衰减。我不确定Michealis-Menten方程在这里是否适用。另外,您不应该使用lines函数。它不会给你曲线。您应该使用曲线函数


谢谢你的帮助,非常感谢

我用希尔方程解决了这个问题

fo <- y ~ (Vmax*x^hill/((VC50^hill) + (x^hill)))
st <- c(Vmax=0.5, hill=1, VC50=0.3)

model.hill <- nls(fo, data = data.frame(x,y), start = st)
print(summary(model.hill))
co <- coef(model.hill)

plot(y~x, type="p", lwd=2,
     xlab="Lopinavir Concentrations (uM)", ylab="Efflux Ratio")
title("Lopinavir Transport in MDCK-MDR1 Cells")
lines(fitted(model.hill)~x, col="red")
fo