web-dev-qa-db-ja.com

ggplot2で使用するための科学的記数法なしのR-ラベリングのカット関数

私はcutとclassIntervalsを使用して、後でggplot2でプロットするRのデータをグループ化します。したがって、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ではなく他のメソッドがある場合も、助けていただければ幸いです。

28
Joschi

引数を使用するDig.lab in 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]
43
Jouni Helske