If you don't need the "P" element in the output, then I think the answers you've already received are good.
But if you do want to retain the "P" element, then I think it's better to simply add the missing elements back in after using lapply. The code will be easier to understand a year from now. Here's what I would do: Dat <- vector("list", length = 26) names(Dat) <- LETTERS exclude <- c('P','Z') tmp1 <- Dat[ setdiff(names(Dat), exclude) ] tmp2 <- Dat[ intersect(names(Dat), exclude) ] myfun <- function(x) rnorm(5) ## return() not needed Dat1 <- c( lapply(tmp1, myfun) , tmp2) ## put back in original order if desired Dat1 <- Dat1[ names(Dat) ] Is there a "direct way" to achieve this *and* include the 'P' element in Dat1? Not that I know of. -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 On 12/14/12 10:58 AM, "Christofer Bogaso" <bogaso.christo...@gmail.com> wrote: >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.