[R] Function for Data Frame
macqueen1 at llnl.gov
Mon Apr 29 22:34:28 CEST 2013
Just to add a little, don't get distracted by the return() function.
Functions return the value of their final expression, provided it isn't an
For your example, this will do the job:
myfunc <- function(DF) subset(DF, select=-V1)
If you want to modify the data frames in place, one way is to use a loop
instead of lapply.
mydfs <- list(DF1, DF2, DF3)
for (il in 1:3) mydfs[[il]] <- myfunc(mydfs[[il]])
But so should
mydfs <- lapply(mydfs,myfunc)
I doubt very much you'll see any performance difference between using
lapply() and using an explicit loop.
Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
On 4/29/13 7:23 AM, "Sparks, John James" <jspark4 at uic.edu> wrote:
>Dear R Helpers,
>I have about 20 data frames that I need to do a series of data scrubbing
>steps to. I have the list of data frames in a list so that I can use
>lapply. I am trying to build a function that will do the data scrubbing
>that I need. However, I am new to functions and there is something
>fundamental that I am not understanding. I use the return function at the
>end of the function and this completes the data processing specified in
>the function, but leaves the data frame that I want changed unaffected.
>How do I get my function to apply its results to the data frame in
>question instead of simply displaying the results to the screen?
>Any helpful guidance would be most appreciated.
>#How to get this change to data frame x?
>#And preferrably not send the results to the screen?
>R-help at r-project.org mailing list
>PLEASE do read the posting guide
>and provide commented, minimal, self-contained, reproducible code.
More information about the R-help