R语言for循环嵌套求解

x <- matrix(sample(1:25), byrow = T, ncol = 5)
使用一对嵌套的“for”循环(一个用于行索引(i)循环,另一个用于列索引(j)循环),循环到矩阵x中的
位置,如果x的关联元素是奇数,则将该元素替换为它的负数。如果它是偶数,那么就使用ifelse()函数将元
素替换为它的平方

以下是使用一对嵌套的“for”循环进行循环的代码,以实现上述要求:

for(i in 1:nrow(x)) {
  for(j in 1:ncol(x)) {
    if(x[i,j] %% 2 == 1) {  # 判断元素是否为奇数
      x[i,j] <- -x[i,j]  # 如果是奇数,取相反数
    } else {
      x[i,j] <- ifelse(x[i,j] %% 2 == 0, x[i,j]^2, x[i,j])  # 如果是偶数,平方;否则不变
    }
  }
}


首先,外层循环使用变量i循环遍历矩阵的行,内层循环使用变量j循环遍历矩阵的列。

在循环的每个位置,我们使用“%%”运算符来判断x中的元素是否为奇数。如果是奇数,则将该元素替换为其相反数(取负数);否则,使用ifelse()函数判断该元素是否为偶数。如果是偶数,则将该元素替换为其平方;否则,该元素不变。

在循环结束后,矩阵x的所有奇数元素都被替换为了相反数,而所有偶数元素都被替换为了它们的平方。


for (i in 1:nrow(x)) {
  for (j in 1:ncol(x)) {
    # 如果元素是奇数,则替换为它的负数
    if (x[i, j] %% 2 != 0) {
      x[i, j] <- -x[i, j]
    } 
    # 如果元素是偶数,则替换为它的平方
    else {
      x[i, j] <- ifelse(x[i, j] %% 2 == 0, x[i, j]^2, x[i, j])
    }
  }
}

print(x)