как посчитать элементы нижнего треугольника в матрице - PullRequest
0 голосов
/ 16 мая 2018

Предположим, у меня есть матрица. Предположим, у меня есть список нижней треугольной матрицы. Как подсчитать количество элементов в матрицах?

Например,

Matrix <- c(0, 4, 3, 1, 2,
            0, 0, 3, 2, 1,
            0, 0, 0, 2, 1,
            0, 0, 0, 0, 1,
            0, 0, 0, 0, 0)
Matrix <- matrix(Matrix, 5, 5)

> Matrix
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    0    0    0
[2,]    4    0    0    0    0
[3,]    3    3    0    0    0
[4,]    1    2    2    0    0
[5,]    2    1    1    1    0

Как посчитать количество элементов в этой матрице? Эта матрица содержит 10 элементов. Как посчитать это в R?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Мы можем получить элементы нижнего треугольника, используя функцию lower.tri, а затем суммировать их по количеству элементов.

sum(lower.tri(Matrix))
#[1] 10

где

lower.tri(Matrix) #returns

#      [,1]  [,2]  [,3]  [,4]  [,5]
#[1,] FALSE FALSE FALSE FALSE FALSE
#[2,]  TRUE FALSE FALSE FALSE FALSE
#[3,]  TRUE  TRUE FALSE FALSE FALSE
#[4,]  TRUE  TRUE  TRUE FALSE FALSE
#[5,]  TRUE  TRUE  TRUE  TRUE FALSE
0 голосов
/ 16 мая 2018

Для матрицы размером n x n количество элементов в нижнем треугольнике равно

n * (n - 1) / 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...