Подтвердить что ты не робот

Функция сокращения в R-маркировке без научных обозначений для использования в ggplot2

Я использую cut и classIntervals для группировки данных в R, которые я позже рисую с помощью ggplot2. Таким образом, основная операция, выполняемая квантилями с n = 3, будет выглядеть так:

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]

поэтому первая строка этого вывода представляет собой вектор с моими сгруппированными данными, которые я могу использовать в ggplot2. Но вместо того, чтобы иметь этот вектор в научной нотации, мне бы хотелось, чтобы метки были [1,70] (70,34000] (3400,1000000]

Как я могу это достичь? Любая помощь будет оценена, также если у вас есть другие методы, а не cut и classInt, чтобы добиться того же результата.

4b9b3361

Ответ 1

Использовать аргумент dig.lab в cut:

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]