2

で特定の方法でデータ フレームを分類したいと思いRます。
次のようなデータ フレームがあるとします。

> data = sample(1:500, 5000, replace = TRUE)

このデータ フレームをクラス化するために、次のクラスを作成しています。

> data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 500))
> table(data.cl)
data.cl
   (0,10]   (10,20]   (20,30]   (30,40]   (40,50] 
      102        80        87       113       117 
  (50,60]   (60,70]   (70,80]   (80,90]  (90,100] 
      101        89        95       106       104 
(100,200] (200,350] (350,480] (480,500] 
     1002      1492      1318       194 

含めたい場合0は、追加するだけinclude.lowest = TRUEです:

> data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 500),
+ include.lowest = TRUE)
    > table(data.cl)
data.cl
   [0,10]   (10,20]   (20,30]   (30,40]   (40,50] 
      102        80        87       113       117 
  (50,60]   (60,70]   (70,80]   (80,90]  (90,100] 
      101        89        95       106       104 
(100,200] (200,350] (350,480] (480,500] 
     1002      1492      1318       194 

この例0では、このデータ フレームではまったく発生していないため、違いはありません。しかし、もしそうなら、例えば、 classの代わりに要素が4あります:106102[0,10]

> data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 500),
+ include.lowest = TRUE)
    > table(data.cl)
data.cl
   [0,10]   (10,20]   (20,30]   (30,40]   (40,50] 
      106        80        87       113       117 
  (50,60]   (60,70]   (70,80]   (80,90]  (90,100] 
      101        89        95       106       104 
(100,200] (200,350] (350,480] (480,500] 
     1002      1492      1318       194 

クラス制限を変更する別のオプションがあります。のデフォルトのオプションはcut()ですright = FALSE。に変更すると、次のようになりright = TRUEます。

> data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 500),
+ include.lowest = TRUE, right = FALSE)
> table(data.cl)
data.cl
   [0,10)   [10,20)   [20,30)   [30,40)   [40,50) 
       92        81        87       111       118 
  [50,60)   [60,70)   [70,80)   [80,90)  [90,100) 
      103        89        94       103       103 
[100,200) [200,350) [350,480) [480,500] 
     1003      1497      1320       199 

include.lowestクラス制限がわずかに変化したため、クラス制限が変更され、一部のクラスで異なる量のクラス メンバーが返されるという代償を払って、"<code>include.highest" になりました。
しかし、データフレームが必要な場合

> data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 500))
> table(data.cl)
data.cl
   (0,10]   (10,20]   (20,30]   (30,40]   (40,50] 
      102        80        87       113       117 
  (50,60]   (60,70]   (70,80]   (80,90]  (90,100] 
      101        89        95       106       104 
(100,200] (200,350] (350,480] (480,500) 
     1002      1492      1318       194

除外する 500にはどうすればいいですか?
もちろん、「整数を扱っているので、data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 499))の代わりに書いてください」と言うことができます。 data.cl = cut(data, breaks = c(seq(0,100,by=10), 200, 350, 480, 500))? ではどうすれば除外できるの500でしょうか。

4

0 に答える 0