首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用is.na识别NA、“”、"“等

如何使用is.na识别NA、“”、"“等
EN

Stack Overflow用户
提问于 2022-04-05 10:56:34
回答 1查看 83关注 0票数 1

我有两个问题:

问题1:我正在尝试如何识别任何常见的缺失值格式,如NA、"“、”“。

我认为is.na会识别所有这些格式,有人能为我指出正确的方向吗?

问题2:我需要计算NA、"“和”“值,并列出所有这些值的位置。

我试过:

代码语言:javascript
复制
```{r, echo=TRUE,include=TRUE}

和(is.na(DF))

哪个(is.na(DF))

代码语言:javascript
复制

但它只计算NA值(16),并告诉我它们所处的价值位置。

但是,我碰巧知道我的数据集中有10个值丢失了,它们的格式不是NA,而是它的“",所以丢失值的总数应该是26,我应该得到它们的值位置。

我试着用这样的方法:

代码语言:javascript
复制
sum(is.na(DF, na.strings=c("NA"," ","")))

但是我得到了错误:is.na中的错误(DF,na.strings = c("NA",“","")):传递给'is.na‘的2个参数,它需要1

任何关于在这里做什么的想法都会令人惊奇。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-05 11:01:27

is.na只检测NA值,不检测" """。您可以使用" """gsub转换为NA,然后使用is.na

代码语言:javascript
复制
v = c(NA, "", " ", "A")
gsub("^$|^ $", NA, v)
# [1] NA  NA  NA  "A"

sum(is.na(gsub("^$|^ $", NA, v)))
# [1] 3

which(is.na(gsub("^$|^ $", NA, v)))
# [1] 1 2 3

说明:^$捕获空字符串(^定义字符串的开头,$捕获结尾)。^ $用一个空格捕获一个字符串(具有相同的锚具有相同的用途),而|是OR操作符。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71750549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档