【发布时间】:2016-07-16 05:30:43
【问题描述】:
library(readr)
csv <- 'x,y
"1","N/A"
"N/A","2"
'
df <- read_csv(csv, col_types = "ii", na=c("\"N/A\"", "N/A"))
运行这个会产生:
> df <- read_csv(csv, col_types = "ii", na=c("\"N/A\"", "N/A"))
Warning: 2 parsing failures.
row col expected actual
1 y an integer N/A
2 x an integer N/A
实际上,"N/A" 的值最终会变成 NA,但是有没有更优雅的方法来处理这个问题?例如,这运行没有问题,说明了所需的行为。
csv2 <- 'x,y
"1",N/A
N/A,"2"
'
df2 <- read_csv(csv2, col_types = "ii", na="N/A")
【问题讨论】:
-
我在第一种情况下收到了一些警告,但它读取为 NA。
-
我知道它的结尾是
NA。但是当我看到Warning: 296656 parsing failures时,最好抑制非问题的警告(即"N/A"被转换为NA)。 -
我不知道在
read_csv内是否可以,但你可以在read_csv(gsub('"', "", csv), col_types = "ii", na = "N/A")内做