我对 R 和一般编程非常陌生,我需要一些帮助。我想要创建一个函数,将给定矩阵中的所有偶数乘以 3,例如在此矩阵中:
X = matrix(1:9,3,3)
我尝试过这样的替换功能:
Multiply = function(M) {
x=M*3
replace(M, M%%2==0, x)
}
这给了我一个我不明白的结果。 任何帮助将不胜感激!
我们可以将函数创建为
Multiply <- function(M){ i1 <- M%%2 == 0
M[i1] <- M[i1]*3
M }
这适用于您的示例:
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))
}
首先进行向量化并检查哪些是偶数,然后将其与三相乘,然后再次重建矩阵。