You are currently browsing the category archive for the ‘News’ category.

The RStudio team recently rolled out new capabilities in RStudio, shiny, ggvis, dplyr, knitr, R Markdown, and packrat. The “Essential Tools for Data Science with R” free webinar series is the perfect place to learn more about the power of these R packages from the authors themselves.

Click to learn more and register for one or more webinar sessions. You must register for each separately. If you miss a live webinar or want to review them, recorded versions will be available to registrants within 30 days.

The Grammar and Graphics of Data Science
Live! Wednesday, July 30 at 11am Eastern Time US  Click to register

  • dplyr: a grammar of data manipulation – Hadley Wickham
  • ggvis: Interactive graphics in R – Winston Chang

Reproducible Reporting 
Live! Wednesday, August 13 at 11am Eastern Time US  Click to register

  • The Next Generation of R Markdown – Jeff Allen
  • Knitr Ninja – Yihui Xie
  • Packrat – A Dependency Management System for R – J.J. Allaire & Kevin Ushey

Interactive Reporting
Live! Wednesday, September 3 at 11am Eastern Time US  Click to register

  • Embedding Shiny Apps in R Markdown documents – Garrett Grolemund
  • Shiny: R made interactive – Joe Cheng

 

The R User Conference 2014 is coming up fast in Los Angeles!

RStudio will be there in force to share the latest enhancements to shiny, ggvis, knitr, dplyr. R markdown, packrat and more.  Here’s a quick snapshot of our scheduled sessions. We hope to see you in as many of them as you can attend!

Monday, June 30

Morning Tutorials

  • Interactive graphics with ggvis - Winston Chang
  • Dynamic Documents with R and knitr – Yihui Xie

Afternoon Tutorials

  • Data manipulation with dplyr – Hadley Wickham
  • Interactive data display with Shiny and R – Garrett Grolemund

Tuesday, July 1

Session 1 10:30 Room – Palisades
ggvis: Interactive graphics in R - Winston Chang

Session 2 13:00 Room - Palisades
Shiny: R made interactive – Joe Cheng

Session 3 16:00 Room - Palisades
dplyr: a grammar of data manipulation – Hadley Wickham

Wednesday, July 2

Session 5 16.00 Room - Palisades
Packrat – A Dependency Management System for R – J.J. Allaire

Thursday, July 3

Session 6 10:00 Room - Palisades
The Next Generation of R Markdown – J.J. Allaire
Knitr Ninja – Yihui Xie
Embedding Shiny Apps in R Markdown documents – Garrett Grolemund

Every Day

Don’t miss our table in the exhibition area during the conference. Come talk to us about your plans for R and learn how RStudio Server Pro and Shiny Server Pro can provide enterprise-ready support and scalability for your RStudio IDE and Shiny deployments.

People rarely agree on a best authoring tool or language. Some people cannot live without \LaTeX{} because of the beauty and quality of its PDF output. Some \feel{} \uncomfortable{} \with{} \backslashes{}, and would rather live in another World Word. We have also witnessed the popularity of Markdown, an incredibly simple language (seriously? a LANGUAGE?) that has made reproducible research much easier.

Thinking of all these tools and languages, every developer will dream about “One ring to rule them all“. \section{}, <h1></h1>, ===, #, … Why cannot we write the first-level section header in a single way? Yes, we are aware of the danger of “adding yet another so-called universal standard that covers all the previous standards”. However, we believe Pandoc has done a fairly good job in terms of “yet another Markdown standard”. Standing on the shoulders of Pandoc, today we are excited to announce the second episode of our journey into the development of the tools for authoring dynamic documents:

The Return of R Markdown!

The R package markdown (plus knitr) was our first version of R Markdown. The primary output format was HTML, which certainly could not satisfy all users in the World Word. It did not have features like citations, footnotes, or metadata (title, author, and date, etc), either. When we were asked how one could convert Markdown to PDF/Word, we used to tell users to try Pandoc. The problem is that Pandoc’s great power comes with a lot of command line options (more than 70), and knitr has the same problem of too many options. That is why we created the second generation of R Markdown, represented by the rmarkdown package, to provide reasonably good defaults and an R-friendly interface to customize Pandoc options.

