[R] how to get row name of matrix when result is a vector
David Winsemius
dwinsemius at comcast.net
Fri Sep 3 15:51:22 CEST 2010
On Sep 3, 2010, at 9:08 AM, syrvn wrote:
>
> Hi,
>
> the R code:
>
> a <-
> matrix
> (c(1,5,4,3,7,10,34,4,3,8,6,5,12,17,45,3,2,45,46,47,3,4,22,12,21),
> nrow=5)
> rownames(a) <- c("a","b","c","d","e")
> a
> a[which(a[,3] < 8), ]
> a[which(a[,3] < 6), ]
It wasn't exactly clear and possible that you wanted only rownames
that satisfied those criteria
> rownames(a)[which(a[,3] < 8)]
[1] "a" "b"
> rownames(a)[which(a[,3] < 6)]
[1] "b"
> rownames(a)[which(a[,3] < 4)]
character(0)
Sometimes which() is needed, and others it is not. This appears to be
one where it is not needed:
> rownames(a)[a[,3] < 4]
character(0)
> rownames(a)[a[,3] < 6]
[1] "b"
> rownames(a)[a[,3] < 8]
[1] "a" "b"
--
David.
>
>
> produces the following output:
>
>> a
> [,1] [,2] [,3] [,4] [,5]
> a 1 10 6 3 3
> b 5 34 5 2 4
> c 4 4 12 45 22
> d 3 3 17 46 12
> e 7 8 45 47 21
>
>> a[which(a[,3] < 8), ]
> [,1] [,2] [,3] [,4] [,5]
> a 1 10 6 3 3
> b 5 34 5 2 4
>
>> a[which(a[,3] < 6), ]
> [1] 5 34 5 2 4
>
>
> I actually thought it must be rather easy to somehow extract the row
> name
> when the result is just a vector as in the second example and not a
> matrix.
> I tried several ways but without any success.
>
> Any advice?
> Best,
> syrvn
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/how-to-get-row-name-of-matrix-when-result-is-a-vector-tp2525631p2525631.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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list