[英]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.