正規化された値を含む4列の大きなマトリックスがあります(列ごと、平均〜0、標準偏差= 1)
マトリックスにパターンがあるかどうかを確認したいのですが、そうであれば、パターンごとに行をクラスター化したいと思います。パターンごとに、特定の行の例の値を意味します
行 N の場合
列 1 の値 < 列 2 < 列 3 < 列 4 の場合、パターン 1 としましょう
基本的には 4^4 = 256 通りのパターンが考えられます (理論上)
Rでこれを行う方法はありますか?
前もって感謝します
ラド
はい。(ただし、異なる順列の数は 24 = 4*3*2 だけです。1 つの値が選択された後、可能な 2 番目の値は 3 つだけであり、2 番目の値が指定された後は、あと 2 つの順序付けしか残っていません。order)各行は、目的の 1、2、3、4 順列を与える必要があります。
mtx <- matrix(rnorm(10000), ncol=4)
res <- apply(mtx, 1, function(x) paste( order(x), collapse=".") )
> table(res)[1:10]
> table(res)
res
1.2.3.4 1.2.4.3 1.3.2.4 1.3.4.2 1.4.2.3 1.4.3.2
98 112 95 120 114 118
2.1.3.4 2.1.4.3 2.3.1.4 2.3.4.1 2.4.1.3 2.4.3.1
101 114 105 102 104 122
3.1.2.4 3.1.4.2 3.2.1.4 3.2.4.1 3.4.1.2 3.4.2.1
105 82 107 90 97 86
4.1.2.3 4.1.3.2 4.2.1.3 4.2.3.1 4.3.1.2 4.3.2.1
99 93 100 108 118 110