将Inf
(as numeric
) 写入后excel
,我再次读回并得到Inf
Char。因为NaN
,它变成了NA
。因为NA
, 它仍然NA
是numeric
, 这应该是。
我同时使用了readxl
和writexl
。我尝试安装tibble
但失败了。
library(readxl)
library(writexl)
x <- c(1,NA)
y <- c(2,NaN)
z <- c(3,Inf)
d0 <- data.frame(x,y,z)
write_xlsx(d0, 'Test.xlsx')
d1 <- read_xlsx('Test.xlsx')
str(d0$x)
str(d0$y)
str(d0$z)
str(d1$x)
str(d1$y)
str(d1$z)
结果如下: 通知NaN
变为NA
; Inf
( numeric
) 变为Inf
( character
)
> str(d0$x)
num [1:2] 1 NA
> str(d0$y)
num [1:2] 2 NaN
> str(d0$z)
num [1:2] 3 Inf
> str(d1$x)
num [1:2] 1 NA
> str(d1$y)
num [1:2] 2 NA
> str(d1$z)
chr [1:2] "3" "Inf"
我正在寻找写入和读取阶段的解释和补救措施。阅读诸如设置之类的内容后,我不是在寻找解决方案as.numeric(d1$z)
。R
我正在使用相同的代码验证第三方输出的数据集。
谢谢你的帮助!