私は二分値からなるデータセットを持っています。それは非常に大規模なデータセットですが、ここでの例です:列を合計で並べ替え、同じ列を並べ替え
var1 <- c(1, 0, 1, 1, 0)
var2 <- c(1, 1, 1, 1, 1)
var3 <- c(0, 0, 1, 1, 0)
var4 <- c(0, 0, 1, 1, 0)
var5 <- c(1, 1, 0, 0, 0)
dat <- data.frame(var1,var2,var3,var4,var5)
dat <- as.matrix(dat)
私は1つに2つのコマンドを組み込むしようとしています。まず、同じ列が一括して列をクラスター化する必要があります。次に、列の合計で列を並べ替える必要があります。私はどちらか一方を行うことができますが、両方を行うことはできません。
ので、出力は次のようになります。
var2 var1 var5 var3 var4
1 1 1 0 0
1 0 1 0 0
1 1 0 1 1
1 1 0 1 1
1 0 0 0 0
最高の列の合計は、左側に位置する必要はありません。
私は、このコマンドを使用してみました:
csums <- dat[,order(colSums(dat,na.rm=TRUE))]
しかし、列は類似性によってクラスタ化しないでください。おそらく類似性に基づいてクラスター化する方法があります。列の合計を条件としています。
おかげで非常に多くの合計によって
崩壊が二次ソート手順として機能しているようです。折りたたみ= ''とはどういう意味ですか? – jj987246
@ jj987246 ['apply()'ドキュメント](https://stat.ethz.ch/R-manual/R-devel/library/base/html/apply.html)を見てください。 variadicの '...'引数は 'FUN()'に渡されます。私の解決方法では、 'collapse = ''引数は' paste() 'に渡されます。 ['paste()'のドキュメント(https://stat.ethz.ch/R-manual/R-devel/library/base/html/paste.html)を見ると、 ''崩壊指定されていれば、 'collapse'文字列をセパレータとして使用して、最終的なベクトルのすべての要素を単一の要素に折りたたむために使用されます。 – bgoldst