On Fri, Aug 3, 2012 at 5:41 PM, Gene Leynes <gley...@gmail.com> wrote: > Ah yes, good point. > > this was easy enough to write, it doesn't lose dimensions, and there's no > unnecessary complexity... unless you're passing in data frames, in which > you'll have to recombine them. > > trim = function(x) gsub("^[[:space:]]+|[[:space:]]+$", "", x) > trimmer = function(x){ > if(is.list(x)){ > rapply(x, trim, how='replace') > }else{ > trim(x) > } > } >
Possibly, though I suppose it's a matter of judgement, even more straightforward to just make your input into a list and don't special case: trimmer <- function(x){rapply(list(x), function(x) gsub("^[[:space:]]+|[[:space:]]+$", "", x), how = "replace")[[1]]} Note the "[[1]]" to undo the list() call we added. Best, Michael > tempobj = ' many spaces ' > tempvec = c(tempobj, tempobj) > templist = list(tempvec, tempvec) > tempdf = data.frame(x = tempvec, y = tempvec) > > trimmer(tempobj) > trimmer(tempvec) > trimmer(templist) > trimmer(tempdf) > > > > Thank you, > Gene Leynes > _____________________________________________ > Data Scientist > Mobile: 312-498-7702 > http://www.linkedin.com/in/geneleynes > http://geneorama.com/ > > > > On Fri, Aug 3, 2012 at 4:14 PM, R. Michael Weylandt > <michael.weyla...@gmail.com> wrote: >> >> On Fri, Aug 3, 2012 at 3:36 PM, Gene Leynes <gley...@gmail.com> wrote: >> > Rui, >> > Yes, that's exactly it, thanks!! >> > I wouldn't have thought of the "is.atomic". I was going after a series >> > of >> > tests for dimension and is.list. >> > >> > >> >> One other helpful function that I haven't seen anyone mention this far >> is ? rapply [= recursive apply] >> >> Best, >> Michael > > ______________________________________________ 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.