Error: could not find function "unit"
RGgplot2R Problem Overview
While trying to modify theme settings this simple code gives the following error:
library(ggplot2)
theme_nogrid <- theme_set(theme_update(
plot.margin=unit(c(.25, .25, .25, .25), "in"),))
Error in do.call(theme, list(...)) : could not find function "unit"
R
gives me this error for any element that uses 'unit'. Any other settings that do not call 'unit' work fine. I am running R v.2.15.2 (64-bit Windows).
I extensively searched online about this problem and found nothing. I appreciate any suggestions to the problem.
R Solutions
Solution 1 - R
This is closely related to, although not exactly identical to, https://stackoverflow.com/questions/14677035/arrow-in-ggplot2-no-longer-supported , which says:
> [the] grid
[package] was loaded automatically by previous versions of ggplot[2]
(making
> grid
functions visible/accessible to the user); now it's referred to
> via NAMESPACE
imports instead, so you need to explicitly load grid
if
> you want to use grid
functions (or [to] look at their help pages).
"explicitly load" here means library("grid")
or require("grid")
(grid
is a base package, so doesn't need to be installed separately).
unit()
is a function from the grid
package, so the answer above (which was about arrow()
) applies.
Alternatively you can specify grid::unit(...)
or grid::arrow(...)
without explicitly loading the entire package.