小编Mel*_*eli的帖子

loop:替换某个位置的值

我有一个矩阵和一个向量,并希望更改矩阵位置的值,其中向量中的值为负.

x <- c(1,-5,4,-8,9)

X <- matrix(c(5,7,3,
              -5,6,8,
              9,-6,4,
              2,-1,-3,
              5,2,4),byrow=TRUE, nrow=5)
Run Code Online (Sandbox Code Playgroud)

对于x的所有值,其中i <0取位置并在X的整个行中的该位置乘以-1

这应该是结果:

X2 <- matrix(c(5,7,3,
               5,-6,-8,
               9,-6,4,
               -2,1,3,
               5,2,4),byrow=TRUE, nrow=5)
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,但它不起作用:

if (x[i] > 0) {
  X[i, ] <- (- X[i, ])
}
print(X)
Run Code Online (Sandbox Code Playgroud)

loops replace r

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

标签 统计

loops ×1

r ×1

replace ×1