new strip_splits
function removes splitting variables from the data frames returned by ddply
.
rename
moved in from reshape, and rewritten.
new 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)