使用 R 中的 drc 包回归​​多个剂量反应曲线

2024-04-16

我试图通过我的实验数据拟合回归(4 或 5 PL)。我有几种化合物可以抑制我感兴趣的酶。每个都有其自己的 0-100% 酶活性范围。所有数据都在一个数据框中,并通过指定我的化合物(“毒素”)的一列进行区分。因此,我想对每种毒素/化合物分别进行回归。我尝试了以下代码

drc <- drm(avg ~ conc, data = testdata, toxin, fct = LL.5())

这给出了以下两个错误:

optim 中的错误(startVec, opfct, hessian = TRUE, method = optMethod, control = list(maxit = maxIt, : 非有限有限差分值 [24] drmOpt 中的错误(opfct、opdfct1、startVecSc、optMethod、 constrained, warnVal, : 收敛失败

在阅读了一些关于 SO 的帖子后,这个错误通常可以通过不使用浓度的对数刻度(“conc”)来解决。就我而言,数据没有进行日志转换,因此我真的不知道如何继续,因为我不太明白错误消息告诉我什么。

我仅使用数据的子集(仅一种毒素)尝试了相同的命令,并且有效。

这是数据:

    testdata <- structure(list(toxin = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L), .Label = c("toxin1", 
"toxin2", "toxin3", "toxin4", "toxin5", "toxin6", "NC", "PC", 
"toxin7"), class = "factor"), conc = c(80, 230, 690, 2060, 
6170, 18520, 55560, 116700, 5e+05, 1500000, 10, 30, 100, 290, 
860, 2600, 7700, 23300, 70000, 210000, 0.25, 0.76, 2.29, 6.69, 
29.57, 61.73, 185.19, 555.56, 1666.67, 5000, 0.1, 0.3, 0.91, 
2.74, 8.23, 24.69, 74.07, 222.22, 666.67, 2000, 0.19, 0.39, 0.78, 
1.56, 3.125, 6.25, 12.5, 25, 50, 100, 0.05, 0.14, 0.41, 1.23, 
3.7, 11.11, 33.33, 100, 300, 900, 0.25, 0.76, 2.29, 6.69, 20.57, 
61.73, 185.19, 555.56, 1666.67, 5000), avg = c(93.7392909656605, 
109.438977761257, 102.50389863782, 97.8565582988098, 98.7749196390328, 
94.6820096545283, 88.3878644123183, 74.6531623906189, 59.8033994067719, 
33.1521812859023, 84.3458578131283, 80.8432075369312, 80.5041552022783, 
74.3806536115552, 65.867746238255, 46.7093609589345, 25.2625895634089, 
16.5991924099889, 9.8338847737454, 9.1267136985971, 96.7637675923354, 
100.217322048861, 106.911067427548, 105.869274152439, 104.26295691452, 
99.924974639669, 105.178112603458, 100.834869287621, 97.0640881891228, 
100.517438616909, 102.664029650058, 104.079019894009, 106.005108031173, 
101.539083701953, 98.0496674854621, 67.7840816081928, 39.3101865930841, 
38.410593148271, 8.98193991681226, 7.22314661576326, 84.0614720922454, 
82.7675961061481, 65.2085894181738, 37.3278677636159, 24.9075938602538, 
14.3617392491638, 10.7917687047216, 8.37929257644196, 8.42895771412019, 
12.9194757988616, 76.5674185459266, 65.8625860764468, 47.7169920989096, 
29.6780563387259, 7.69651805994566, 4.34554390880982, 4.33821927277971, 
0.39797595095055, 2.38671848257005, 5.89474149920234, 107.319075979956, 
110.227548845268, 116.828640966343, 107.913632096559, 110.071386130938, 
106.575197414688, 105.043139402911, 98.236919454246, 104.052659508375, 
84.6763301224036), sd = c(7.49544951952132, 14.9170973650272, 
1.03754566304896, 3.87773637652399, 9.17174603323541, 2.0257944547102, 
0.874956239047901, 3.35155947287539, 1.91936941393018, 2.02594096726786, 
1.60035835782164, 1.25579403370456, 3.52866856497447, 4.04640886982452, 
7.37920326517342, 6.40246869316039, 4.77482079353957, 4.68322190067079, 
1.74780492483205, 0.738821067897037, 5.42050977224004, 12.2951096302121, 
9.08089564089922, 7.46281702965045, 9.52060311645085, 6.66339041948764, 
9.04568668161887, 10.9590666295114, 6.25902541715453, 4.96928340386536, 
10.8885949633507, 15.9830841613276, 7.11298501037955, 8.54768106201583, 
12.7115587453605, 5.72457692384765, 4.62110397186864, 50.9817341717873, 
2.96030364454981, 2.83464116977327, 10.7124422767561, 10.3544552730142, 
9.05103847553877, 13.233995551835, 4.26528894064237, 2.18416799462023, 
1.17346307923401, 5.46453008680512, 3.09705214055433, 10.1345046611914, 
2.11845922287944, 3.11915150865922, 6.31893385595251, 14.1295842962481, 
1.33224797602539, 2.11901484197009, 5.05792906176149, 2.08503325893712, 
3.05243406958019, 8.68923158027763, 8.49552648053034, 7.45485150355005, 
8.70510335269844, 7.13998242209083, 6.32588028411456, 4.75860842345735, 
4.09767898578108, 7.04991004776136, 9.37260366463128, 7.20137530818876
)), .Names = c("toxin", "conc", "avg", "sd"), row.names = c(NA, 
-70L), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), vars = list(
    toxin), drop = TRUE, indices = list(0:9, 10:19, 20:29, 30:39, 
    40:49, 50:59, 60:69), group_sizes = c(10L, 10L, 10L, 10L, 
10L, 10L, 10L), biggest_group_size = 10L, labels = structure(list(
    toxin = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 9L), .Label = c("toxin1", 
    "toxin2", "toxin3", "toxin4", "toxin5", "toxin6", "NC", 
    "PC", "toxin7"), class = "factor")), row.names = c(NA, 
-7L), class = "data.frame", vars = list(toxin), drop = TRUE, .Names = "toxin"))

