
这个阴谋意味着药物的集中。
我想改变这个图,就像乙状结肠图,这是一个曲线。
原始数据
μM <- c(0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30)
log_μM <- log(c(0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30))
DMSO <- c(97.01, 98.43, 98.29, 97.66, 96.51, 88.39, 38.54, 2.63) # D137
log_DMSO <- log(c(97.01, 98.43, 98.29, 97.66, 96.51, 88.39, 38.54, 2.63))原始数据很小,但我想很好地表达它,并得到R-平方值。
发布于 2022-11-17 00:49:53
在最初的(而不是 log-log)标度上,乙状结肠曲线被证明是一个很好的匹配。
## pack data into a data frame (best practice)
dd <- data.frame(μM, DMSO)
## fit with "self-starting 4-parameter logistic model"
fit <- nls(DMSO ~ SSfpl(μM, l_asy, r_asy, xmid, scal), data = dd)
## plot:
par(las = 1, bty = "l") ## cosmetic
plot(DMSO ~ μM, data = dd) ## points
mvec <- seq(min(μM), max(μM), length.out = 101)
pvec <-predict(fit, newdata = data.frame(μM = mvec))
lines(mvec, pvec)

如果要在日志规模上绘制此图,只需将log = "xy"添加到plot()命令中,但请注意,该绘图不会使看起来像西格莫达尔:

?SSfpl网页给出了该公式。
l_asy+(r_asy-l_asy)/(1+exp((xmid-μM)/scal))coef(fit)会给出估计的系数。
至于R^2:您可以通过1-mean(residuals(fit)^2)/var(μM)计算R^2值(我认为第二个项可能以n/(n-1)的因子结束,因为var()在分母中使用了n-1 .)但是有地段 的 讨论 (你应该读!)为什么你可能不想/为什么它可能不是你认为它的意思..。
PS:有一个很难在普通键盘上输入的变量名(μM)是件讨厌的事--可能需要重新考虑这个选择.
https://stackoverflow.com/questions/74468653
复制相似问题