0

正規化された値を含む4列の大きなマトリックスがあります(列ごと、平均〜0、標準偏差= 1)

マトリックスにパターンがあるかどうかを確認したいのですが、そうであれば、パターンごとに行をクラスター化したいと思います。パターンごとに、特定の行の例の値を意味します

行 N の場合

列 1 の値 < 列 2 < 列 3 < 列 4 の場合、パターン 1 としましょう

基本的には 4^4 = 256 通りのパターンが考えられます (理論上)

Rでこれを行う方法はありますか?

前もって感謝します

ラド

4

1 に答える 1

2

はい。(ただし、異なる順列の数は 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 
于 2012-04-25T21:51:18.227 に答える