【问题标题】:How to calculate area under the curve from logarithmic plot with xmgrace?如何使用 xmgrace 从对数图计算曲线下面积?
【发布时间】:2019-10-18 11:45:21
【问题描述】:

我使用这些数字在xmgrace 中以线性比例绘制了我的数据:

0.001       0
0.00589391  0.10
0.155206    0.20
0.294695    0.30
0.43222     0.40
0.436149    0.50
0.489194    0.60
0.611002    0.70
0.860511    0.80
0.939096    0.90
0.964637    1
1           1

我在 Ubuntu 中使用 xmgrace 来绘制我的日期并计算曲线下的面积(AUC;数据 -> 转换 -> 积分 -> SumOnly)。 将线性曲线转换为对数曲线后,我在计算对数曲线下的面积时遇到问题。 有没有其他人遇到过类似的问题?

【问题讨论】:

  • “将线性曲线转换为对数曲线后”是什么意思?在你的例子中你是怎么做到的?
  • @lr1985 在 xmgrace (Plot -> Axis properties ->Scale) 在线性刻度上绘制我的数据后,可以选择将刻度更改为对数刻度。
  • 如果我使用您的数据,我会得到相同的值 (0.529321),而不管任一轴的比例设置如何。您能否根据您遇到的具体问题更新您的问题?
  • @lr1985 是的,这正是我遇到的问题。因为我将其用作阳性对照,我希望对数刻度得到 logAUC= ~7,但在应用对数刻度并再次计算 AUC 后,它给出了相同的结果。
  • @lr1985 实际上是我误会了她。在这个例子中,我期望 logAUC 为 ard 0.7。

标签: plot auc xmgrace


【解决方案1】:

当您将轴刻度设置为“对数”时,您实际上并没有更改数据,只是更改了数据的显示方式。因此,由于集成等数据转换作用于您拥有的实际数据,因此结果必然是相同的。

换句话说,无论轴的比例如何,您都在积分 f(x)。如果你想整合 log(f(x)) 你必须首先 convert f(x) 到 log(f(x)) 通过使用数据 -> 转换 -> 表达式,写类似y = ln(y) 并按“应用”。不过要小心:第一个点(y = 0)将得到一个“inf”。您需要手动删除它(双击一组,选择第一行并使用编辑-> 删除)或者不要在数据集中使用正好 0。如果您还想转换 x 轴,则打开相同的“表达式”窗口并写入 x = ln(x)。整合新数据集,你应该得到正确的数字(我认为是 -7.9)。

【讨论】:

  • 感谢您的回复。我明白你的意思,这很有道理。我不是来自数学领域,但如果 logAUC 不应该是一个绝对数,正数,我会有点困惑吗?因为在将比例更改为对数时我得到了几个文件输出,比如在输出中它们往往对xy 轴有负数,所以我猜它应该 logAUC 应该是一个绝对值。
  • 所以我知道这个公式会有所帮助,但在实施时会遇到一些小问题。公式可以在 [本文] (ncbi.nlm.nih.gov/pmc/articles/PMC2790034) 中找到。 ligand selected 在第一次迭代时为 1; ligand total 始终为 10。N subset 基本上是此示例中的 X 轴乘以 100,而 N total 始终为 495
  • 不,它不必是积极的。你所说的“AUC”只是函数的积分,它可以是任何数字(正数、负数、零、无限等)。如果您需要做的就是应用 eq. 2篇论文你应该使用excel或者类似的软件直接计算logAUC。
猜你喜欢
  • 2011-06-24
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 2017-01-25
  • 2014-03-19
  • 2015-08-10
  • 2015-04-16
相关资源
最近更新 更多