我有一个简单的矩阵:
mat = rbind(c(1:3),c(4:6),c(7:9))
mat
# [,1] [,2] [,3]
# [1,] 1 2 3
# [2,] 4 5 6
# [3,] 7 8 9
Run Code Online (Sandbox Code Playgroud)
我想现在逐行反转矩阵.那是我想获得的:
revMat
# [,1] [,2] [,3]
# [1,] 3 2 1
# [2,] 6 5 4
# [3,] 9 8 7
Run Code Online (Sandbox Code Playgroud)
为此,我试过了
apply(mat, 1, rev)
Run Code Online (Sandbox Code Playgroud)
结果是:
# [,1] [,2] [,3]
# [1,] 3 6 9
# [2,] 2 5 8
# [3,] 1 4 7
Run Code Online (Sandbox Code Playgroud)
我觉得这很奇怪.这就像行被反转,然后最终矩阵被转置.我不明白为什么.例如,如果我简单地尝试,
apply(mat, 2, rev)
Run Code Online (Sandbox Code Playgroud)
它给了我每列的预期逆转
# [,1] [,2] [,3]
# [1,] …Run Code Online (Sandbox Code Playgroud)