我在R中有以下数据帧
East 24 Consumer 7/18/2018 0:00 Second Class Pennsylvania Chairs USD71.37
East 29 Consumer 9/21/2016 0:00 Standard Class Pennsylvania Binders USD9.61
East 33 Consumer 9/21/2016 0:00 Standard Class Pennsylvania Binders USD6.85
East 199 Corporate 7/13/2018 0:00 Standard Class Pennsylvania Binders USD2.94
East 216 Corporate 1/9/2016 0:00 Standard Class Ohio Machines USD1188
East 222 Consumer 12/27/2016 0:00 First Class Ohio Binders USD24
East 224 Consumer 12/27/2016 0:00 First Class Ohio Machines USD252
East 331 Consumer 9/1/2017 0:00 First Class Pennsylvania Binders USD28
East 333 Consumer 4/29/2017 0:00 Second Class Pennsylvania Binders USD40
East 334 Consumer 4/29/2017 0:00 Second Class Pennsylvania Binders USD8最后一栏是销售,这是一个字符-我的问题是,我想创建一个新的列与销售号码,只有这些数字-请帮助,如果可以!
发布于 2022-02-05 22:44:43
我们可以使用来自parse_number包的readr函数:
在这里,V10是您的最后一个列名:
library(dplyr)
library(readr)
df %>%
mutate(newCol = parse_number(V10)) V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 newCol
1 East 24 Consumer 7/18/2018 0:00 Second Class Pennsylvania Chairs USD71.37 71.37
2 East 29 Consumer 9/21/2016 0:00 Standard Class Pennsylvania Binders USD9.61 9.61
3 East 33 Consumer 9/21/2016 0:00 Standard Class Pennsylvania Binders USD6.85 6.85
4 East 199 Corporate 7/13/2018 0:00 Standard Class Pennsylvania Binders USD2.94 2.94
5 East 216 Corporate 1/9/2016 0:00 Standard Class Ohio Machines USD1188 1188.00
6 East 222 Consumer 12/27/2016 0:00 First Class Ohio Binders USD24 24.00
7 East 224 Consumer 12/27/2016 0:00 First Class Ohio Machines USD252 252.00
8 East 331 Consumer 9/1/2017 0:00 First Class Pennsylvania Binders USD28 28.00
9 East 333 Consumer 4/29/2017 0:00 Second Class Pennsylvania Binders USD40 40.00
10 East 334 Consumer 4/29/2017 0:00 Second Class Pennsylvania Binders USD8 8.00发布于 2022-02-05 22:46:08
如果该列被称为"a",则可以将字符串子设置,然后转换为数字,如下所示:
> a <- c("USD71.37","USD9.61")
>
> as.numeric(str_sub(a,4,-1))
[1] 71.37 9.61https://stackoverflow.com/questions/71002781
复制相似问题