r - 我怎么知道哪些 NA 是通过强制引入的?

标签 r validation na

我有一个有点凌乱的数据集要清理。一些操作通过强制引入 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 

结果将第三个元素强制为数字。有没有办法确定它是导致这种情况的第三个元素,而不是其他 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 

关于r - 我怎么知道哪些 NA 是通过强制引入的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468598/

相关文章:

r - 如何在 R 中的 "y"轴的两侧绘制(几乎)相同的函数?

r - R中带有内部标签的三向维恩图

javascript - 覆盖 jquery 验证插件中的函数

从 R 中的距离矩阵中删除 NA 值

r - 在 R 中将字符串转换为日期会返回 NA

r - 更改ggplot2中堆积填充列的顺序

validation - 在 Laravel 表单验证中为多个字段设置一条自定义消息

c# - 检查基本拉丁字母 (A-Z) 的最简单方法

r - 在 R 中按行计算 2 个值之间的 NA 数量

删除每个元素上的按钮,动态添加到 Shiny 的 UI