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.