Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cut function in R- labeling without scientific notations for use in ggplot2

I use cut and classIntervals to group data in R which I later plot with ggplot2. So a basic operation cutting by quantiles with n=3 would look like this:

library(classInt)  a<-c(1,10,100,1000,100000,1000000) b<-cut(a,  breaks=data.frame(   classIntervals(     a,n=3,method="quantile")[2])[,1], include.lowest=T) 

where b would be:

[1] [1,70]          [1,70]          (70,3.4e+04]    (70,3.4e+04]    (3.4e+04,1e+06] (3.4e+04,1e+06] Levels: [1,70] (70,3.4e+04] (3.4e+04,1e+06] 

so the first line of this output is a vector with my grouped data which I can use in ggplot2. But rather than having this vector in scientific notation I would like the labels to be [1,70] (70,34000] (3400,1000000]

How can I achive that?Any help would be appreciated, also if you have other methods rather than cut and classInt to achive the same result.

like image 625
Joschi Avatar asked Mar 19 '13 11:03

Joschi


1 Answers

Use argument dig.lab in cut function:

a<-c(1,10,100,1000,100000,1000000) b<-cut(a,  breaks=data.frame(   classIntervals(     a,n=3,method="quantile")[2])[,1], include.lowest=T,dig.lab=10) ##Number of digits used b [1] [1,70]          [1,70]          (70,34000]      (70,34000]      [5] (34000,1000000] (34000,1000000] Levels: [1,70] (70,34000] (34000,1000000] 
like image 153
Jouni Helske Avatar answered Sep 28 '22 12:09

Jouni Helske