我正在尝试将字符串转换为数字,并遇到了一些意外的行为str_replace
.这是一个最小的工作示例:
library(stringr) x <- c("0", "NULL", "0") # This works, i.e. 0 NA 0 as.numeric(str_replace(x, "NULL", "")) # This doesn't, i.e. NA NA NA as.numeric(str_replace(x, "NULL", NA))
在我看来,第二个例子应该工作,因为它应该只替换向量中的第二个条目NA
(它是字符向量中的有效值).但事实并非如此:内部str_replace
将所有三个条目转换为NA
.
这里发生了什么?我查看了文档str_replace
,stri_replace_all
但没有看到明显的解释.
编辑:为了澄清,这是stringr_1.0.0
和stringi_1.0-1
R上3.1.3,Windows 7操作系统.