Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 是否有办法确定NAs的引入位置?_R_Comma_Gsub_Na_Coercion - Fatal编程技术网

R 是否有办法确定NAs的引入位置?

R 是否有办法确定NAs的引入位置?,r,comma,gsub,na,coercion,R,Comma,Gsub,Na,Coercion,最近浏览了我相当大的数据集,发现一些foo决定使用逗号。尝试将其全部转换为数字。使用了一个漂亮的小gsub来去除那些讨厌的逗号,但我仍然发现NAs是由强制引入的。是否有一种方法可以通过列和行来识别引入这些NAs的位置,以便我了解为什么会出现这种情况 谢谢 使用is.na()函数。考虑下面的数据帧,其中包含 NA/COD>值,例如: > df <- data.frame(v1=c(1,2,NA,4), v2=c(NA,6,7,8), v3=c(9,NA,NA,12)) > df

最近浏览了我相当大的数据集,发现一些foo决定使用逗号。尝试将其全部转换为数字。使用了一个漂亮的小gsub来去除那些讨厌的逗号,但我仍然发现NAs是由强制引入的。是否有一种方法可以通过列和行来识别引入这些NAs的位置,以便我了解为什么会出现这种情况

谢谢

使用
is.na()
函数。考虑下面的数据帧,其中包含<代码> NA/COD>值,例如:

> df <- data.frame(v1=c(1,2,NA,4), v2=c(NA,6,7,8), v3=c(9,NA,NA,12))
> df
  v1 v2 v3
1  1 NA  9
2  2  6 NA
3 NA  7 NA
4  4  8 12

每一列都将与出现
NA
值的行一起返回。

我还将使用
which
arr.ind=TRUE
来获取行/列索引(“df”来自@Tim biegleisen的帖子)


在一个非常大的数据集中,有没有一种方法可以做一个is.na来识别NAs的列和行,而不是试图对整个列表的真假进行排序?谢谢!这非常有帮助。我还注意到一些响应将整数(0)列为响应。你能帮我澄清一下在这种情况下这意味着什么吗?@BenjaminBaker-这意味着在该专栏中没有找到NA。返回的是一个空整数向量,没有存储任何数据。谢谢!这也很有帮助。@BenjaminBaker没问题。很高兴帮助你
> sapply(df, function(x) { c(1:length(x))[is.na(x)] })
$v1
[1] 3

$v2
[1] 1

$v3
[1] 2 3
 which(is.na(df), arr.ind=TRUE)
 #     row col
 #[1,]   3   1
 #[2,]   1   2
 #[3,]   2   3
 #[4,]   3   3