0

kaggle ( http://www.kaggle.com/c/acquire-valued-shoppers-challenge/data ) から 20GB のトランザクション データ セットがあります。

行は 3 億を超え、変数は 11 です。

Rで扱うには重すぎるので、データをフィルタリングしたい。

ここに画像の説明を入力

id クラスは interger64 です。

固有 ID は 311541 で、サンプル 20000 が必要です。

data.table を使っていますが、写真のようなエラーが出ます。

IDをサンプリングする方法はありますか?

4

1 に答える 1

1

私の記憶が正しければ、はとしてマスクされてinteger64いるだけです。おそらく、コピーを作成せずにサブセットを取得する最良の方法は、 の関数を使用することです。これを試して:doubleintegersetattrdata.table

#remove the integer64 class
setattr(transaction$id,"class",NULL)
custom_sample<-sample(unique(transaction$id),20000)
sample_transac<-transaction[id %in% custom_sample,]
#give the integer64 class back
setattr(sample_transac$id,"class","integer64")
于 2014-11-19T06:57:53.883 に答える