【问题标题】:How to obtain size of cluster in matrix (R)如何获得矩阵中簇的大小(R)
【发布时间】:2021-07-07 04:19:39
【问题描述】:

我有一个矩阵,我想知道由相同数值表示的每个集群的中心和最小/最大大小。例如,得到下面矩阵中数字 2 所代表的簇的中心位置和大小。这个想法仅限于在图像上执行How to obtain size of cluster of pixels in R

> read.csv("4c_class.csv")
   X1 X1.1 X1.2 X1.3 X1.4 X1.5 X1.6 X3 X3.1 X3.2
1   1    1    1    1    1    1    1  3    3    3
2   1    1    1    1    1    1    1  3    3    3
3   1    1    1    1    1    1    1  1    1    3
4   1    1    1    1    1    1    1  1    1    1
5   1    1    1    1    1    1    1  1    1    1
6   4    1    1    1    1    1    1  1    1    1
7   4    1    1    1    1    1    2  1    1    1
8   4    1    1    1    1    1    2  1    1    1
9   4    1    1    1    1    2    2  2    1    1
10  4    4    1    1    1    2    2  2    2    1
11  4    4    1    1    1    1    2  2    2    1
12  4    4    1    1    1    1    2  2    2    1
13  4    4    1    1    1    1    2  2    2    1
14  4    4    1    1    1    1    1  2    2    1
15  4    4    1    1    1    1    1  2    1    1
16  4    4    4    1    1    1    1  2    1    1
17  4    4    4    4    1    1    1  1    1    1
18  4    4    4    4    4    4    1  1    1    1
19  4    4    4    4    4    4    1  1    1    1

【问题讨论】:

  • 也许回滚到原来的问题,因为现在这个主题现在有点不同,并用这个新主题提出一个新问题。

标签: r matrix


【解决方案1】:

您可以使用which 并设置arr.ind = TRUE 来获取矩阵具有特定值的位置。有了这个位置,就可以计算出rangemean

y <- which(x == 2, TRUE)

apply(y, 2, range) #Range
#     row col
#[1,]   7   6
#[2,]  16   9

apply(y, 2, mean) #Center
#      row       col 
#11.318182  7.727273 

【讨论】:

  • 谢谢,有没有办法独立获取每个集群?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 2012-04-16
  • 1970-01-01
  • 2021-08-01
相关资源
最近更新 更多