求R中矩阵中最常出现的元素
R中是否有函数可以查找矩阵中最常出现的元素??我有一个包含图像像素的矩阵。我想查找图像矩阵中最常出现的图像像素。我不想使用for循环,因为迭代一个图像的所有像素需要很长时间。我不知道有什么函数可以做但您可以直接使用以下功能:求R中矩阵中最常出现的元素,r,R,R中是否有函数可以查找矩阵中最常出现的元素??我有一个包含图像像素的矩阵。我想查找图像矩阵中最常出现的图像像素。我不想使用for循环,因为迭代一个图像的所有像素需要很长时间。我不知道有什么函数可以做但您可以直接使用以下功能: 我不知道任何函数可以直接执行此操作,但您可以使用以下函数: 设置一些测试数据 > (image = matrix(sample(1:10, 100, replace = TRUE), nrow = 10)) [,1] [,2] [,3] [,4] [,5]
我不知道任何函数可以直接执行此操作,但您可以使用以下函数: 设置一些测试数据
> (image = matrix(sample(1:10, 100, replace = TRUE), nrow = 10))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 4 4 2 7 2 2 3 8 2 5
[2,] 7 3 2 6 6 5 7 8 1 3
[3,] 7 5 7 9 4 9 4 8 2 7
[4,] 5 3 4 2 1 5 9 10 9 5
[5,] 9 10 7 2 7 4 9 1 1 9
[6,] 2 3 5 1 2 8 1 5 9 4
[7,] 5 4 10 5 9 10 1 6 1 10
[8,] 6 3 9 7 1 1 9 2 1 7
[9,] 5 9 4 8 9 9 5 10 5 4
[10,] 10 1 4 7 3 2 3 5 4 5
手动操作
> table(image)
image
1 2 3 4 5 6 7 8 9 10
12 12 8 12 15 4 11 5 14 7
在这里,我们可以看到值5最常出现(15次)。要以编程方式获得相同的结果,请执行以下操作:
> which.max(table(image))
5
5
设置一些测试数据
> (image = matrix(sample(1:10, 100, replace = TRUE), nrow = 10))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 4 4 2 7 2 2 3 8 2 5
[2,] 7 3 2 6 6 5 7 8 1 3
[3,] 7 5 7 9 4 9 4 8 2 7
[4,] 5 3 4 2 1 5 9 10 9 5
[5,] 9 10 7 2 7 4 9 1 1 9
[6,] 2 3 5 1 2 8 1 5 9 4
[7,] 5 4 10 5 9 10 1 6 1 10
[8,] 6 3 9 7 1 1 9 2 1 7
[9,] 5 9 4 8 9 9 5 10 5 4
[10,] 10 1 4 7 3 2 3 5 4 5
手动操作
> table(image)
image
1 2 3 4 5 6 7 8 9 10
12 12 8 12 15 4 11 5 14 7
在这里,我们可以看到值5最常出现(15次)。要以编程方式获得相同的结果,请执行以下操作:
> which.max(table(image))
5
5
在一行代码中获取模式(或多数值)
使用set.seed生成相同的随机矩阵
> set.seed(123)
> image = matrix(sample(1:10, 100, replace = TRUE), nrow = 10)
> image
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 3 10 9 10 2 1 7 8 3 2
[2,] 8 5 7 10 5 5 1 7 7 7
[3,] 5 7 7 7 5 8 4 8 5 4
[4,] 9 6 10 8 4 2 3 1 8 7
[5,] 10 2 7 1 2 6 9 5 2 4
[6,] 1 9 8 5 2 3 5 3 5 2
[7,] 6 3 6 8 3 2 9 4 10 8
[8,] 9 1 6 3 5 8 9 7 9 1
[9,] 6 4 3 4 3 9 8 4 9 5
[10,] 5 10 2 3 9 4 5 2 2 6)
矩阵的模式值(如果为tie,则其给出最小tie值)
在一行代码中获取模式(或多数值)
使用set.seed生成相同的随机矩阵
> set.seed(123)
> image = matrix(sample(1:10, 100, replace = TRUE), nrow = 10)
> image
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 3 10 9 10 2 1 7 8 3 2
[2,] 8 5 7 10 5 5 1 7 7 7
[3,] 5 7 7 7 5 8 4 8 5 4
[4,] 9 6 10 8 4 2 3 1 8 7
[5,] 10 2 7 1 2 6 9 5 2 4
[6,] 1 9 8 5 2 3 5 3 5 2
[7,] 6 3 6 8 3 2 9 4 10 8
[8,] 9 1 6 3 5 8 9 7 9 1
[9,] 6 4 3 4 3 9 8 4 9 5
[10,] 5 10 2 3 9 4 5 2 2 6)
矩阵的模式值(如果为tie,则其给出最小tie值)