Hi mdvaan, Not the best solution, but it should get you started:
lapply(g, function(l){ n <- names(l) res <- lapply(1:length(n), function(ii){ rr <- l[[n[ii]]] rn <- rownames(rr) cn <- colnames(rr) i <- rn %in% n[[ii]] rr <- rr[!i, i] rr2 <- matrix(rr, ncol = 1) rownames(rr2) <- rn[!i] colnames(rr2) <- cn[i] rr2 }) res }) HTH, Jorge * * * * On Thu, Aug 25, 2011 at 11:24 AM, mdvaan <> wrote: > Hi, > > I have produced a list g and I would like to reduce the amount of > information contained in each object in g. > For each matrix I would like to keep the values where the column name > equals > g[year][[1]][[x]] and the row names equals g[year][[1]][[-x]]. So in > g$`1999`$`8029`, year = 1999 and x = 8029. I have been experimenting with > the subset function, but have been unsuccesful. Thanks for your help! > > The result for g$`1999`$`8029` should be: > > $`1999`$`8029` > B > B 8029 > 8026 1 > 8027 1 > 8028 1 > > The result for g$`1999`$`8028` should be: > > $`1999`$`8028` > B > B 8028 > 8029 1 > > > The result for g$`1999`$`8027` should be: > > $`1999`$`8027` > B > B 8027 > 8025 1 > 8026 2 > 8029 1 > > > Example: > > DF = data.frame(read.table(textConnection(" A B C > 80 8025 1995 > 80 8026 1995 > 80 8029 1995 > 81 8026 1996 > 82 8025 1997 > 82 8026 1997 > 83 8025 1997 > 83 8027 1997 > 90 8026 1998 > 90 8027 1998 > 90 8029 1998 > 84 8026 1999 > 84 8027 1999 > 85 8028 1999 > 85 8029 1999"),head=TRUE,stringsAsFactors=FALSE)) > > e <- function(y) crossprod(table(DF[DF$C %in% y, 1:2])) > years <- sort(unique(DF$C)) > f <- as.data.frame(embed(years, 3)) > g<-lapply(split(f, f[, 1]), e) > years<-names(g) > for (t in seq(years)) > { > year=as.character(years[t]) > g[[year]]<-sapply(colnames(g[[year]]), function(var) > g[[year]][g[[year]][,var]>0, g[[year]][var,]>0]) > } > > -- > View this message in context: > http://r.789695.n4.nabble.com/Selections-in-lists-tp3768562p3768562.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@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. > [[alternative HTML version deleted]] ______________________________________________ R-help@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.