所以,我正在尝试做一个相当简单的统计显着性计算。
我的程序将数据集创建为元组列表:
example_dataset = [(0, 629), (1, 546), (2, 255), (3, 72), (4, 27), (5, 2), (6, 4), (7, 0), (8, 0), (9, 0), (10, 0), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0)]
每个数据集都是相同的,这意味着它是一个包含 16 个元组的列表,其中第一项是 0 次出现,最后一项是 15 次出现。
例如,在上面的示例数据集中,第一个元组意味着我的 629 个 DNA 序列出现了 0 次,我的 546 个 DNA 序列出现了 1 次等。
每个数据集也是相同的,序列总数始终为 1535。
5% 的序列是 76.75。我想知道每个数据集的上 5%(外观)在哪里。在上面的数据集中,在 15 次出现到 4 次出现之间我有 33 个序列(4 + 2 + 27),在 15 次出现到 3 次出现之间我有 105 个序列。
这意味着 76.75 个序列介于 3 到 4 次出现之间。
我如何发现每个数据集的这些信息,而不是通过手动计算?
我需要以某种方式创建一个函数,该函数将获取元组列表作为输入和输出 4(因为 3 已经超过 76.75 个序列)。
another_example_dataset = [(0, 331), (1, 532), (2, 398), (3, 180), (4, 74), (5, 17), (6, 3), (7, 0), (8, 0), (9, 0), (10, 0), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0)]
另一个例子,对于上述数据集,输出应该是 5(因为在 4 处我们已经越过了 76.75,76.75 介于 4 到 5 之间)。
不要求任何人为我编写此代码,但如果提供有用的命令或提示,将不胜感激。:)
谢谢,
埃亚尔