R 矩阵中的并矢极大值

R 矩阵中的并矢极大值,r,matrix,R,Matrix,假设你有矩阵mat: mat <- matrix(c(0,2,3,3,0,1,1,1,0), nrow = 3,byrow=TRUE) rownames(mat) <- list("a","b","c") colnames(mat) <- list("a","b","c") mat # a b c #a 0 2 3 #b 3 0 1 #c 1 1 0 试试这个: > (mat > t(mat)) + 0 a b c a 0 0 1 b 1 0 0 c 0 0

假设你有矩阵
mat

mat <- matrix(c(0,2,3,3,0,1,1,1,0), nrow = 3,byrow=TRUE)
rownames(mat) <- list("a","b","c")
colnames(mat) <- list("a","b","c")
mat
#  a b c
#a 0 2 3
#b 3 0 1
#c 1 1 0
试试这个:

> (mat > t(mat)) + 0
  a b c
a 0 0 1
b 1 0 0
c 0 0 0
要为领带返回0.5,请执行以下操作:

> (mat > t(mat)) + .5 * (mat == t(mat))
    a   b   c
a 0.5 0.0 1.0
b 1.0 0.5 0.5
c 0.0 0.5 0.5

+1是否可以对其进行修改,使两条领带都达到0.5?
> (mat > t(mat)) + .5 * (mat == t(mat))
    a   b   c
a 0.5 0.0 1.0
b 1.0 0.5 0.5
c 0.0 0.5 0.5