You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于ID列表填充R矩阵:将不在列表中的行设为NA

解决方法

可以通过匹配行名与ID列表的方式快速定位需要替换的行,再将这些行的所有元素设为NA,具体代码如下:

id_list <- c(1079, 1081, 1082, 1083)
mat <- matrix(1, nrow = 5, ncol = 5)
rownames(mat) <- colnames(mat) <- c(1079, 1080, 1081, 1082, 1083)

# 核心操作:定位行名不在id_list中的行,赋值为NA
mat[!rownames(mat) %in% as.character(id_list), ] <- NA

代码说明

  • rownames(mat) %in% as.character(id_list):判断每一行的行名是否在ID列表中,返回一个逻辑向量(符合条件为TRUE,不符合为FALSE)
  • 前面加!取反,就能得到行名不在ID列表中的行的位置
  • 最后将这些行的所有列元素统一赋值为NA

执行代码后,矩阵会生成你期望的结果:

10791080108110821083
107911111
1080NANANANANA
108111111
108211111
108311111

内容的提问来源于stack exchange,提问作者Polina Ermolaeva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:38:18