根据带有行ID的列表填充R矩阵

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

我在 R 中有一个矩阵,其 id 作为行名和列名。我还有一个 id 列表。对于不在 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)

想要的结果:

1079 1080 1081 1082 1083
1079 1 1 1 1 1
1080 不适用 不适用 不适用 不适用 不适用
1081 1 1 1 1 1
1082 1 1 1 1 1
1083 1 1 1 1 1
r matrix
1个回答
0
投票

类似这样的:

mat[!rownames(mat) %in% id_list, ] <- NA
mat
     1079 1080 1081 1082 1083
1079    1    1    1    1    1
1080   NA   NA   NA   NA   NA
1081    1    1    1    1    1
1082    1    1    1    1    1
1083    1    1    1    1    1
© www.soinside.com 2019 - 2024. All rights reserved.