0

I have a column in my df as given and I want to convert values which are in cents into dollars and those which are in dollars I want them as it is.

DF Data set has two columns Destination and money I want to convert those values which are in cents to the dollar in money column and those which are in dollars I want them as it is

xyz
  • 79
  • 1
  • 8
  • 1
    Please give a [mre] in your question! Use `dput()` or a definition of your dataframe to show your data. IMHO it woulb be better you have two columns: one for the numeric value and one for the currency unit. – jogo Oct 18 '19 at 06:33
  • jogo I was having my data in this format only and other columns contain character values like names. – xyz Oct 18 '19 at 06:39
  • Please read https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – jogo Oct 18 '19 at 06:41

1 Answers1

2

There are more elegant ways to do this. This is my approach for now:

df <- data.frame(
    money = c("69¢", "40.6¢", "91.3¢", "50¢", "4¢", "$1.17", "$1", "$1.30")) 
dollar = as.character(df$money)
cents <- as.numeric(unlist(strsplit(dollar, "¢"))) 
dollar[!is.na(cents)]<-paste0("$", round((cents/100), 2))
df$money = dollar
df

> df
  money
1 $0.69
2 $0.41
3 $0.91
4  $0.5
5 $0.04
6 $1.17
7    $1
8 $1.30
Zhiqiang Wang
  • 6,206
  • 2
  • 13
  • 27