Reputation: 11
How can I format a numeric column of data.frame to look like an excel style currency column. With the symbol '$' and ',' to separate thousands
From
data <- iris
data$Sepal.Length <- data$Sepal.Length * 10**8
head(data[, c('Species', 'Sepal.Length')])
Species Sepal.Length
1 setosa 5.1e+08
2 setosa 4.9e+08
3 setosa 4.7e+08
4 setosa 4.6e+08
5 setosa 5.0e+08
to this format
head(data[, c('Species', 'Sepal.Length')])
Species Sepal.Length
1 setosa $510,000,000
2 setosa $490,000,000
3 setosa $470,000,000
4 setosa $460,000,000
5 setosa $500,000,000
Upvotes: 0
Views: 25
Reputation: 18683
Base R:
data$Sepal.Length <- paste0("$", format(data$Sepal.Length, big.mark=",", scientific=FALSE))
head(data[, c('Species', 'Sepal.Length')])
Species Sepal.Length
1 setosa $510,000,000
2 setosa $490,000,000
3 setosa $470,000,000
4 setosa $460,000,000
5 setosa $500,000,000
6 setosa $540,000,000
Upvotes: 1
Reputation: 388982
You can use scales::dollar
data$Sepal.Length <- scales::dollar(data$Sepal.Length)
head(data[, c('Species', 'Sepal.Length')])
# Species Sepal.Length
#1 setosa $510,000,000
#2 setosa $490,000,000
#3 setosa $470,000,000
#4 setosa $460,000,000
#5 setosa $500,000,000
#6 setosa $540,000,000
Upvotes: 0