select()is substantially more powerful. You can use named arguments to
rename existing variables, and new functions
num_range()to select variables based on
their names. It now also makes a shallow copy, substantially reducing its
memory impact (#158, #172, #192, #232).
summarize()added as alias for
summarise()for people from countries
that don't don't spell things correctly ;) (#245)
filter()now fails when given anything other than a logical vector, and
correctly handles missing values (#249).
stats::filter()so you can continue to use
numeric inputs (#264).
summarise()correctly uses newly created variables (#259).
lag()preserve attributes, so they now work with
dates, times and factors (#166).
n()never accepts arguments (#223).
row_number()gives correct results (#227).
rbind_all()silently ignores data frames with 0 rows or 0 columns (#274).
The hybrid evaluator did not handle some expressions correctly, for
if(n() > 5) 1 else 2the subexpression
substituted correctly. It also correctly processes
arrange()checks that all columns are of supported types (#266).
Working towards Solaris compatibility.
Benchmarking vignette temporarily disabled due to microbenchmark
problems reported by BDR.