gpt4 book ai didi

r - 是否有识别数字系列的通用算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:22:16 26 4
gpt4 key购买 nike

我正在寻找一种通用算法来从最大长度为几百个数字的列表中识别短数字系列。这将用于从质谱 (ms1) 数据中识别质量序列。

例如,给定以下列表,我想确定其中 3 个数字符合系列 N + 1、N +2 等。

426.24  <= N
427.24 <= N + 1/x
371.10
428.24 <= N + 2/x
851.47
451.16

系列都是这样的格式:N, N+1/x, N+2/x, N+3/x, N+4/x, etc, 其中x是一个整数(在例子中x= 1).我认为这种约束使问题变得非常容易处理。对于在 R 中解决此问题的快速/有效方法有何建议?

最佳答案

此例程将使用从 1 到 10 的 x 生成系列(您可以增加它)。并将检查原始数字列表中包含多少。

N = c(426.24,427.24,371.1,428.24,851.24,451.16)
N0 = N[1]
x = list(1,2,3,4,5,6,7,8,9,10)
L = 20

Series = lapply(x, function(x){seq(from = N0, by = 1/x,length.out = L)})
countCoincidences = lapply(Series, function(x){sum(x %in% N)})

结果:

unlist(countCoincidences)
[1] 3 3 3 3 3 3 3 3 3 2

如您所见,使用 x = 1 将有 3 个巧合。这同样适用于所有 x 直到 x=9。在这里你必须决定你想要哪个 x。

关于r - 是否有识别数字系列的通用算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com