我的广告资源广泛使用ggplot2
来制作自定义图。我在ggplot2
文件中导入NAMESPACE
。我可以无误地构建,安装和加载包到R中。但是当我从我的包中调用一个函数时,它抱怨它无法在该导入的包中找到一个函数。我调用的函数绝对与绘图无关,也没有使用ggplot2
中的任何内容。如何在没有这些类型的错误的情况下从我的包中进行函数调用?
theme_beata()中的错误(来自plot.R#14):找不到函数" theme_classic"
第一个函数错误是:
#' A custom ggplot2 theme for Beata
#' @import ggplot2
#' @family themes
#' inheritParams ggplot2::theme_classic
#' @export
theme_beata <- function(base_size = 14, base_family="serif", ticks = TRUE) {
ret <- theme_classic() +
theme(axis.line = element_line(size=0.6),
axis.text = element_text(size = base_size),
axis.title = element_text(size= base_size + 2),
title = element_text(size=base_size + 4))
if (!ticks) {
ret <- ret + theme(axis.ticks = element_blank())
}
ret
}
我正在使用devtools
和roxygen2
来记录我的包裹。我还发现在运行document()
时我现在收到此错误。
> document()
Updating pkg documentation
Loading pkg
Error in theme_beata() (from plot.R#11) : could not find function "theme_classic"
> traceback()
13: theme_beata()
12: as.vector(y)
11: setdiff(names(theme_gray()), names(new))
10: ggplot2::theme_set(theme_beata()) at plot.R#25
9: eval(expr, envir, enclos)
8: eval(exprs[i], envir)
7: source_one(file, envir = envir)
6: source_many(paths, env)
5: force(code)
4: in_dir(file.path(pkg$path, "R"), source_many(paths, env))
3: load_code(pkg)
2: load_all(pkg)
1: document()
从阅读哈德利关于包装的书中,我不认为DESCRIPTION
在出口方面很重要,但下面是底部:
Depends: R (>= 3.1.0)
License: file LICENSE
LazyData: false
Imports:
dplyr (>= 0.4.0),
tidyr (>= 0.1.0),
XLConnect,
pryr,
stringr,
devEMF,
assertthat,
grid,
ggplot2,
ggthemes,
GGally,
broom,
scales
Suggests:
lattice
我的NAMESPACE
具有以下导入:
import(XLConnect)
import(dplyr)
import(ggplot2)
import(ggthemes)
import(stringr)
import(tidyr)