Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Updating ggplot2 code for new version

Tags:

r

ggplot2

Since installing the latest version of ggplot2 (0.9.1), I have been getting messages from my old code including:

> warnings()
Warning messages:
1: 'opts' is deprecated.
Use 'theme' instead.
See help("Deprecated")
2: 'theme_text' is deprecated.
Use 'element_text' instead.
See help("Deprecated")
8: In opts(title = trait axis.text.x = theme_text(size = fontsize$axis),  ... :
  Setting the plot title with opts(title="...") is deprecated. Use labs(title="...") or ggtitle("...") instead.
9: 'opts' is deprecated.

I have a few questions:

  1. help("Depreciated") returns "no documentation for 'Depreciated' in specified packages and libraries"; is this an error?
  2. Is there some time at which 'Depreciated' will turn to 'Obsolete' and my code will begin to throw errors?
  3. How can I update my code (to solve these specific issues and prevent others still waiting to be found)?
  4. Can I load two versions of ggplot2 and specify which version of each function I am using?
  5. On what timescale might updated syntax become obsolete?

I accept that this is a common issue with software, but perhaps some contributors to SO have specific insight into the longer term plans and rationale of the package's author.

like image 669
Abe Avatar asked Oct 30 '12 21:10

Abe


People also ask

What version of R does ggplot2 use?

Recent versions of R (version 3.2 or newer) and RStudio (version 0.99 or above) are required.

How do I know what version of ggplot2 I have?

Check your current version of R and ggplot2 2 and the current version of ggplot is ggplot2_0. 9.3 (found under 'other attached packages'). If both R and ggplot2 are old, first install the current version of R and then update your packages.

Is ggplot2 different from ggplot?

You may notice that we sometimes reference 'ggplot2' and sometimes 'ggplot'. To clarify, 'ggplot2' is the name of the most recent version of the package. However, any time we call the function itself, it's just called 'ggplot'.

How can I install ggplot2 in R?

Installing ggplot2 The ggplot2 package can be easily installed using the R function install. packages() . The above code will automatically download the ggplot2 package, from the CRAN (Comprehensive R Archive Network) repository, and install it.


2 Answers

From Winston's github wiki, the key changes are:

  1. theme_xx() functions changed to element_xx()

    theme_segment() incorporated into theme_line()

  2. opts() changed to theme()

  3. opts(title = "mytitle") changed to labs(title = "mytitle")

  4. New features that make programming easier, e.g. ggtitle("mytitle") does the same as #3

Here is a diff of some functions that I updated:

like image 130
David LeBauer Avatar answered Nov 05 '22 15:11

David LeBauer


For many of these things, I'd start following the ggplot2-dev mailing list, and/or the packages github repository.

The reason you were not finding anything was simply because you had misspelled "deprecated".

For upgrading your code, see this transition guide or this one. My understanding is that deprecation is the first step in total removal, which would typically happen in the next "major" release. Since 0.9.2 just came out, I'd guess the next one is at least 6-8 months away, but that's just a guess.

It is possible to load different versions of a package.

(Minor point: the latest version is 0.9.2.1!)

like image 28
joran Avatar answered Nov 05 '22 14:11

joran