Help in splitting a list
Try this:
mapply('[', lapply(mylist, as.data.frame), c(index, lapply(index,
`!`)), SIMPLIFY = FALSE)
On Tue, Apr 5, 2011 at 7:46 AM, Lars Bishop <lars52r at gmail.com> wrote:
Dear R users,
Let's say I have a list with components being 'm' matrices (as exemplified
in the "mylist" object below). Now, I'd like to subset this list based on an
index vector, which will partition each matrix 'm' in 2 sub-matrices. My
questions are:
1. Is there an elegant way to have the results shown in mylist2 for an
arbitrary number of matrices in mylist?
2. The column names are 'lost' for mylist2[[2]] and mylist2[[4]] (but not
for mylist2[[1]] and mylist2[[3]]). Is there a way to keep the column names
in the results of mylist2?
mylist <- list(matrix(1:9,3,3), matrix(10:18,3,3))
colnames(mylist[[1]])=c('x1','x2','x3')
colnames(mylist[[2]])=c('x4','x5','x6')
index <- list(2)
index[[1]] <- c(TRUE,FALSE,TRUE)
index[[2]] <- c(FALSE,TRUE,TRUE)
mylist2 <- list(as.matrix(mylist[[1]][,index[[1]]]),
? ? ? ? ? ? ? ?as.matrix(mylist[[1]][,!index[[1]]]),
? ? ? ? ? ? ? ?as.matrix(mylist[[2]][,index[[2]]]),
? ? ? ? ? ? ? ?as.matrix(mylist[[2]][,!index[[2]]]))
Thanks for any help,
Lars.
? ? ? ?[[alternative HTML version deleted]]
______________________________________________ R-help at 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.
Henrique Dallazuanna Curitiba-Paran?-Brasil 25? 25' 40" S 49? 16' 22" O