我对一个软件包进行了修订,在其中添加了一些绘图代码,这些代码使用了 ggplot2 软件包以及软件包 scales 中的自定义比例。特别是,新代码的一行引用了 scales 包,格式为:
size(4,180)
我将软件包发送到Winbuilder进行检查,但出现此错误:
femalesucide=np.array([femalesuiciderate2000,femalesuiciderate2005,femalesuiciderate2010,femalesuiciderate2015])
HDIar=np.array([HDIRank2000,HDIRank2005,HDIRank2010,HDIRank2015])
model4=sm.OLS(femalesucide,HDIar).fit()
prediction=model4.predict(HDIar)
print_model4=model4.summary()
print(print_model4)
...,如果我运行trans = scales::trans_new("new scale", ...)
是的,规模已安装在我的系统上。
是的,比例包含在我的Error in loadNamespace(name) : there is no package called 'scales'
文件的R CMD check --as-cran
中;一世
对此进行了两次和三次检查。
是的, scales 似乎仍然是CRAN上可用的软件包,具有很多反向依赖性。
我的代码中还对Suggests
例程进行了数十次调用,并且 ggplot2 也位于DESCRIPTION
中。那里没有错误。
我可能做错了什么?
答案 0 :(得分:0)
我发现了这一点;这有点微妙(至少对于像我这样的人而言)。
在我的包中从Suggests
的包中调用函数的其他地方,我也有一行代码,如下所示:
if (!requireNamespace("ggplot2", quietly = TRUE))
stop ("The 'ggplot2' package is not installed installed.", call. = FALSE)
... code that calls ggplot2:: functions
这里的问题是(a)我没有scales
的支票;但更重要的是,(b)上面的分配trans = scales::...
在我程序包的名称空间中。
所以我所做的是将trans
的赋值移动到使用它的函数的内部,并在其之前进行了一个requireNamespace()
测试,类似于上面的测试。现在,我的包裹检查至少在--as-cran
检查中通过了这一点。