簡體   English   中英

R:如何按行檢測矩陣中的模式

[英]R : how to Detect Pattern in Matrix By Row

我有一個包含4列的大矩陣,包含歸一化的值(按列,均值〜0,標准差= 1)

我想看看矩陣中是否有一個模式,如果是,我想按模式對行進行聚類,按模式我是指給定行示例中的值

N行

如果第1列<第2列<第3列<第4列中的值,那么可以說是模式1

基本上有4 ^ 4 = 256種可能的模式(理論上)

R中有辦法做到這一點嗎?

提前致謝

拉德

是。 (盡管不同排列的數量只有24 = 4 * 3 * 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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM