0
私は通常、作業のためにデータフレームを使用していますが、最近は速度目的でDatatablesのハングアップを取得しようとしています。いくつかの最近のファイルには非常に便利です。とにかくR:列の分散に応じてデータテーブルの列を選択する方法は?
、私は既にそれを読んだ後、列分散を計算し、私のデータフレームから削除するために使用する機能を持っている。
rm_invariant_cols = function(df) {
df = df[, sapply(df, function(x) length(unique(x))>1)] ## takes cols with one unique value and drops
return(df)
}
df
がデータテーブルであるとき、どのように私はこれを達成することができますか?私がデータテーブルで同じ関数を実行すると、カラム自体ではなく各カラムの論理集合が得られます。
NB。私はビネットを読んだが、これはこれをカバーしていないようだ。
おかげで、
ジョン
greateのアイデア@thelatemail。それは問題に対処するための慣用的な方法のように見えます。 – Psidom
ソリューションをありがとう。構文はいろいろな点で依然として困惑していますが、問題を解決しました。 –
PSをコメントとして使用して、私は 'uniqueN'に' microbenchmark'を使用していましたが、もっと単純な 'length(unique(x))'バージョンを使用していましたが、BTWでは 'length(unique()') –