本文介绍了如何通过矩阵索引值检索矩阵列和行名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,假设我有一个矩阵mdat,而我只知道索引号.如何检索列名和行名?例如:

So let's say I have a matrix, mdat and I only know the index number. How do I retrieve the column and row names? For example:

> 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获取该索引的行和列.

First you need to get the row and column of that index using arrayInd.

k <- arrayInd(4, dim(mdat))

然后您可以通过获取行名称和列名称中的该元素来获取正确的名称

You can then get the right name by getting that element of the row and column names

rownames(mdat)[k[,1]]
colnames(mdat)[k[,2]]

或同时使用mapply:

mapply(`[[`, dimnames(mdat), k)

这篇关于如何通过矩阵索引值检索矩阵列和行名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 11:52