如何使用条件语句相乘元素?

问题描述 投票:0回答:2

我对 R 和一般编程非常陌生,我需要一些帮助。我想要创建一个函数,将给定矩阵中的所有偶数乘以 3,例如在此矩阵中:

X = matrix(1:9,3,3)

我尝试过这样的替换功能:

Multiply = function(M) {
 x=M*3
 replace(M, M%%2==0, x)
}

这给了我一个我不明白的结果。 任何帮助将不胜感激!

r function matrix
2个回答
0
投票

我们可以将函数创建为

Multiply <- function(M){ i1 <- M%%2 == 0
          M[i1] <- M[i1]*3
          M } 

0
投票

这适用于您的示例:

mymult <-function(M, num.row, num.col){
    vec = c(M)
    vec[vec %% 2 == 0]=vec[vec%%2 == 0]*3
    return(matrix(vec, num.row, num.col))
}

首先进行向量化并检查哪些是偶数,然后将其与三相乘,然后再次重建矩阵。

© www.soinside.com 2019 - 2024. All rights reserved.