The new version of RStudio (v0.98.932) includes everything you need to use R Markdown v2 (including pandoc and the rmarkdown package). If you are not using RStudio you can install rmarkdown and pandoc separately as described here. To get started with a “Hello Word” example, simply click the menu File -> New File -> R Markdown in RStudio IDE. You can choose the output format from the drop-down menu on the toolbar.

R Markdown Formats

The built-in output formats include HTML, LaTeX/PDF, Word, Beamer slides, HTML5 presentations, and so on. Pandoc’s Markdown allows us to write richer content such as tables, citations, and footnotes. For power users who understand LaTeX/HTML, you can even embed raw LaTeX/HTML code in Markdown, and Pandoc is smart enough to process these raw fragments. If you cannot remember the possible options for a certain output format in the YAML metadata (data between --- and --- in the beginning of a document), you can use the Settings button on the toolbar.

Extensive documentation for R Markdown v2 and all of it’s supported output formats are available on the new R Markdown website at http://rmarkdown.rstudio.com.

We understand users will never be satisfied by our default templates, regardless of how hard we try to make them appealing. The rmarkdown package is fully customizable and extensible in the sense that you can define your custom templates and output formats. You want to contribute an article to The R Journal, or JSS (Journal of Statistical Software), but prefer writing in Markdown instead of LaTeX? No problem! Pandoc also supports many other output formats, and you want EPUB books, or a different type of HTML5 slides? No problem! Not satisfied with one single static output document? You can embed interactive widgets into R Markdown documents as well! Let there be Shiny! The more you learn about rmarkdown and Pandoc, the more freedom you will get.

For a brief video introduction, you may watch the talk below (jump to 18:30 if you only want to see the demos):

The rmarkdown package is open-source (GPL-3) and is both included in the RStudio IDE and available on GitHub. The package is not on CRAN yet, but will be there as soon as we make all the improvements requested by early users.

To clarify the relationship between rmarkdown and RStudio IDE, our IDE is absolutely not the only way to compile R Markdown documents. You are free to call functions in rmarkdown in any environment. Please check out the R package documentation, in particular, the render() function in rmarkdown.

Please let us know if you have any questions or comments, and your feedback is greatly appreciated. We hope you will enjoy R Markdown v2.

Keep Calm and Markdown

Today we’re very pleased to announce a new version of RStudio (v0.98.932) which is available for download now. New features in this release include:

  • A next generation implementation of R Markdown with a raft of new features including support for HTML, PDF, and Word output, many new options for customizing document appearance, and the ability to create presentations (Beamer or HTML5).
  • Interactive Documents (Shiny meets R Markdown). Readers can now change the parameters underlying your analysis and see the results immediately. Interactive Documents make it easier than ever to use Shiny!
  • Shareable notebooks from R scripts. Notebooks include all R code and generated output, and can be rendered in HTML, PDF, and Word formats.
  • Enhanced debugging including support for the new R 3.1 debugging commands to step into function calls and finish the current loop or function.
  • Various source editor enhancements including new syntax highlighting modes for XML, YAML, SQL, Python, and shell scripts. You can also execute Python and shell scripts directly from the editor using Ctrl+Shift+Enter.
  • Integrated tools for Shiny development including the ability to run applications within an IDE pane as well as Run/Reload applications with a keyboard shortcut (Ctrl+Shift+Enter).
  • A new devtools mode for package development (uses devtools for check, document, test, build, etc.)
  • Contextual Git/SVN menu that enables quick access to per-file revision history and selection-aware View/Blame for projects hosted on GitHub.
  • Fast lookup of shortcuts using the new keyboard shortcut quick-reference card (Alt+Shift+K)

See the release notes for a full list of what’s changed and see Yihui Xie’s post on R Markdown v2 for more on what’s new there.

We’ll be posting additional articles over the next few days that describe the new features in more depth. In the meantime we hope you download the new version and as always let us know how it’s working and what else you’d like to see.

reshape2 1.4 is now available on CRAN. This version adds a number of useful arguments and messages, but mostly importantly it gains a C++ implementation of melt.data.frame(). This new method should be much much faster (>10x) and does a better job of preserving existing attributes. For full details, see the release notes on github.

