Hi, Steven,

try

lapply( x, function( v) rownames(x)[ v == 1])

or

lapply( x, function( v, rn) rn[ v == 1], rn = rownames( x)))

which is faster.

 Regards  --  Gerrit

---------------------------------------------------------------------
AOR Dr. Gerrit Eichner             Mathematical Institute, Room 305 E
gerrit.eich...@math.uni-giessen.de   Justus-Liebig-University Giessen
Tel: +49-(0)641-99-32104          Arndtstr. 2, 35392 Giessen, Germany
Fax: +49-(0)641-99-32109              http://www.uni-giessen.de/~gcb7
---------------------------------------------------------------------

On Thu, 27 Aug 2009, Steven Kang wrote:

Dear R users,

I am trying to extract the rownames of a data set for which each columns
meet a certain criteria. (condition - elements of each column to be equal
1)

I have the correct result, however I am seeking for more efficient (desire
vectorization) way in implementing such problem as it can get quite messy
if
there are hundreds of columns.

Arbitrary data set and codes are shown below for your reference:

x <- as.data.frame(matrix(round(runif(50),0),nrow=5))

rownames(x) <- letters[1:dim(x)[1]]

> x
 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
a  0  1   1    1   0   0    0   0   1    0
b  1  1   1    1   0   1    0   0   1    1
c  0  1   1    0   0   0    0   0   0    1
d  1  0   0    1   1   1    1   1   0    0
e  1  0   0    0   0   1    1   0   1    0

V1.ind <- rownames(x)[x[,"V1"]==1]
V2.ind <- rownames(x)[x[,"V2"]==1]
V3.ind <- rownames(x)[x[,"V3"]==1]
V4.ind <- rownames(x)[x[,"V4"]==1]
:
:
V10.ind <- rownames(x)[x[,"V10"]==1]

> V1.ind
[1] "b" "d" "e"
> V2.ind
[1] "a" "b" "c"
> V3.ind
[1] "a" "b" "c"
:
:
> V10.ind
[1] "b" "c"



Your expertise in resolving this issue would be highly appreciated.


Steve

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.


______________________________________________
R-help@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.

Reply via email to