> lapply(lapply(Dat,My_Function),function(x) > {if(names(Dat)[match.call()[[2]][[3]]]%in% > "P") NULL else x})
match.call()[[2]][[3]], gack! In lapply(X, FUN), FUN is applied to X[[i]], which has lost the names attribute that X may have had. X[i] retains a part of the names attribute (since it is a sublist of X, not an element of X). Hence FUN can look at the name associated with X[i] with code like the following: lapply(seq_along(X), FUN=function(i) { Xi <- X[i] ; names(Xi) }) E.g., to apply one sort of processing to elements named "P" and another sort to those not named "P" you can do: > bases <- list(O="Oak Harbor",P="Pensicola",Q="Quonset Point") > lapply(seq_along(bases), function(i){ base <- bases[i] ; if (names(base) != "P") paste0("(",base,")") else tolower(base) } ) [[1]] [1] "(Oak Harbor)" [[2]] [1] "pensicola" [[3]] [1] "(Quonset Point)" Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf > Of arun > Sent: Friday, December 14, 2012 12:11 PM > To: Christofer Bogaso > Cc: R help > Subject: Re: [R] A question on list and lapply > > Hi, > > If you want the list element "P" to be present as NULL in the result > you could use this: > set.seed(51) > lapply(lapply(Dat,My_Function),function(x) > {if(names(Dat)[match.call()[[2]][[3]]]%in% > "P") NULL else x}) > A.K. > > > > > ----- Original Message ----- > From: Christofer Bogaso <bogaso.christo...@gmail.com> > To: r-help@r-project.org > Cc: > Sent: Friday, December 14, 2012 1:58 PM > Subject: [R] A question on list and lapply > > Dear all, let say I have following list: > > Dat <- vector("list", length = 26) > names(Dat) <- LETTERS > My_Function <- function(x) return(rnorm(5)) > Dat1 <- lapply(Dat, My_Function) > > > However I want to apply my function 'My_Function' for all elements of 'Dat' > except the > elements having 'names(Dat) == "P"'. Here I have specified the name "P" just > for > illustration however this will be some name specified by user. > > Is there any direct way to achieve this, using 'lapply'? > > Thanks for your help. > > ______________________________________________ > 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. > > ______________________________________________ > 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. ______________________________________________ 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.