Thanks! Why have to add “x” at the end of function, which was what I missed.
> On Jun 18, 2018, at 2:53 PM, Bert Gunter <bgunter.4...@gmail.com> wrote: > > It depends on whether you wish to refer to the column to be logged by name or > index. > > Reprex: > > set.seed(1234) > dat <- lapply(1:3, function(i)data.frame(a = runif(5), b = sample(letters,5))) > > ## by numerical index of column > d <- lapply(dat,function(x){x[,"logged"]<- log10(x[,1]); x}) > > ## by name of column > dd <- lapply(dat,function(x){x[,"logged"]<- log10(x[,"a"]); x}) > > There are also slight variations on how you can do the "[" indexing that > others may post. > Note that you have to return the modified data frame in the function. > > Cheers, > Bert > > > > > > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along and > sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > >> On Mon, Jun 18, 2018 at 1:46 PM, Honkit Wong <stephe...@gmail.com> wrote: >> Dear R community, >> I have a question seems very simple but have trouble to do it. >> I have a list which stores many data frames. Now, I want to perform log10 on >> one column in each data frame in the list and save the value as a new column >> back to the original data frame in the list. How do I quickly do that with >> lapply function ? >> >> Many thanks. >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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 -- To UNSUBSCRIBE and more, see 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.