我有如下数据
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。如何在连续数字中找到丢失的数字?
答案 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")
}