[R] rbinding some elements from a list and obtain another list
    De Castro Pascual, Montserrat 
    mdecastro at creal.cat
       
    Tue Apr 30 09:30:20 CEST 2013
    
    
  
BINGO!!!
Many thanks arun!
You are a genious!!!
montserrat
-----Mensaje original-----
De: arun [mailto:smartpink111 en yahoo.com]
Enviado el: lunes, 29 de abril de 2013 18:33
Para: De Castro Pascual, Montserrat
CC: R help
Asunto: Re: [R] rbinding some elements from a list and obtain another list
Hi,
Try this:
set.seed(24)
 lst1<-lapply(1:4,function(x) 
as.data.frame(matrix(sample(1:20,20,replace=TRUE),ncol=5)))
 names(lst1)<- LETTERS[1:4]
res<-lapply(list(c("A","B"),c("C","D")), function(x) do.call(rbind,lst1[x]))
 res
#[[1]]
 #   V1 V2 V3 V4 V5
#A.1  6 14 17 14  4
#A.2  5 19  6 14  1
#A.3 15  6 13  7 11
#A.4 11 16  8 19  3
#B.1  2  5 13  8 15
#B.2 12 14  1  3 13
#B.3 15  2  7 19 14
#B.4  3 12  5  5 20
#
#[[2]]
 #   V1 V2 V3 V4 V5
#C.1 10  1  6 10 10
#C.2  8  2  7 15  6
#C.3  6  8 10 11  4
#C.4  5  8 18 20  3
#D.1 10 15 15  1 12
#D.2  5  7 10 20 17
#D.3  6 19  3 13  1
#D.4  3 20  5  7 15
A.K.
----- Original Message -----
From: "De Castro Pascual, Montserrat" <mdecastro en creal.cat>
To: r-help en r-project.org
Cc:
Sent: Monday, April 29, 2013 9:54 AM
Subject: [R] rbinding some elements from a list and obtain another list
Hi everybody,
I have a list, where every element of this list is a data frame.
An example:
Mylist<-list(A=data.frame, B=data.frame, C=data.frame, D=data.frame)
I want to rbind some elements of this list.
As an example:
Output<-list(AB=data.frame, CD=data.frame)
Where
AB=rbind(A,B)
CD=rbind(C,D)
I’ve tried:
f<-function(x){
  for (i in seq(1,length(names(x)),2)){
    aa<-do.call(rbind,x[i:i+1])
    aa
  }}
bb<-f(mylist)
or
f<-function(x){
  for (i in seq(1,length(names(x)),2)){
    aa[i]<-do.call(rbind,x[i:i+1])
    list(aa[i])
    }}
bb<-f (mylist)
but it doesn’t works!!!!
f<-function(x){
+   for (i in seq(1,length(names(x)),2)){
+     aa<-do.call(rbind,x[i:i+1])
+     aa
+   }}
> bb<-f(mylist)
> bb
NULL
> f<-function(x){
+   for (i in seq(1,length(names(x)),2)){
+     aa<-do.call(rbind,x[i:i+1])
+     aa
+   }}
> bb<-f(mylist)
>
> f<-function(x){
+   for (i in seq(1,length(names(x)),2)){
+     aa[i]<-do.call(rbind,x[i:i+1])
+     list(aa[i])
+   }}
> bb<-f(mylist)
Mensajes de aviso perdidos
1: In aa[i] <- do.call(rbind, x[i:i + 1]) :
  número de items para para sustituir no es un múltiplo de la longitud del 
reemplazo
2: In aa[i] <- do.call(rbind, x[i:i + 1]) :
  número de items para para sustituir no es un múltiplo de la longitud del 
reemplazo
3: In aa[i] <- do.call(rbind, x[i:i + 1]) :
  número de items para para sustituir no es un múltiplo de la longitud del 
reemplazo
4: In aa[i] <- do.call(rbind, x[i:i + 1]) :
  número de items para para sustituir no es un múltiplo de la longitud del 
reemplazo
5: In aa[i] <- do.call(rbind, x[i:i + 1]) :
  número de items para para sustituir no es un múltiplo de la longitud del 
reemplazo
6: In aa[i] <- do.call(rbind, x[i:i + 1]) :
  número de items para para sustituir no es un múltiplo de la longitud del 
reemplazo
Thanks!
Montserrat
    [[alternative HTML version deleted]]
______________________________________________
R-help en 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.
    
    
More information about the R-help
mailing list