1

1つの変数に対してそれを行う方法を知っています。equal.count() または quantile() と cut() の組み合わせを使用できます。同時に100列に対してこれを行う集計関数を知っている人はいますか?

ループを記述できることはわかっていますが、遅いです。もっと速い方法はありますか?私はビッグデータの問題を検討しているので、revolution R を使用した解決策も歓迎します。よろしくお願いします!

明確にするために:最初の列だけでなく、すべての列を20の範囲に分割しようとしていました。データセットを分割しようとしているのではなく、変数を別の範囲に変換しようとしています。それが明確になることを願っています。本当にありがとうございました

4

3 に答える 3

1

タグを使用revolution-rしたので、Revolution R を実行していると思います。データが Revolution XDF 形式の場合は、RevoEnhancementsパッケージの rxDiscretize を使用できます。データセット内のすべての変数のビニングを一度に作成し、rxDataStep 関数で変換として使用できるオブジェクトを生成します。ヘルプページから:

library(RevoEnhancements)

# Equal Freq
discTransforms <- rxDiscretize(~ cost, 
                               data = claimsXdf, 
                               type = "freq", 
                               nBins = 1000, 
                               subscript = "disc", 
                               sep = "_")

x <- rxDataStep(inData = claimsXdf, transforms = discTransforms)
于 2014-01-29T16:10:44.317 に答える