Hi Tom, What exactly is this function supposed to do? Your immediate problem is that you are passing it a string "x" and asking for a mean of the string "x" (hence complaints that it's not numeric) but I'm a little confused as to what this is supposed to do when it works.
If you just want the mean of the list element named "x", this should do: mean(data[["x"]]) If more generally you need to set up an environment, perhaps attach will work -- but if you intend to write a function, why not just subset the list as needed? mean_on_element2 <- function(data,elem_name) { r = mean(data[[elem_name]]) return(r) } Now you can access list elements by their index or by a string containing the name. Hope this helps, Michael Weylandt On Mon, Aug 8, 2011 at 6:12 PM, thmsfuller...@gmail.com < thmsfuller...@gmail.com> wrote: > Hi All, > > I want to enclose with() in a function mean_on_element. Obviously, it > is not working. The problem is how to specify the element name with a > function body. Does anybody have any suggestion? Thanks! > > > data=list(x=1:10) > > with(data, mean(x)) > [1] 5.5 > > > > mean_on_element=function(data, elem_name) { > + with(data, mean(elem_name)) > + } > > mean_on_element(data, 'x') > [1] NA > Warning message: > In mean.default(elem_name) : > argument is not numeric or logical: returning NA > > > -- > Tom > > ______________________________________________ > 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.