5 ms·
The community and ecosystem around R is rapidly changing and adapting. R has a long and storied history as a niche language for statistics and analysis. Much li
by earino 12y ago
The community and ecosystem around R is rapidly changing and adapting. R has a long and storied history as a niche language for statistics and analysis. Much like those disciplines have entered the mainstream of modern technology enabled businesses, so follows the R ecosystem. Previously laborious tasks are being revamped with new elegant APIs such as Rvest does for scraping (and dplyr for manipulation, and lubridate for date manipulation, etc...)
Performance is also historically an R bugaboo, but with changes to R's copy on write semantics and other optimizations in the base language, current benchmarks show it behaving on par with Python and other dynamic languages (if not even slightly better with tools such as dplyr and data.table.)
The maggritr package's implementation of a "pipe semantic" (often considered the only truly successful implementation of a 'component architecture') and the adoption of the model for tools such as Rvset are really allowing for the functional, vectorized nature of R to shine through. These are really darned exciting times to be a part of this community!
- mapcar 12y agoDoes lubridate solve the unintended timezone conversions of POSIXct classes?
- hadley 12y agoCan you provide a bit more detail?
- mapcar 12y agoIn the R Help Desk 2004 (http://www.r-project.org/doc/Rnews/Rnews_2004-1.pdf http://www.r-project.org/doc/Rnews/Rnews_2004-1.pdf), Gabor Grothendieck recommends chron over POSIXct classes on account of the time zone conversions which occur when the tz attribute of the latter object is not "GMT". Will this not be a problem with lubridate? Thanks in advance.
- hadley 12y agoI've never found that to be a problem in practice. Do you have an example where it's bitten you in practice? (Also you should use UTC and not GMT)
- mapcar 12y agoHi Hadley, yes for instance > as.chron("1970-01-01")+unclass(as.chron("2001-04-01")) [1] 04/01/01 > as.POSIXct("1970-01-01","EST")+unclass(as.POSIXct("2014-06-01","EST")) [1] "2014-06-01 05:00:00 EST" If there is any conversion necessary it is difficult to get back the original intended time.
- elliott34 12y agoDo you have any links to articles on the current benchmarks that you mention? Not being snide just curious to read more.
- hadley 12y agoI'd start here: https://github.com/Rdatatable/data.table/wiki/Benchmarks-:-Grouping https://github.com/Rdatatable/data.table/wiki/Benchmarks-:-G... Performance isn't currently a huge focus for dplyr. In my opinion dplyr is fast enough that the bottleneck becomes mostly cognitive - you spend more time thinking about what you want to do than actually doing it.