错误:找不到功能“单位”


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

我在网上广泛搜索了此问题,却一无所获。感谢您对问题的任何建议。


27
require(grid)
格里戈尔·托马斯

4
ggplot2现在导入网格,而不是加载网格
baptiste

1
晶格也会发生同样的事情。有人应该纠正一个答案,以便对其进行检查。它应该被“记录在案”。
IRTFM

同样,“方法”也发生了同样的事情:stackoverflow.com/questions/30266732/… 是不是当前版本的ggplot(我使用1.0.1版本)正在导入一些软件包而不是加载它们?我相信应该有一个了解gglot内部知识的人做出全面的答复。
Costas Bouyioukos 2015年

Answers:


73

这与ggplot2中不再支持的arrow()紧密相关,尽管并不完全相同,它表示:

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

这里的“显式加载”是指library("grid")require("grid")grid是基本软件包,因此不需要单独安装)。

unit()grid包中的函数,因此arrow()适用上面的答案(约为)。

另外,您可以指定grid::unit(...)grid::arrow(...)不显式加载整个程序包。


绝对紧密相关,“方法”也发生在我身上。请看:stackoverflow.com/questions/30266732/...
科斯塔斯Bouyioukos
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.