首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有R库或从原始数据中提取乙状结肠函数和方程的方法?

是否有R库或从原始数据中提取乙状结肠函数和方程的方法?
EN

Stack Overflow用户
提问于 2022-11-16 23:57:02
回答 1查看 26关注 0票数 1

这个阴谋意味着药物的集中。

我想改变这个图,就像乙状结肠图,这是一个曲线。

原始数据

代码语言:javascript
复制
μ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-平方值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-17 00:49:53

在最初的(而不是 log-log)标度上,乙状结肠曲线被证明是一个很好的匹配。

代码语言:javascript
复制
## 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网页给出了该公式。

代码语言:javascript
复制
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)是件讨厌的事--可能需要重新考虑这个选择.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74468653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档