该错误消息告诉您该函数无法找到至少一个数据子集的解决方案。就您而言,toxin3 是有问题的数据集。如果我运行以下省略 toxin3 的代码,我会得到一个收敛结果和一个显示结果的漂亮图。

drc <- drm(avg ~ conc, data = testdata, curveid=toxin, subset=toxin %in% c("toxin1","toxin2","toxin4","toxin5","toxin6","toxin7"), fct = LL.5())
plot(drc)

毒素 3 失败的原因是数据描述了一条可以拟合任意数量的 LL.5() 参数集的平坦线。解决这些问题的一种方法是将每条曲线分别拟合在循环(或应用函数)中,并使用 try/catch 来处理引发收敛错误的任何数据集。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 R 中的 drc 包回归​​多个剂量反应曲线 的相关文章

  • 使用 R:如何创建带有日期的时间序列对象?

    我有一年中每小时采集的一系列值 是否可以创建一个保留小时和年份值的时间序列对象 我的代码使用股票价格第一列中的值 但不使用日期 stockprices ts lt ts stockprices 1 start 1 freq 168 您没有提
  • R ifelse 错误地用整数替换文本

    我正在使用 Udacity 课程中的一些数据 链接 Reddit 调查回复 https s3 amazonaws com udacity hosted downloads ud651 reddit csv 我试图通过使用单个单词替代替换任何
  • 如何使用 RODBC 将数据帧保存到数据库生成的主键表

    我想使用 R 脚本将数据框输入到数据库中的现有表中 并且希望数据库中的表具有顺序主键 我的问题是 RODBC 似乎不允许主键约束 这是创建我想要的表的 SQL CREATE TABLE dbo results ID INT IDENTITY
  • 带有 geom_errorbar 的position_dodge

    我有以下代码 require ggplot2 pd lt position dodge 0 3 ggplot dt aes x Time y OR colour Group geom errorbar aes ymin CI lower y
  • R中的不定积分

    我正在计算方程的不定积分 我将加速度计的数据通过可视化 C 程序输入到 R 中 然后就可以很简单地得出一个方程来表示加速度曲线 这一切都很好 但是我还需要计算撞击速度 根据我在高中时代的理解 我的加速度曲线的不定积分将产生速度方程 我知道执
  • 如何管理和处理 R 包中的补充数据

    我想在我的 R 包中添加补充数据 我知道关于LazyData true in DESCRIPTION 但不想使用它 因为示例数据相当大 所以我创建了一个目录 data 其中包含两个 RData文件和一个datalist 我添加使用tools
  • 字边界正则表达式问题

    我在使用单词边界时遇到问题 b在我的正则表达式中 我正在使用 R 但当我尝试时问题也存在http regexr com http regexr com 我使用的模式是 bs l b 虽然我预计下面的第 1 行和第 3 行能够匹配此模式 但只
  • 计算 R 中数据帧的每一行中特定值的连续出现次数

    我有一个data frame许多位置 这么多行 的变量的每月值 我想计算值为零的连续月份 即连续单元格 的数量 如果只是从左到右阅读 这很容易 但增加的复杂性是年底与年初是连续的 例如 在下面的缩短示例数据集中 用季节而不是月份 位置 1
  • 修复 ggplot 中构面中的数据顺序

    我在使用 ggplot 绘制数据时遇到问题 我无法使每个方面内的数据正确排序 我的样本数据是 data lt structure list Parameter c 0 1 0 7 0 0 0 2 0 2 0 7 0 0 0 1 0 3 0
  • 再现频率矩阵图

    我想在 R 中重新创建一个情节 情节如下 来源 Boring E G 1941 作为动态平衡的统计频率 心理学评论 48 4 279 这略高于我的工资等级 能力 因此在这里询问 无聊的状态 第一次 A 只能出现 从不 0 或 总是 1 在
  • R Data.Table 创建带有条件的变量

    我需要在下面的数据集中创建一个新变量 A X a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10 The newvar如果X等于 2 5 7 或 9 否则 newvar应该是 0 Code dt1 lt dat
  • 根据不平凡的标准有效合并两个数据帧

    正在接听这个问题 https stackoverflow com questions 18821862 data selection error 18823432 18823432昨晚 我花了一个小时试图找到一个没有增长的解决方案data
  • 在单个显示器中绘制多个 jpeg 图像

    我需要在单个组合显示器 或画布 中绘制和显示多个 jpeg 图像 例如 假设我有图像 a b c d jpg 每个图像的大小不同 我想将它们绘制在 2x2 网格的一页上 能够为每个子图设置标题也很好 我一直在彻底寻找解决方案 但不知道如何去
  • 获取所有矩阵列逐元素乘积对的快速方法

    假设我有一个数字matrix set seed 1 mat lt matrix rnorm 1000 ncol 100 我想生成所有向量 它们是中所有唯一向量对的逐元素乘积的结果mat 我们如何改进下面的代码 all pairs lt t
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 在ggplotly散点图中添加自定义数据标签

    我想显示Species对于每个数据点 当光标位于该点上方而不是 x 和 y 值时 我用iris数据集 另外 我希望能够单击数据点以使标签持久存在 并且当我在图中选择新位置时标签不会消失 如果可能的话 最基本的是标签 持久性问题是一个优点 这
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 对于多项式,获取其所有极值并通过突出显示所有单调部分来绘制它

    有人问我这个有趣的问题 我认为值得将其发布在这里 因为 Stack Overflow 上还没有任何相关线程 假设我有长度为的多项式系数n vector pc 其中次数多项式n 1对于变量x可以以其原始形式表示 pc 1 pc 2 x pc
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 无法在 Document-Term-Matrix 中看到 `RTextTools::toLower()` 文本的结果

    我尝试创建一个矩阵 为此我想降低文本 为此 我使用此 R 指令 matrix create matrix tweets 1 toLower TRUE language english removeStopwords FALSE remove