The C++ implementation of melt was contributed by Kevin Ushey, who we’re very pleased to announce has joined RStudio. You may be familiar with Kevin from his contributions to Rcpp, or his CRAN packages Kmisc and timeit.

We are happy to announce the availability of v1.1 of RStudio Shiny Server Pro, our commercial server for deploying Shiny applications.  In this release we took your feedback and made it easier for you to integrate Shiny Server Pro into your production environments.  With Shiny Server Pro v1.1 you now can:

  • Control access to your applications with Google Authentication (OAuth2).
  • Create sessions and authenticate with PAM (auth_pam and pam_sessions_profile).
  • Set the version of R that is used per application and/or per user
  • Customize page templates for directory listings and error pages.
  • Monitor service health and get additional metrics with a new health check endpoint.
  • Provide custom environment variables to a Shiny process using Bash profiles
  • Configure apps to run using the authenticated user’s account with custom environment variables from Bash or PAM
  • Launch Shiny apps with a prefix command such as ‘nice’ allowing you to prioritize compute resources per application or  per user

If you haven’t tried Shiny Server Pro yet, download a copy here.

 

We’re very pleased to announce Shiny 0.8.0 (which actually went up on CRAN about two weeks ago). This release features a vastly better way to display tabular data, and new debugging tools that make it much easier to fix errors in your app.

DataTables support

datatables

We now support much more attractive and powerful displays of tabular data using the popular DataTables library. Our DataTables integration features pagination, searching/filtering, sorting, and more. Check out this demo to see it in action, and learn more about how to use it in your own apps by visiting the tutorial’s chapter on DataTables.

Debugging tools

In version 0.8.0 of the Shiny package, we’ve greatly improved the set of debugging tools you can use with your Shiny apps. It’s now much easier to figure out what’s happening when things go wrong, thanks to two new features:

  • Integration with the new visual debugger that’s available with RStudio v0.98. You can set breakpoints and step through your code much more easily than before.
  • A new option ‘shiny.error’ which can take a function as an error handler. It is called when an error occurs in a reactive observer (e.g. when running an output rendering function). You can use options(shiny.error=traceback) to simply print a traceback, options(shiny.error=recover) for debugging from a regular R console, or options(shiny.error=browser) to jump into the RStudio visual debugger.

There have also been a few smaller tweaks and bug fixes. For the full list, you can take a look at our NEWS file.

Welcome, Yihui Xie!

If you’re reading this, there’s a good chance you have heard of Yihui Xie or have used his software; during his time as a PhD student at Iowa State University, he created the knitr, cranvas, and animation packages, among others.

We’re thrilled to announce that Yihui has joined the RStudio team! He will be one of the primary maintainers of the Shiny package and has already contributed some great improvements in the short time he has been with us.

RStudio maintains its own CRAN mirror, http://cran.rstudio.com. The server itself is a virtual machine run by Amazon’s EC2 service, and it syncs with the main CRAN mirror in Austria once per day. When you contact http://cran.rstudio.com, however, you’re probably not talking to our CRAN mirror directly. That’s because we use Amazon CloudFront, a content delivery network, which automatically distributes the content to locations all over the world. When you try to download a package from the Rstudio cloud mirror, it’ll be retrieved from a local CloudFront cache instead of the CRAN mirror itself. That means that, no matter where you are in the world, the data doesn’t need to travel very far, and so is fast to download.

