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.
This error usually occurs when a package has not been loaded into R via library . R does not know where to find the specified function. It's a good habit to use the library functions on all of the packages you will be using in the top R chunk in your R Markdown file, which is usually given the chunk name setup .
3 if you see Error in ggplot(...) : could not find function "ggplot" , it means that the ggplot() function is not accessible because the package that contains the function ( ggplot2 ) was not loaded with library(ggplot2) . Thus you cannot use the ggplot() function without the ggplot2 package being loaded first.
This is closely related to, although not exactly identical to, arrow() in ggplot2 no longer supported , which says:
[the]
grid
[package] was loaded automatically by previous versions ofggplot[2]
(makinggrid
functions visible/accessible to the user); now it's referred to viaNAMESPACE
imports instead, so you need to explicitly loadgrid
if you want to usegrid
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With