You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
select() is substantially more powerful. You can use named arguments to
rename existing variables, and new functions starts_with(), ends_with(), contains(), matches() and 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)
Bug fixes
filter() now fails when given anything other than a logical vector, and
correctly handles missing values (#249). filter.numeric() proxies 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 mutate.data.frame()
correctly mutates the same variable repeatedly (#243).
lead() and lag() preserve attributes, so they now work with
dates, times and factors (#166).
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
example in if(n() > 5) 1 else 2 the subexpression n() was not
substituted correctly. It also correctly processes $ (#278).
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.