Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Labeling with Percentage in R plot

Tags:

r

Hi I have made this function that takes a table and prepare the label for a barplot

prepare_labels <- function(ft){
  labs <- ft
  labs <- paste(labs, "\n", sep="")
  labs <- paste(labs, round(prop.table(ft)*100,2), sep="")
  labs <- paste(labs, "%", sep="")
  return(labs)
}

It actually works fine, but is there any better way to write that function, the above code looks ugly and I want to write beautiful code :-)

ex:

ft <- table(mydata$phone_partner_products)
prepare_labels(ft)
[1] "3752\n34.09%" "226\n2.05%"   "2907\n26.41%" "1404\n12.76%" "1653\n15.02%"
[6] "1065\n9.68%" 
like image 691
Liborio Francesco Cannici Avatar asked Dec 13 '22 21:12

Liborio Francesco Cannici


1 Answers

Since the sep argument is the same for all the paste calls, then you can combine into a single one:

labs <- paste(ft,"\n",round(prop.table(ft)*100,2),"%",sep="")
like image 135
James Avatar answered Jan 07 '23 22:01

James