[R] how to extract the row names of a matrix using for loop or other looping

From: peter eric <eric_wzl_at_yahoo.com>
Date: Sun 11 Dec 2005 - 04:17:47 EST


Hi all,
  I have a matrix and its cluster...and i like to extract the row names of each cluster....but using the for loop or some other looping    

  a<-matrix(c(seq(3,45,3),seq(10,6,-1)),4,5,byrow=F)  col<-c("ra","rb","rc","rd","re")
 rows<-c("ca","cb","cc","cd")
 dimnames(a)<-list(rows,col)

a                                ##        matrix
  #-----------------------------------------------------------------------------------
  #      ra rb rc rd re

# ca 3 15 27 39 9
# cb 6 18 30 42 8
# cc 9 21 33 45 7
# cd 12 24 36 10 6

t<-list()                        ## clusters of the matrix
  s<-list()
  r<-c(1:3)
   for(i in 1:3)
{ p<-seq(r[i],4,3)
 s[[i]]<-print(p)
t[[i]]<-a[s[[i]],,drop=FALSE]
 }
print(t)

  ##[[1]]
   ra rb rc rd re
ca 3 15 27 39 9
cd 12 24 36 10 6
  [[2]]
   ra rb rc rd re
cb 6 18 30 42 8
  [[3]]
   ra rb rc rd re
cc 9 21 33 45 7
       

  ##now if i want to extract the row names i can do it manually giving the values like    

  rowc <- list(c(rownames(t[[1]])), c(rownames(t[[2]])), rownames(t[[3]]))        

  but i like to do using for loop or other loops...could you give me some suggestion..ive tried like this..but it is not working....    

  rowc<-list(for(i in 1:3){p<-c();k<-rownames(t[[i]]);p[[i]]<-print(k)})    

  ## here Im getting only the final rowname t[[3]]..other two values are missing..how could i do this to store all the values...........    

  thank you...    

  with regards,
  eric.                         


        [[alternative HTML version deleted]]



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sun Dec 11 04:34:45 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:35 EST