データセットを十分位数に分割しようとしています。すべての行に id # (1:nrow(dataset)) を付けてから、cut() 関数を使用して各行を十分位数に割り当てます。
> df1 <- data.frame(id = 1:1000, cutter1 = NA)
> head(df1)
id cutter1
1 1 NA
2 2 NA
3 3 NA
4 4 NA
5 5 NA
6 6 NA
> df1$cutter1 <- cut(df1$id,10, labels = F)
> table(df1$cutter1)
1 2 3 4 5 6 7 8 9 10
100 100 100 100 100 100 100 100 100 100
上記は私が期待するものですが、行数を 100000 に増やすと、1 および 10 十分位数で奇妙な動作が見られます。
> df1 <- data.frame(id = 1:100000, cutter1 = NA)
> head(df1)
id cutter1
1 1 NA
2 2 NA
3 3 NA
4 4 NA
5 5 NA
6 6 NA
> df1$cutter1 <- cut(df1$id,10, labels = F)
> table(df1$cutter1)
1 2 3 4 5 6 7 8 9 10
9920 10020 10020 10020 10020 10020 10020 10020 10020 9920
include.lowest
とパラメータをいじってみましたがright
、何も修正されませんでした。なぜこれが起こっているのですか?