R语言 矩阵中对角线外元素的最小值、最大值和平均值
矩阵是以行或列形式堆积在一起的元素的组合。一个由类似数据类型的元素组成的表格状结构被称为矩阵。一个矩阵有两条对角线,其中一条被称为主对角线。
主对角线元素的特点是其第i个索引相当于第j个索引,其中i和j分别是矩阵的行和列号。
如何在R中获得矩阵中对角线外元素的最小、最大和平均数
对角线外的元素是由行号不等于矩阵的列号来表示的。这可以用不等于逻辑运算符来验证。然后使用矩阵寻址方法then来获取。
row()方法可以用来获取矩阵的行,col()方法用来获取列。
mat[row(mat)!=col(mat)]
例1:对角线外元素的最小值
min()方法可以用来获取所提供元素的最小值。这是一个在基础R中可用的方法,最小元素将作为输出返回。
min(list-of-elements)
# create matrix in R
mat = matrix(
# sequence of elements
c(1:16),
# No of rows
nrow = 4,
byrow = TRUE
)
print("Matrix")
print(mat)
# calculating the off-diagonal elements
ele = mat[row(mat)!=col(mat)]
# calculating the minimum of these \
# elements
print("Min of off diagonal elements")
min(ele)
输出
[1] "Matrix"
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
[4,] 13 14 15 16
[1] "Min of off diagonal elements"
[1] 2
例2:对角线外元素的最大值
max()方法可以用来获取所提供元素的最大值。这是一个在基础R中可用的方法,最大的元素将作为输出返回。
max(list-of-elements)
# create matrix in R
mat = matrix(
# sequence of elements
c(1:16),
# No of rows
nrow = 4,
byrow = TRUE
)
print("Matrix")
print(mat)
# calculating the off-diagonal elements
ele = mat[row(mat)!=col(mat)]
# calculating the minimum of these
# elements
print("Max of off diagonal elements")
max(ele)
输出
[1] "Matrix"
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
[4,] 13 14 15 16
[1] "Max of off diagonal elements"
[1]15
例3:非对角线元素的平均数
平均值是一个列表中所有元素的总和除以这些元素的数量。基准R中的mean()方法是用来计算参数中指定的元素的平均数。
mean(list-of-elements)
# create matrix in R
mat = matrix(
# sequence of elements
c(1:16),
# No of rows
nrow = 4,
byrow = TRUE
)
print("Matrix")
print(mat)
# calculating the off-diagonal elements
ele = mat[row(mat)!=col(mat)]
# calculating the minimum of these
# elements
print("Mean of off diagonal elements")
mean(ele)
输出
[1] "Matrix"
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
[4,] 13 14 15 16
[1] "Mean of off diagonal elements"
[1] 8.5