使用read_excel(na =)如何指定多个NA字符串?

时间:2017-03-06 20:51:23

标签: r readxl

我正在尝试读取R使用NA的多个值的excel表(特别是“N / A”和“n / a”)。如果我尝试给na =一个字符串列表,它会抛出一个错误:

read_excel(path = "file.xlsx",
           na = "N/A") #This works just fine

read_excel(path = "file.xlsx",
           na = c("N/A", "n/a"))

Error in eval(substitute(expr), envir, enclos) : expecting a single value

关于如何在两个字符串转换为NA的情况下读取此内容的任何想法?或者我最好在数据在R?

后进行查找/替换

1 个答案:

答案 0 :(得分:1)

在您收集时,read_excel不接受多个值。请考虑改为使用gdata::read.xls

gdata::read.xls("file.xlsx", na.strings = c("N/A", "n/a"))

编辑请注意,您需要安装perl才能运行此功能。如果您使用的是Windows,则可能需要在perl="C:/Perl/bin/perl.exe"的调用中指定read.xls之类的内容。

编辑2 正如@ r2evans在评论中建议的那样,readxl的开发版支持多个na值:

devtools::install_github("tidyverse/readxl")
readxl::read_excel(path = "file.xlsx", na = c("N/A", "n/a"))