计算矩阵列表中的元素数量并根据条件返回它

时间:2018-04-10 10:48:02

标签: r

假设我有一个矩阵列表。我想计算每个相应位置的多少个值。例如,有两个矩阵。位置[2,1]的值数量仅为一个值。但是,在[3,1]位置有两个值。

[[1]]
     [,1] [,2] [,3] [,4] [,5]
[1,] 0.00 0.00 0.00 0.00    0
[2,] 0.25 0.00 0.00 0.00    0
[3,] 0.25 0.25 0.00 0.00    0
[4,] 0.25 0.25 0.25 0.00    0
[5,] 0.00 0.25 0.25 0.00    0

[[2]]
     [,1] [,2] [,3] [,4] [,5]
[1,] 0.00 0.00 0.00 0.00    0
[2,] 0.00 0.00 0.00 0.00    0
[3,] 0.25 0.00 0.00 0.00    0
[4,] 0.25 0.5 0.25  0.00    0
[5,] 0.00 0.00 0.25 0.25    0

我的期望

我想计算每个位置的值数。例如,位置[3,1]有多少个值。计数在整个矩阵中。也就是说,如果我有10个矩阵,那么在所有矩阵的位置[3,1]有多少个值。在我的示例中,只有两个矩阵,[3,1]处的值的数量是两个。

对于每个位置,如果计数等于1(输出为= 1),则将其返回。但是,如果计数输出为> 1,则将其减去1。也就是说,假设:

outcount = 10 ##位置[1,3]的输出。然后,将其返回为:newcount = outcount -1

请帮忙吗?我正在考虑count,但是,我不知道如何实现它。

1 个答案:

答案 0 :(得分:1)

假设我们正在计算非零值的数量,我们遍历list,通过获取{matrix es转换为logicalReduce {1}}

sum