随机推荐

  • Selenium:谁设置了 cookie?

    在selenium 和python 如果它确实重要的话 中有没有办法找出哪个js设置 访问某些cookie 我需要的一些功能由OpenWPM https github com citp OpenWPM 他们是如何做到的呢 据我所知 他们 O
  • 按分割字符串 django orm 排序

    我有一个 ID 作为参考号和年份 格式如下 1 17 98 15 2 17 112 17 2345 17 67 17 9 17 8974 16 当我使用 django orm 获取我的 ID 时 obj MyIDs objects filt
  • 使用构造函数参数从类创建新实例

    我遇到过这样的情况 我的 Java 类需要创建大量某种类型的对象 我想给出作为参数创建的对象的类的名称 此外 我需要在其构造函数中为创建的类提供一个参数 我有类似的东西 class Compressor Class ccos public
  • mvn release 使用特定的私钥推送到 git

    我希望有人能帮忙解决这个问题 我正在尝试配置mvn release插件pom xml这样更新的 pom 版本和标签就会作为 git repo 的一部分推送到release prepare 至关重要的是 它需要使用特定用户的ssh私钥 因为最
  • 如何计算 Windows 区域 (HRGN) 的面积(以像素为单位)?

    获取任意 Windows 区域面积的最快方法是什么 我知道我可以枚举边界矩形的所有点并调用PtInRegion 功能但是似乎不是很快 也许你知道一些更快的方法 你打电话时GetRegionData http msdn microsoft c
  • 与其他浏览器中的“-moz-element”等效吗?

    我想创建一个不透明模糊叠加 类似于 Windows Aero 或 iOS7 不幸的是filter blur or filter url svgBlur 属性只能应用于元素 不能应用于其后面的内容 为了解决这个问题 我们需要一个模糊背景的副本
  • dos2unix 不转换 ^M

    我从 Windows 7 上运行的程序将结果导出到文本文件中 并在 Xubuntu 14 04 上复制该文件 在终端中 我跑了dos2unix file txt 这告诉我converting file out mapqtl txt to U
  • 使用 UDF 的 DataFrame 给出任务不可序列化异常

    尝试在数据帧上使用 show 方法 它给出了任务不可序列化异常 我尝试扩展可序列化对象 但错误仍然存 在 object App extends Serializable def main args Array String Unit Log
  • 在android中点击键盘的完成按钮时将数据插入数据库

    我想知道在将数据插入数据库时 按下键盘 完成 按钮时到底应该做什么 我在这里使用多个编辑文本 当谈到最后一个编辑按钮时 我必须将所有数据插入数据库 private static final String CREATE DB TABLE BU
  • opencv VideoCapture.设置灰度?

    我会避免将摄像机拍摄的每一帧转换为cvtColor frame image CV RGB2GRAY 有没有办法设置VideoCapture直接进入灰度 Example VideoCapture cap 0 cap set CV CAP PR
  • 如何获取从标准 UIViewController 中调用的 UIWebView 的 UIScrollView 委托方法?

    所以我只有一个标准的 UIViewController 其中有一个显示 pdf 的 UIWebView 对于应用程序功能 我需要能够响应 UIWebView 的嵌套 UIScrollView 事件 例如scrollViewWillBegin
  • 使用 Hive 自定义输入格式

    Update 好吧 事实证明以下不起作用的原因是因为我使用的是较新版本的InputFormat API import org apache hadoop mapred这是旧的与import org apache hadoop mapredu
  • 跳出选择循环?

    我正在尝试使用select在循环中接收消息或超时信号 如果收到超时信号 则循环应中止 package main import fmt time func main done time After 1 time Millisecond num
  • Android 使用前置摄像头拍照

    这是我第一次使用相机 我已经阅读了很多示例和文档 所以我尝试创建自己的类来使用前置摄像头拍照 这就是我想出的 public class CameraController private Context context private boo
  • 如何使用 Active Support 核心扩展

    我安装了 Active Support 3 0 3 和 Rails 3 0 3 with Ruby 1 8 7 当我尝试使用时1 week ago I get NoMethodError undefined method week for
  • 是否可以针对 noSQL DB 构建复杂的查询

    我一直在研究 noSQL DB 但未能为自己满意地回答这个问题 是否可以针对 noSQL DB 构建复杂的查询 我想知道的查询类型是这样的 select from DB where vara gt x AND varb 2 AND varc
  • 无法添加日期选择器选项?

    我有一个表单 它动态创建一个带有几个表单输入的新行 其中一个输入附有一个日期选择器 我刚刚在这里的帮助下成功完成了这项工作 除了还剩下一个问题 当我想向日期选择器添加选项时 它就会停止工作 工作小提琴 http jsfiddle net H
  • 无法使字段“属性”可访问;更改其可见性或为其声明类型 gSON fromJson 编写自定义 TypeAdapter

    我有一个名为游戏的课程 public class Game private String name private int id private GameFields gameFields Expose deserialize false
  • Clang 标志的完整列表

    在哪里可以找到 Clang 标志的完整列表 有一些 比如 include pch 这似乎没有在手册页中列出 我知道 GCC 使用一些相同的标志 但它不包括类似的文档 Os我相信这仅在 Clang 中可用 是否有地方可以找到所有 Clang
  • 使用 R 中的 drc 包回归​​多个剂量反应曲线

    我试图通过我的实验数据拟合回归 4 或 5 PL 我有几种化合物可以抑制我感兴趣的酶 每个都有其自己的 0 100 酶活性范围 所有数据都在一个数据框中 并通过指定我的化合物 毒素 的一列进行区分 因此 我想对每种毒素 化合物分别进行回归