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

时间:2015-04-15 04:07:31

标签: 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

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

3 个答案:

答案 0 :(得分:6)

最简单的解决方案是

> setdiff(1:7, df$y)
[1] 3 5 6

答案 1 :(得分: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)

这是在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

答案 2 :(得分:0)

您还可以尝试使用以下逻辑找到缺失值,

val <- 400
num <- c(0:49,51:100)
if(any(val == num)){
  cat(val, "is present in the data")
}else{
  cat(val, "is missing in the data")
}