To back this up with some data, we asked some friends to time downloads from all the CRAN mirrors. The RStudio mirror was not always the fastest (especially if you have a mirror nearby), but it was consistently fast around the world. (If you think you could improve on our testing methodology, the scripts and raw data are available at https://gist.github.com/hadley/5420147 – let us know what you come up with!)

You can use our mirror, even if you don’t use RStudio. (If you haven’t deliberately chosen a CRAN mirror in RStudio, we’ll use ours by default). It’s the first one in the list of mirrors (“0-Cloud”), or if you don’t want to select it every time you install a package, you can it as the default in your .Rprofile:

options(repos = c(CRAN = "http://cran.rstudio.com"))

Of course, speed isn’t the only factor you want to consider when choosing a mirror. Another important factor is reliability: is the mirror always available, and how often is it updated? CRAN provides the useful mirror monitoring report. Running a mirror is easy (it’s just a simple script run every few hours), so it’s a warning flag if a mirror has any non-green squares. We care about the availability of our mirror, and if it ever does go down, we’ll endeavour to fix it as quickly as possible.

Finally, because every download from a CRAN mirror is logged, CRAN mirrors provide a rich source of data about R and package usage. To date, it’s been hard to get access to this data. We wanted to change that, so you can now download our anonymised log data from cran-logs.rstudio.com. We’ve tried to strike a balance between utility and privacy. We’ve parsed the raw log data into fields that mean something to R users (like r version, architecture and os). The IP address is potentially revealing, so we’ve replaced it with a combination of country and a unique id within each day. This should make it possible to explore download patterns without undermining the privacy of the mirror users.

        date     time    size r_version r_arch        r_os           date     time    size r_version r_arch        r_os
1 2013-01-01 00:18:22  551371    2.15.2 x86_64 darwin9.8.0
2 2013-01-01 00:43:47  220277    2.15.2 x86_64     mingw32
3 2013-01-01 00:43:51 3505851    2.15.2 x86_64     mingw32
4 2013-01-01 00:43:53  761107    2.15.2 x86_64     mingw32
5 2013-01-01 00:31:15  187381    2.15.2   i686   linux-gnu
6 2013-01-01 00:59:46 2388932    2.15.2 x86_64     mingw32
    package version country ip_id
1     knitr     0.9      RU     1
2 R.devices   2.1.3      US     2
3     PSCBS  0.30.0      US     2
4      R.oo  1.11.4      US     2
5     akima   0.5-8      US     3
6 spacetime   1.0-3      VN     4

Altogether, there’s currently around 150 megs of gzipped log files, representing over 7,000,000 package downloads. We’re looking forward to seeing what the R community does with this data, and we’ll highlight particularly interesting analyses in a future blog post. If you have any problems using the data, or you’d like to highlight a particularly interesting result, please feel free to email me.

Using the web logs collected when users download RStudio, we’ve prepared the following two maps showing where RStudio is being used, over the whole globe and just within the continental USA. Obviously this data is somewhat biased, as it reflects the number of downloads of RStudio, rather than the number of users of R (which we’d really love to know!). However, based on a month’s worth of data, we think the broad patterns are pretty interesting.


We made the maps by translating IP addresses to latitude and longitude with the free GeoIP databases provided by MaxMind. To make it easier to see the main patterns for each map, we used k-means clustering to group the original locations into 300 clusters for the world and 100 clusters for the US,  then used ggplot2 to display the number of users in each cluster with the area of each bubble.

RStudio’s mission from the beginning has been to create powerful tools that support the practices and techniques required for creating trustworthy, high quality analysis. For many years Hadley Wickham has been teaching and working on his own set of tools for R with many of the same core goals. We’ve been collaborating quite a bit with Hadley over the past couple of years and today we’re excited to announce that Hadley, Winston Chang, and Garrett Grolemund are joining RStudio so we can continue to work together much more closely.

You probably know Hadley from his work on ggplot2, plyr, and many other packages. Garrett was a PhD student of Hadley’s at Rice, and you might also know him from the lubridate package, which makes dealing with dates and time easier; he’s also been working on new tools for visualisation and new ways of thinking about the process of data analysis. Winston has been working full-time on ggplot2 for the last couple of months, squashing many bugs and repaying a lot of the technical debt that’s accumulated over the years. Winston’s also writing an R Graphics Cookbook for O’Reilly that should be available in the near future.

What does this mean for RStudio? We’ll of course continue developing open-source software like the RStudio IDE, ggplot2, and plyr (among many other projects). One of Hadley’s core focuses at RStudio will also be expanding our mission to include education, which we plan to offer in a variety of formats ranging from in-person training to some innovative new online courses. We’ll also be working on hosted services (like RPubs) as well as some new products that address the challenges of deploying R within larger organizations.

We’re all excited to begin this next phase of work together and will have lots more details to announce later this fall!

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 607 other followers

RStudio is an affiliated project of the Foundation for Open Access Statistics

Follow

Get every new post delivered to your Inbox.

Join 607 other followers