R 中曲线下增量面积 (iAUC)

2024-04-15

曲线下面积可以使用以下公式计算trapz的功能pracmaR. iAUC 中的包在许多情况下更加准确,特别是在生物学中。然而据我所知,没有 R 函数可以计算这个。陷阱函数如下:

Example:

a <- c(1, 4, 5, 6)
b <- c(2, 4, 6, 8)
plot(a, b)
trapz(a, b)

答案:21

有谁知道如何用R计算iAUC?可以找到指南.

提前致谢。

Update 针对郑佑的回答如下:另一个例子

# Recall that trapz-function is available in the pracma package
# Here is the function kindly provided by Cheng-Yow Timothy Lin
library(pracma) # should be loaded already
traps <- function(a, b) {
     for (i in 1:length(b)-1){
          iAUC[i] <-((b[i]+b[i+1])/2)*(a[i+1]-a[i])
     }
     return(sum(iAUC))
}

# Data example
a <- c(-15,  -5,   1,   2,   3,   5,   8,  10,  15,  20,  30,  45,  60,  90, 120)
b <- c(50.20604,  49.59338,  47.39944,  56.38831,  69.43493,  73.92512,  61.92072,  67.92632, 115.45669,
195.03242, 322.15894, 291.30094, 289.20284, 238.70562, 156.23798)

traps(a, b)

trapz(a, b)

它们产生相同的结果 - 这是曲线下的增量面积吗?这不是他们解释 trapz 函数的方式......

感谢您的任何启发!


    a <- c(1,2,3,4,5)
b <- c(1,2,-1,-2,2)
plot(a,b)
lines(a, b)
abline(b[1],0)
iAUC <- vector()

for (i in 1:(length(a)-1)){

  if((b[i+1]-b[1] >= 0) && (b[i]-b[1] >= 0))
  {iAUC[i] <-((b[i]-b[1]+b[i+1]-b[1])/2)*(a[i+1]-a[i])} 

  else if((b[i+1]-b[1] < 0) && (b[i]-b[1] >= 0))
  {iAUC[i] <-(b[i]-b[1])*((b[i]-b[1])/(b[i]-b[i+1])*(a[i+1]-a[i])/2)} 

  else if((b[i+1]-b[1] >= 0) && (b[i]-b[1] < 0))
  {iAUC[i] <-(b[i+1]-b[1])*((b[i+1]-b[1])/(b[i+1]-b[i])*(a[i+1]-a[i])/2)} 

  else if((b[i]-b[1] < 0) && (b[i+1]-b[1] < 0))
  {iAUC[i] <- 0}
}
sum(iAUC)
iAUC    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中曲线下增量面积 (iAUC) 的相关文章

  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • 如何根据 ggplot2 中的汇总数据创建堆积条形图

    我正在尝试使用 ggplot 2 创建堆积条形图 我的宽格式数据如下所示 每个单元格中的数字是响应的频率 activity yes no dontknow Social events 27 3 3 Academic skills works
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • 如何在Rstudio中快速给几个单词加上引号?

    如何将 MI ID FL 转换为 MI ID FL 而无需键入每个双引号 Hmisc 包有一个函数 Cs 它将评估逗号分隔的文本是否带有引号 Cs MI ID FL becomes MI ID FL
  • 扩展数据框以使其具有与原始行中两列的范围一样多的行[重复]

    这个问题在这里已经有答案了 我有一个数据框如下 structure list symbol c u n v i a start c 9L 6L 10L 8L 7L end c 14L 15L 12L 13L 11L Names c symb
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x
  • 如何使用plotmath更新ggplot图例标签

    我正在尝试更新ggplot要使用的图例标签plotmath但是 当我这样做时 它将之前组合的图例分成两部分 通过一个例子可能更容易理解 test data and the default plot gives the correct col
  • 如何在R中实现countifs函数(excel)

    我有一个包含 100000 行数据的数据集 我尝试做一些countifExcel 中的操作 但速度慢得惊人 所以我想知道R中是否可以完成这种操作 基本上 我想根据多个条件进行计数 例如 我可以指望职业和性别 row sex occupati
  • tidyverse - 将命名向量转换为 data.frame/tibble 的首选方法

    使用tidyverse我经常面临将命名向量转换为向量的挑战data frame tibble列是向量的名称 执行此操作的首选 tidyverse 方式是什么 编辑 这与 this https github com hadley dplyr
  • 如何使用合并或替换来更新 R 中具有多列的表

    我想做一些与这个问题非常相似的事情 如何使用 merge 更新 R 中的表 https stackoverflow com questions 3190118 how to use merge to update a table in r
  • ggplot geom_bar - 条形太宽

    对于这个非信息性的标题 我感到很抱歉 gt y read csv textConnection scan sep n what raw org art type length 191 gk Finish short 4 147 ik Att
  • 聚合函数在数据框中创建不需要的向量

    我在函数中创建数据帧时遇到了一个奇怪的问题 但是 在 data frame 之外使用相同的方法效果很好 这是基本函数 我用它来计算数据集的平均值 标准差和标准误差 aggregateX lt function formula dataset
  • 导入 .sav 时出现警告/错误

    我工作中有两个版本的 SPSS SPSS 11 在 Windows XP 上运行 SPSS 20 在 Linux 上运行 SPSS 的两个副本都工作正常 使用任一版本的 SPSS 创建的文件在其他版本的 SPSS 上打开时不会出现任何问题
  • 使用 dplyr 对连续变量进行分类[重复]

    这个问题在这里已经有答案了 我想基于连续数据创建一个具有 3 个任意类别的新变量 set seed 123 df lt data frame a rnorm 100 使用基地我会 df category df a lt 0 5 lt low
  • 函数速度测试的奇怪结果

    我编写了一个使用递归来查找最大公因数 分母 的函数 gt gcd function a b if length a length b gt 1 warning Only scalars allowed using first element

