【发布时间】:2020-04-20 17:23:06
【问题描述】:
如果字符串包含.,则来自readr 的parse_number 失败
它适用于特殊字符。
library(readr)
#works
parse_number("%ç*%&23")
#does not work
parse_number("art. 23")
Warning: 1 parsing failure.
row col expected actual
1 -- a number .
[1] NA
attr(,"problems")
# A tibble: 1 x 4
row col expected actual
<int> <int> <chr> <chr>
1 1 NA a number .
为什么会这样?
更新:
预期的结果是23
【问题讨论】:
-
parse_number("art.23")产生0.23因此句点被解释为浮点数的开始。. 23是一个格式错误的文字。 -
.明显属于art,而art.是article的缩写,我认为缩写在字符串中很常见 -
我不怀疑人类会将该句点解析为缩写的一部分,但
parse_number似乎使用了一个将句点视为数字的一部分的正则表达式。也许可以改进该功能以处理此类情况。