[R] making a dataframe out of lapply() result

Spencer Graves spencer.graves at pdf.com
Tue Apr 15 20:39:22 CEST 2003


 > tester <- data.frame(groups=c("A","A","B","B","C","C"), 
one=c(1,1,2,2,3,3), two=c(6,6,7,7,8,8))
 > tester.L <- split(tester, tester$groups)
 > as.data.frame(lapply(tester.L, function(x) x <- unlist(x[1,] )))
        A B C
groups 1 2 3
one    1 2 3
two    6 7 8

How's this?
Spencer Graves

Remko Duursma wrote:
> Dear R-helpers,
> 
> i have a question on how to vectorize this problem:
> 
> i have a dataframe:
> 
> tester <- data.frame(groups=c("A","A","B","B","C","C"), one=c(1,1,2,2,3,3), two=c(6,6,7,7,8,8))
> 
> # i split it into a list
> tester.L <- split(tester, tester$groups)
> 
> # And want to keep only the first item in each:
> lapply(tester.L, function(x) x <- x[1,] )
> 
> 
> How do i make a dataframe out of the last result, which looks like "tester", without looping? (i can use rbind in a for loop, but is rather slow)
> 
> thanks for your help,
> 
> Remko Duursma
> 
> 
> ____________________________________________________________
> Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help



More information about the R-help mailing list