連続変数をカテゴリー化する関数としては findInterval 関数がある。
set.seed(123)
x = rnorm(100000)
v = c(-Inf, -1.2, -0.8, 0, 0.5, 1.4, 2.2, Inf)
system.time({
a = findInterval(x, v)
table(a)
})
もし,以下のような関数を作ってみると,findInterval 関数より,15倍遅い。
system.time({
b = sapply(x, function(y) sum(y > v))
table(b)
})