使用 read_excel(na = ) 如何指定多个 NA 字符串?
Using read_excel(na = ) how do you specify more than one NA character string?
我正在尝试将 excel sheet 读入 R,它使用多个 NA 值(具体来说,"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 中,我最好做一个 find/replace?
正如您所收集的,read_excel
不接受超过一个值。考虑改用 gdata::read.xls
。
gdata::read.xls("file.xlsx", na.strings = c("N/A", "n/a"))
编辑:请注意,您需要为 运行 安装 perl。如果您在 windows 上,您可能需要在对 read.xls
.
的调用中指定类似 perl="C:/Perl/bin/perl.exe"
的内容
编辑2:正如@r2evans在评论中建议的那样,readxl
的开发版本支持多个na值:
devtools::install_github("tidyverse/readxl")
readxl::read_excel(path = "file.xlsx", na = c("N/A", "n/a"))
我正在尝试将 excel sheet 读入 R,它使用多个 NA 值(具体来说,"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 中,我最好做一个 find/replace?
正如您所收集的,read_excel
不接受超过一个值。考虑改用 gdata::read.xls
。
gdata::read.xls("file.xlsx", na.strings = c("N/A", "n/a"))
编辑:请注意,您需要为 运行 安装 perl。如果您在 windows 上,您可能需要在对 read.xls
.
perl="C:/Perl/bin/perl.exe"
的内容
编辑2:正如@r2evans在评论中建议的那样,readxl
的开发版本支持多个na值:
devtools::install_github("tidyverse/readxl")
readxl::read_excel(path = "file.xlsx", na = c("N/A", "n/a"))