fonction de coupe dans le marquage R sans notations scientifiques pour une utilisation dans ggplot2

j'utilise des intervalles de coupe et de classe pour grouper les données dans R que je trace plus tard avec ggplot2. Ainsi, une opération de base coupant par quantiles avec n=3 ressemblerait à ceci:

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)

b:

[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]

donc la première ligne de cette sortie est un vecteur avec mes données groupées qui je peux utiliser dans ggplot2. Mais plutôt que d'avoir ce vecteur en notation scientifique, je voudrais que les étiquettes [1,70] (70,34000] (3400,1000000]

Comment puis-je obtenir?Toute aide serait apprécié, aussi si vous avez d'autres méthodes plutôt que couper et classInt pour obtenir le même résultat.

24
demandé sur Joschi 2013-03-19 15:03:54

1 réponses

utiliser l'argument dig.labcut fonction:

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]
39
répondu Jouni Helske 2013-03-19 11:12:43