随机推荐

  • 如何将事件处理程序分配给 JavaScript 中的多个元素?

    我知道如何使用 jQuery 来做到这一点 并且我知道如何使用事件委托来做到这一点 但是如何在纯 JavaScript 中做到这一点呢 例如 如何将事件处理程序分配给一堆lis 我看到var li document querySelecto
  • 代码高尔夫:弗罗贝尼乌斯数

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 编写最短的程序来计算给定正数集的弗罗贝尼乌斯数 弗罗贝尼乌斯数是不能写成集合中数字的正倍数之和
  • CKEditor 5 通过外部 url 插入图像

    我想知道如何仅通过 URL 插入图像 用户从其他网站获取它 我需要实现一个简单的img 源 在 CKEditor 5 中 问题是 默认情况下 编辑器要求我上传图像 而我需要插入外部 url 我读过很多相关主题 1 https stackov
  • 带正文的 HttpDelete

    我正在尝试使用 HttpDelete 对象来调用 Web 服务的删除方法 Web 服务的代码从消息正文中解析 JSON 但是 我无法理解如何将主体添加到 HttpDelete 对象 有没有办法做到这一点 使用 HttpPut 和 HttpP
  • Python 的“导入”内部是如何工作的?

    当您导入一个模块 然后再次重新导入它时 它会被重新导入 覆盖还是跳过 当您导入模块 a 和 b 并且还在模块 a 中导入模块 b 时 会发生什么 这样做安全吗 例如 如果该模块 b 中有一个实例化的类 您最终会实例化它两次吗 import加
  • 我在使用阴影效果时表现不佳

    我在滚动视图上放置了一些图像视图 当我拖动这个滚动视图时 我没有遇到任何问题 但是 当我对这些图像视图应用阴影效果后 拖动此滚动视图的性能很差 我使用了shadowOpacity shadowRadius 和shadowOffset 方法
  • 使用流迭代 n 次,而不是使用 for 循环创建 n 项

    假设我想创建 n 个项目 在 Java 8 之前 我会这样写 List
  • 如何构建特定函数调用的图表?

    我有一个项目 我想动态构建特定函数调用的图表 例如 如果我有 2 个模板类 A 和 B 其中 A 有一个跟踪方法 保存为图形节点 B 有 3 个方法 非跟踪方法 跟踪方法和调用 A 的跟踪方法的跟踪方法 那么我希望能够仅将跟踪的方法调用注册
  • PyAudio 输入溢出

    我正在尝试用 python 发出实时绘图声音 我需要从我的麦克风中获取数据块 使用 PyAudio 尝试使用 import pyaudio import wave import sys chunk 1024 FORMAT pyaudio p
  • 查找字符串的*最*常见前缀 - 更好的方法吗?

    我有一个钥匙列表 foo a foo b foo c fnord 这里所有类似的解决方案都假设您没有fnord在你的文字中 我有这个代码可以完成这项工作 def detect prefix keys PCT 0 70 cutof pre l
  • 获取“/”字符后的字符串

    我想在 PostgreSQL SELECT 查询中提取字符 后面的字符串 字段名称是source path 表名是movies history 数据示例 source path 的值 184738 file1 mov 194839 file
  • 将 MATLAB 绘图转换为图像

    我生成了一个类似的情节 figure hold axis 0 10 0 10 fill 1 1 5 5 5 1 1 5 b 现在我想将此图作为矩阵 以便我可以用高斯过滤博客 谷歌搜索我发现了这个线程将绘图光栅化为图像 http www ma
  • 如何在 Struts2 中检查 s:if 中的字符串不等式

    我在用
  • android OpenGL ES简单图块生成器性能问题

    遵循这个问题 老式 2D 类似塞尔达传说游戏的最佳方法 https stackoverflow com questions 2125354 best approach for oldschool 2d zelda like game 感谢之
  • 在 log(n) 时间内查找排序数组中至少出现 k 次的元素

    给定一个由 n 个元素和一个数字 k 组成的排序数组 是否有可能在 log n 时间内找到出现超过 k 次的元素 如果有多个数字出现超过 k 次 则其中任何一个都可以接受 如果是 怎么办 编辑 我能够在线性时间内解决这个问题 并且我很高兴在
  • 如何从命令行列出已安装的 MSI? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们最近将 Windows 软件包从 RPM cygwin 切换到 MSI wix 拥有原生包装是一个非常受欢迎的变化 我们打算坚持下去 然而 MSI
  • 使用 JQuery 将事件处理程序添加到 iframe

    我想将 keydown 事件处理程序分配给 iframe 类似于纯JS的东西 document getElementById iframe id contentWindow addEventListener keydown funcName
  • 生成加权随机数

    我正在尝试设计一种 好的 方法从一系列可能的数字中选择一个随机数 其中该范围内的每个数字都被赋予一个权重 简单地说 给定数字范围 0 1 2 选择一个数字 其中 0 有 80 的概率被选中 1 有 10 的概率 2 有 10 的概率 自从我
  • Angular - Google 未定义?

    你好 我正在尝试实施google maps api in angular 这很简单angularjs但我不知道什么不起作用 我有一个简单的应用程序 它显示产品及其位置 单击位置后 该位置会显示在地图上 但我正在使用的购物地图google m
  • R 中曲线下增量面积 (iAUC)

    曲线下面积可以使用以下公式计算trapz的功能pracmaR iAUC 中的包在许多情况下更加准确 特别是在生物学中 然而据我所知 没有 R 函数可以计算这个 陷阱函数如下 Example a lt c 1 4 5 6 b lt c 2 4