strip_splits function removes splitting variables from the data frames returned by
rename moved in from reshape, and rewritten.
match_df function makes it easy to subset a data frame to only contain values matching another data frame. Inspired by http://stackoverflow.com/questions/4693849.
**ply now works when passed a list of functions
*dply now correctly names output even when some output combinations are missing (NULL) (Thanks to bug report from Karl Ove Hufthammer)
*dply preserves the class of many more object types.
a*ply now correctly works with zero length margins, operating on the entire object (Thanks to bug report from Stavros Macrakis)
join now implements joins in a more SQL like way, returning all possible matches, not just the first one. It is still a (little) faster than merge. The previous behaviour is accessible with
match = "first".
join is now more symmetric so that
join(x, y, "left") is closer to
join(y, x, "right"), modulo column ordering
named.quoted failed when quoted expressions were longer than 50 characters. (Thanks to bug report from Eric Goldlust)
rbind.fill now correctly maintains POSIXct tzone attributes and preserves missing factor levels
split_labels correctly preserves empty factor levels, which means that
drop = FALSE should work in more places. Use
base::droplevels to remove levels that don’t occur in the data, and
drop = T to remove combinations of levels that don’t occur.
vaggregate now passes
... to the aggregation function when working out the output type (thanks to bug report by Pavan Racherla)