如何找到序列中缺失的数字?

Mar*_*ark 2 r

我有一个包含数字列表的向量。如何找到向量中缺失的数字?

例如:

sequence <- c(12:17,1:4,6:10,19)
Run Code Online (Sandbox Code Playgroud)

缺失的数字是 5、11 和 18。

Len*_*ski 7

sequence <- c(12:17,1:4,6:10,19)

seq2 <- min(sequence):max(sequence)

seq2[!seq2 %in% sequence]
Run Code Online (Sandbox Code Playgroud)

...以及输出:

> seq2[!seq2 %in% sequence]
[1]  5 11 18
> 
Run Code Online (Sandbox Code Playgroud)


Fre*_*lia 5

您可以使用该setdiff()函数来计算集合差异。min(sequence)您想要完整序列(从到max(sequence))与缺失值之间的差异sequence

setdiff(min(sequence):max(sequence), sequence)
Run Code Online (Sandbox Code Playgroud)