gpt4 book ai didi

r - 在 readr R 中使用 parse_number 的负货币值

转载 作者:行者123 更新时间:2023-12-04 16:02:07 24 4
gpt4 key购买 nike

我正在导入需要从字符串转换为数字的销售数据。

我正在尝试使用 parse_numberreadr这样做,但它会抛出负值的解析错误,并将它们强制为 NA

举个例子:

x <- c("$1,000.00", "$500.00", "-$200.00")

y <- parse_number(x)

Warning: 1 parsing failure.
row # A tibble: 1 x 4 col row col expected actual expected <int> <int> <chr> <chr> actual 1 3 NA a number -

y

[1] 1000 500 NA

是否 parse_numberreadr是否具有允许我为负货币值保留“-”的功能?

(我不是要 as.numeric(gsub()) 解决方案。)

最佳答案

如果您想按照 comment here 继续使用 tidyverse 函数你可以只使用 stringr 函数而不是 gsub。像这样的选项:

library(tidyverse)
x <- c("$1,000.00", "$500.00", "-$200.00")
x %>%
str_replace("^-\\$(.*)$", "$-\\1") %>%
parse_number()
#> [1] 1000 500 -200

x %>%
str_remove("\\$") %>%
parse_number()
#> [1] 1000 500 -200

reprex package 创建于 2018-05-03 (v0.2.0).

关于r - 在 readr R 中使用 parse_number 的负货币值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50164340/

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