78

在尝试修改主题设置时,这个简单的代码会出现以下错误:

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对于使用“单位”的任何元素,都会给我这个错误。任何其他不称为“单位”的设置都可以正常工作。我正在运行 R v.2.15.2(64 位 Windows)。

我在网上广泛搜索了这个问题,但一无所获。我很感激对这个问题的任何建议。

4

1 回答 1

73

这与ggplot2 不再支持的 arrow()密切相关,但并不完全相同,它表示:

[the] grid[package] 由以前的版本自动加载ggplot[2](使 grid功能对用户可见/可访问);现在它通过导入来引用,因此如果您想使用函数(或 [to] 查看它们的帮助页面),则NAMESPACE需要显式加载。gridgrid

这里的“显式加载”是指library("grid")require("grid")grid是一个基础包,所以不需要单独安装)。

unit()grid包中的一个函数,所以上面的答案(大约arrow())适用。

或者,您可以指定grid::unit(...)grid::arrow(...)不明确加载整个包。

于 2013-02-14T23:07:24.037 回答