更改R中矩阵中的每隔一行

时间:2013-09-27 14:59:19

标签: r

是否有人能够向我展示一种方法,即改变矩阵列中的每一行,使其与当前所具有的符号相反(例如,将4更改为-4,或将-4更改为4) ?我可以使用for循环来完成它,但我希望可能有更有效的方法来实现它。

2 个答案:

答案 0 :(得分:3)

如果您有偶数行数,请尝试

c(1,-1)*M

M是你的矩阵。

否则,请使用

(2*(row(M) %% 2)-1)*M
编辑:Carl Witthoft的建议:

rep(c(1,-1),length=nrow(M))*M

适用于任何矩阵。

答案 1 :(得分:0)

最终答案: rep(c(1,-1),length=nrow(M))*M