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
filter() function with
numeric inputs (#264).
summarise() correctly uses newly created variables (#259).
mutate() correctly propagates attributes (#265) and
correctly mutates the same variable repeatedly (#243).
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).
group_by() orders the result (#242). It also checks that columns
are of supported types (#233, #276).
- The hybrid evaluator did not handle some expressions correctly, for
if(n() > 5) 1 else 2 the subexpression
n() was not
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.
Press h to open a hovercard with more details.