如何在每个后续数字的间隙中找到第一个缺失的数字?

时间:2016-08-04 18:28:20

标签: r

我有一系列1到10之间的数字按升序排列,有些数字丢失了。我想找到每个缺失差距的第一个数字。我在R中这样做。例如:

numbers=c(1,2,5,6,7,10)

缺少的数字是3,4和8,9所以我想找到3和8:

3
8 

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:2)

您可以使用diff完成此操作,并按以下方式进行子集化

numbers[diff(numbers) != 1] + 1
[1] 3 8

diff(numbers) != 1将返回一个逻辑向量,其中相邻元素不等于"计数"中的下一个数字。订购。 numbers[]将对这些进行子集化,然后添加1以返回缺失值。