See this post from the weekend: http://www.nabble.com/Re%3A-How-to-iteratively-extract-elements-out-of-a-list-p6002980.html
On 8/28/06, Muhammad Subianto <[EMAIL PROTECTED]> wrote: > Dear all, > I am still working with "list". > If I have an empty list how can I remove from list data. > Here is a toy example: > x <- list(matrix(1:20, 5, 4),matrix(1:20, 5, 4),matrix(1:20, 5, > 4),matrix(1:20, 5, 4),matrix(1:20, 5, 4)) > y <- list(c(1, -1, -1, 1, 1),c(1, 1, -1, -1, -1),c(1, 1, 1, 1, 1),c(1, > 1, -1, 1, -1),c(-1, -1, -1, -1, -1)) > ## Thanks to Gabor Grothendieck for this trick. > ## SIMPLIFY? SIMPLIFY >< simplify > xy.list <- mapply(cbind, x, y, SIMPLIFY=FALSE) > > point.class <- > t(cbind(c(10,20,15,4,-1),c(21,10,15,34,-1),c(11,13,6,3,1),c(7,5,5,2,1),c(8,9,5,12,-1))) > class.diffsame <- points.neighb(as.matrix(point.class), xy.list, 5) > pd.class <- points.diff(class.diffsame,xy.list) > > nc.test <- vector("list",length(pd.class)) > for (i in 1:length(pd.class)) { > nc.test[[i]] <- pd.class[[i]]$point.diff > } > nc.test > > nc.test > [[1]] > [,1] [,2] [,3] [,4] [,5] > [1,] 1 6 11 16 1 > [2,] 4 9 14 19 1 > [3,] 5 10 15 20 1 > > [[2]] > [,1] [,2] [,3] [,4] [,5] > [1,] 1 6 11 16 1 > [2,] 2 7 12 17 1 > > [[3]] > [,1] [,2] [,3] [,4] [,5] > > [[4]] > [,1] [,2] [,3] [,4] [,5] > [1,] 3 8 13 18 -1 > [2,] 5 10 15 20 -1 > > [[5]] > [,1] [,2] [,3] [,4] [,5] > > > > I want to remove these: > nc.test[[3]] > nc.test[[5]] > Because my list data have more 1000 lists are there any simple way to do this? > > Best, Muhammad Subianto > > > points.neighb <- function(p.class, list.nc, class.col) { > ntuples <- nrow(p.class) > instvec <- vector("list",length=ntuples) > for (i in 1:ntuples) { > # Thanks to Petr Pikal for this trick > instvec[[i]]$class.diff <- (p.class[i,class.col] - > list.nc[[i]][,class.col])!=0 > instvec[[i]]$class.same <- (p.class[i,class.col] - > list.nc[[i]][,class.col])==0 > } > instvec > } > > points.diff <- function(p.class, list.nc) { > ntuples <- length(list.nc) > instvec <- vector("list",ntuples) > for (i in 1:ntuples) { > instvec[[i]]$point.diff <- list.nc[[i]][p.class[[i]]$class.diff,] > instvec[[i]]$point.same <- list.nc[[i]][p.class[[i]]$class.same,] > } > instvec > } > > ______________________________________________ > 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 > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.