Hi all, 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 Thanks ----- Lanna -- View this message in context: http://r.789695.n4.nabble.com/Retrieving-matrix-column-and-row-names-by-index-value-tp4516390p4516390.html Sent from the R help mailing list archive at Nabble.com.
R. Michael Weylandt
2012-Mar-29 18:40 UTC
[R] Retrieving matrix column and row names by index value
This seems to work: namesFromIndex <- function(indx, obj){ mapply(`[`, dimnames(obj), arrayInd(indx, dim(obj))) } Michael On Thu, Mar 29, 2012 at 2:20 PM, Lanna Jin <lannajin at gmail.com> wrote:> Hi all, > > 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 > > Thanks > > > ----- > Lanna > -- > View this message in context: http://r.789695.n4.nabble.com/Retrieving-matrix-column-and-row-names-by-index-value-tp4516390p4516390.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.