假设我有一个矩阵 mdat 并且我只知道索引号。如何检索列名和行名?例如:
> mdat <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol=3, byrow=TRUE,
dimnames = list(c("row1", "row2"), c("C.1", "C.2", "C.3")))
> mdat[4]
[1] 12
> names(mdat[4])
NULL
> colnames(mdat[4])
NULL
> rownames(mdat[4])
NULL
> dimnames(mdat[4])
NULL
首先,您需要使用以下命令获取该索引的行和列arrayInd
.
k <- arrayInd(4, dim(mdat))
然后,您可以通过获取行和列名称的该元素来获得正确的名称
rownames(mdat)[k[,1]]
colnames(mdat)[k[,2]]
或者同时使用mapply
:
mapply(`[[`, dimnames(mdat), k)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)