gpt4 book ai didi

r - 从字符串中提取数字以在 R 中将它们相除

转载 作者:行者123 更新时间:2023-12-01 22:57:20 25 4
gpt4 key购买 nike

我有一个数据框,其中最后一列如下所示:

Signed 1-yr/$2.5M deal with Pacers  
Signed 4-yr/$113M deal with Celtics
Signed 3-yr/$30M deal with Pacers
...

这些都是字符串。我正在尝试获取 -yr 之前的数字和 M 之前的数字。因此,对于第一行,我尝试获取 2.51

然后我想像这样划分 2.5/1

所以该列看起来像这样:

2.5
28.25
10

我尝试了 str_extract_all(df$col,"\\d") 但这只会将数字放入列表中。我不知道有什么方法可以实现我的目标

最佳答案

另一种使用 stringr 包的解决方案:

df <- data.frame(a = c("Signed 1-yr/$2.5M deal with Pacers",
"Signed 4-yr/$113M deal with Celtics",
"Signed 3-yr/$30M deal with Pacers"))


library(tidyverse)

df |>
mutate(diff = as.numeric(str_remove(str_extract(a,"[0-9,.]+M"),"M"))/as.numeric(str_remove(str_extract(a,"[0-9]-yr"),"-yr")))

输出:

                                    a  diff
1 Signed 1-yr/$2.5M deal with Pacers 2.50
2 Signed 4-yr/$113M deal with Celtics 28.25
3 Signed 3-yr/$30M deal with Pacers 10.00

关于r - 从字符串中提取数字以在 R 中将它们相除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72740226/

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