首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不删除名为"NA“的值的情况下去除NA

如何在不删除名为"NA“的值的情况下去除NA
EN

Stack Overflow用户
提问于 2019-10-23 08:08:34
回答 2查看 201关注 0票数 2

我正在处理一个数据集,其中一个列是ISO国家代码(例如,美国、GB、DE等)。这些代码之一是NA,即纳米比亚。

写CSV的时候

write.csv2(df_FINAL, "Final_Merge.csv", col.names =TRUE, row.names = FALSE, na ="")

“国家代码”栏中纳米比亚的单元格将作为空白打印。

有没有办法让na="",并将一栏排除在这个过程中,这样我就可以避免抹去纳米比亚的价值观吗?

我不能更改国家代码,因为它必须在许多数据文件上保持一致。

添加注释:我查看了脚本,问题似乎是R在导入dataframe时如何读取值。基本上,R将纳米比亚的细胞解读为不可得的。在此之后,无论发生什么,它们仍将是不可用的。解决方案:使用read.csv2时,按照anwswer中的建议添加na.strings=""

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-23 08:36:01

如果您的问题是将实际字符串" NA“读入NA值,则read.csv2函数有一个参数na.strings,该参数的默认值为"NA"。这应该改变为不同的东西,甚至可能是""。我还看到在某些情况下使用了"<NA>"

票数 2
EN

Stack Overflow用户

发布于 2019-10-23 08:15:04

在编写之前,可以先用R脚本中的空字符串替换NA值。然后,按原来的方式调用write.csv

代码语言:javascript
复制
df_FINAL <- data.frame(iso <- c("US", "GB", "DE", "NA", NA), stringsAsFactors=FALSE)
df_FINAL$iso[is.na(df_FINAL$iso)] <- ""
write.csv2(df_FINAL, "Final_Merge.csv", col.names =TRUE, row.names = FALSE, na ="")

如果读取包含纳米比亚国际标准化组织国家代码的NA的源文件也有问题,那么将na.strings设置为它的默认NA值以外的其他值:

代码语言:javascript
复制
df_FINAL <- read.csv(file="path/to/your/input.csv", na.strings="")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58518312

复制
相关文章

相似问题

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