[R] loop with splitted data

Peter Dalgaard p.dalgaard at biostat.ku.dk
Wed Aug 27 00:26:56 CEST 2008


jim holtman wrote:
> Is this what you want:
>
>   
>> y = c(rep(2,5),rep(3,5))
>> ma <- data.frame(x = 1:10, y=y  )
>> splitted <- split(ma, ma$y)
>> for (counter in (min(ma$y):max(ma$y)))
>>     
> + {
> + cat(counter, ":", splitted[[as.character(counter)]]$x, '\n')
> + }
> 2 : 1 2 3 4 5
> 3 : 6 7 8 9 10
>
>   
But maybe this is what he really wanted:

 > lapply(splitted,"[[", "x")
$`2`
[1] 1 2 3 4 5

$`3`
[1]  6  7  8  9 10

or even

 > split(ma$x, ma$y)
$`2`
[1] 1 2 3 4 5

$`3`
[1]  6  7  8  9 10

-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907



More information about the R-help mailing list