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

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")个,但这只能把数字列在列表中.我不知道如何实现我的目标

推荐答案

可能的解决方案:

library(tidyverse)

df %>% 
  separate(V1, into = c("V2", "V3"), sep = "/", remove = F) %>% 
  mutate(result = parse_number(V3) / parse_number(V2)) %>% 
  select(V1, result)

#>                                     V1 result
#> 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相关问答推荐

par函数中的缩写,比如mgp,mar,mai是如何被破译的?

如何在观测缺失的地方添加零

将小数分隔符放在R中的前两位数字之后

以相同的方式对每个表进行排序

基于数据集属性将科分配给物种

将全局环境变量的名称分配给列表中的所有元素

如果COLSUM为>;0,则COLNAME为向量

有没有办法通过str_Detect()或其他字符串匹配函数来连接两个长度不等的数据帧?

在ggplot2图表中通过端点连接点

带有Bootswatch Cerulean主题的shiny 仪表板中的浏览&按钮可见性问题

如何在一个GGPLATE中绘制多个灰度平滑?

当R使用c()组合两个向量时会发生什么?

在R中查找多列中的字符串

R Bupar:获取每个 case 的踪迹

如何从r中最早的公共月-日开始,在不同年份计算不同组中相同数量的值?

R SHINY:如何隐藏UI元素但保留默认值?

Echarts4rBox函数似乎无法识别变量

LME4样本量和完整病例数据集之间是否存在差异?

如何覆盖R中的警告

条形图,每组2条