我有一个有点混乱的数据集需要清理。一些操作通过强制引入 NA,但即使没有强制,数据集也包含许多 NA。我如何确定哪些行或元素引入了 NA。
例如
a <- c(1,2,"three", rep(NA, times=10))
as.numeric(a)
[1] 1 2 NA NA NA NA NA NA NA NA NA NA NA
Warning message:
NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)
结果将第三个元素强制为数字。有没有办法确定是第三个元素导致了这种情况,而不是其他 NA(非)值?谢谢你!
尝试
which(is.na(as.numeric(a)) != is.na(a))
3
# Warning message:
# In which(is.na(as.numeric(a)) != is.na(a)) : NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)