gpt4 book ai didi

r - 通过向量 R 中的维度名称对矩阵进行子集

转载 作者:行者123 更新时间:2023-12-03 10:18:50 26 4
gpt4 key购买 nike

我有一个向量节点名作为

nodenames <- c("A","B","C","T","N","Z")

我有一个带有dimnames的方形稀疏矩阵
Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
..@ i : int [1:4149962] 1 2 3 4 5 9 11 12 13 14 ...
..@ p : int [1:3417] 0 1702 2710 3935 5411 6719 8141 9822 9822 11515 ...
..@ Dim : int [1:2] 3416 3416
..@ Dimnames:List of 2
.. ..$ : chr [1:3416] "A" "B" "AAL" "T" ...
.. ..$ : chr [1:3416] "A" "B" "AAL" "T" ...
..@ x : num [1:4149962] 2 1 1 3 1 1 2 19 3 2 ...
..@ factors : list()

如何生成此矩阵的子集,并在节点名称中使用暗淡名称?

最佳答案

您可以根据索引号、维度名称(通过字符向量,例如您的 nodenames )、逻辑向量以及可能超出我的其他内容对矩阵进行子集化。

mat1[nodenames, nodenames]
A B C T N Z
A 12 22 42 62 72 82
B 13 23 43 63 73 83
C 15 25 45 65 75 85
T 17 27 47 67 77 87
N 18 28 48 68 78 88
Z 19 29 49 69 79 89

或者:
mat1[which(rownames(mat1)%in% nodenames), which(colnames(mat1) %in% nodenames)]
mat1[rownames(mat1)%in% nodenames, colnames(mat1) %in% nodenames]

关于r - 通过向量 R 中的维度名称对矩阵进行子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com