小编Pra*_*190的帖子

R中应用/反向函数的奇怪行为

我有一个简单的矩阵:

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)

r matrix apply

1
推荐指数
1
解决办法
111
查看次数

标签 统计

apply ×1

matrix ×1

r ×1