R:将一个矩阵中的元素替换为另一个矩阵中 NA 对应位置的元素

标签 r replace position conditional-statements na

我有一个大矩阵 z,我删除了所有 >3 的值并使用 NA 替换:

z[z>3]<-NA

我有另一个尺寸相同的矩阵 y,我需要在与元素 z 中替换元素的位置相对应的位置将值替换为 NA。 也就是说,如果 z[3,12] >3 并替换为 NA,我也需要将 y[3,12] 替换为 NA。如果有帮助的话,它们具有相同的行名称。

最佳答案

set.seed(42)
z <- matrix(rnorm(15, mean = 1), nrow = 5)
y <- matrix(0, nrow = 5, ncol = 3)

z
#           [,1]      [,2]       [,3]
# [1,] 2.3709584 0.8938755  2.3048697
# [2,] 0.4353018 2.5115220  3.2866454
# [3,] 1.3631284 0.9053410 -0.3888607
# [4,] 1.6328626 3.0184237  0.7212112
# [5,] 1.4042683 0.9372859  0.8666787
y
#      [,1] [,2] [,3]
# [1,]    0    0    0
# [2,]    0    0    0
# [3,]    0    0    0
# [4,]    0    0    0
# [5,]    0    0    0

# The 2D matrix can be indexed as a vector
idx <- which(z > 3)

z[idx] <- NA
y[idx] <- NA

z
#           [,1]      [,2]       [,3]
# [1,] 2.3709584 0.8938755  2.3048697
# [2,] 0.4353018 2.5115220         NA
# [3,] 1.3631284 0.9053410 -0.3888607
# [4,] 1.6328626        NA  0.7212112
# [5,] 1.4042683 0.9372859  0.8666787
y
#      [,1] [,2] [,3]
# [1,]    0    0    0
# [2,]    0    0   NA
# [3,]    0    0    0
# [4,]    0   NA    0
# [5,]    0    0    0

关于R:将一个矩阵中的元素替换为另一个矩阵中 NA 对应位置的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29959009/

相关文章:

读取 Excel 表格,而不是简单的命名范围

java - 有没有可以代替键的排序Map

javascript - 如何根据容器div创建鼠标旁边的弹出窗口

javascript - 滚动然后在更大的屏幕尺寸上修复 div 跳转

r - R : constrOptim contraints 中的优化

在R中同时替换同一字符串的多个子字符串

r - r子集数据集按日期范围跨多年

php - 按位运算符的 MySQL 状态交换

javascript - 使用数组查找文本并替换为类等于文本的文本周围的链接

javascript - 使用 jQuery 检测距 div 顶部而非页面顶部的滚动距离