David:

Thank you for your very valuable response. In fact, I was trying to _avoid_ partial matching, not accomplish it. Subset is a _much_ better way of doing what I was trying to do.

Humorously, however, your code also reproduces the mistake that brought me here, AFAICT. I think my code behaved weirdly because of my use of = instead of <<- inside sapply.

With subset, we can avoid that choice altogether. My new code, which appears to work, is:

===

animals <- sapply(unique(Z$id), function(i){
  subset(Z, id==i, select=c(sighting_number, date, age_num))
}, simplify=FALSE)

===

Why should I consider renaming the date column?

----------------------------------------------------------------------
I have not seen you describe the value of doing partial matching in this application, so pardon this perhaps non-responsive reply: Wouldn't it have been much, much simpler to have used the subset function (which returns a dataframe object) at the first assignment to donotprint?

Something along the lines of  (untested) :

> donotprint <- sapply(indivs, function(i){
> animals[[i]] = subset(Z, individual_id == i, select = > c(sighting_number, date, age_num) ) } # reconsider naming variable > "date"

                      )

______________________________________________
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.

Reply via email to