我正在使用 R 从 ID 字符串中提取数字。过去,我使用了 readr 的 parse_number() 函数,但最近出现了一个奇怪的错误,它说我的字符列不是字符类型:
library(dplyr)
library(readr)
test <- tibble(id_numbers = c("ICKLSD5", "DFTEM4", "DPDFE45"))
test %>%
parse_number(id_numbers)
Error in parse_vector(x, col_number(), na = na, locale = locale, trim_ws = trim_ws) :
is.character(x) is not TRUE
但是,该列显然是一个字符向量:
#Yields true
is.character(test$id_numbers)
即使将列用as.character包装起来,仍然会出现相同的错误:
test %>%
parse_number(as.character(id_numbers))
我知道还有其他函数的解决方法,但我真的想使用parse_number()。有人可以解释一下为什么我会出现这个错误以及如何修复吗?
%>%
将你的 tibble 作为第一个参数传递给parse_number()
。parse_number(test$id_numbers)
能工作吗?或者你想要一个新列,并且需要mutate(newcol = parse_number(id_numbers))
吗? - Hobo