有没有办法使用diag()
矩阵中的函数而不使用内置函数或迭代?
M<-matrix(1:9, ncol=3) # make a matrix
q5b<-function(M){ #function
}
我知道M[1,1]
, M[2,2]
, and M[3,3]
会给我相同的输出diag(M)
。但是,我想不出一种没有 for 循环的方法来做到这一点。
我的思考过程是我应该有一个条件row index == column index
在矩阵中然后打印该值。我很感激任何建议。
您可以使用以下功能row
and col
查找列号与行号相同的索引:
row(M) == col(M)
# [,1] [,2] [,3]
# [1,] TRUE FALSE FALSE
# [2,] FALSE TRUE FALSE
# [3,] FALSE FALSE TRUE
M[row(M) == col(M)]
# [1] 1 5 9
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)