数组:按行减去

joh*_*nes 8 r

如何减去数组中每行的向量?

a <- array(1:8, dim=c(2,2,2))
a
, , 1

      [,1] [,2]
[1,]    1    3
[2,]    2    4

, , 2

       [,1] [,2]
[1,]    5    7
[2,]    6    8
Run Code Online (Sandbox Code Playgroud)

使用申请给我:

apply(a,c(1,2), '-',c(1,5))
, , 1

      [,1] [,2]
[1,]    0    1
[2,]    0    1

, , 2

      [,1] [,2]
[1,]    2    3
[2,]    2    3
Run Code Online (Sandbox Code Playgroud)

我想要得到的是:

, , 1

      [,1] [,2]
[1,]    0   -2
[2,]    1   -1

, , 2

      [,1] [,2]
[1,]    4    2
[2,]    5    3
Run Code Online (Sandbox Code Playgroud)

提前感谢任何提示

Ben*_*ker 15

用于sweep在数组的特定边距上操作:行是第二个维度(边距).

sweep(a,MARGIN=2,c(1,5),FUN="-")
Run Code Online (Sandbox Code Playgroud)