I have the following data frame in 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
The last column is sales which is a character - my problem is I want to create a new column with sales numbers that has just the numbers - please help if able!!!!!
CodePudding user response:
We could use parse_number function from readr package:
Here V10 is your last column name:
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
CodePudding user response:
If the column is called "a", you can sub set the string and then convert to numeric like this:
> a <- c("USD71.37","USD9.61")
>
> as.numeric(str_sub(a,4,-1))
[1] 71.37 9.61
