如何在连续数字中找到丢失的数字?

Bor*_*Lim 3 r

我有如下数据

ID   x    y 
1    0    1 
2    0    1
3    0    2
4    0    2
5    1    4
6    10   7
7    10   7
Run Code Online (Sandbox Code Playgroud)

Y变量的范围从1到7,我们可以发现Y变量中缺少3,5,6.如何在连续数字中找到丢失的数字?

von*_*njd 7

最简单的解决方案是

> setdiff(1:7, df$y)
[1] 3 5 6
Run Code Online (Sandbox Code Playgroud)


asb*_*ebe 1

这是您提供的数据框。

id = rep(1:7)
x = c(0,0,0,0,1,10,10)
y = c(1,1,2,2,4,7,7)

df = data.frame(id,x,y)
Run Code Online (Sandbox Code Playgroud)

这是查找 df$y 中从 1 到 7 的缺失值的方法。找出 df$y 中的唯一值,并检查rep(1:7) 中 df$y 是否不存在唯一值,即从 1 到 7 的连续数字。

rep(1:7)[!(rep(1:7) %in%  unique(df$y))]
[1] 3 5 6
Run Code Online (Sandbox Code Playgroud)