gpt4 book ai didi

r - 为什么 parse_number 函数说我的字符向量不是字符?

转载 作者:行者123 更新时间:2023-12-05 01:53:50 25 4
gpt4 key购买 nike

我正在使用 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()。谁能解释为什么我会收到此错误以及如何修复它?

最佳答案

您不能将您的数据框直接传送到 parse_number。您需要通过管道传输到一个 mutate 中:

test %>% mutate(id_numbers=parse_number(id_numbers))

假设您想更改 data.frame 本身。因为

test %>% parse_number(id_numbers)

相同
parse_number(test, id_numbers)

test 不是字符向量,它是 data.frame,因此会出现错误。

关于r - 为什么 parse_number 函数说我的字符向量不是字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71002836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com