小编com*_*cho的帖子

检查包是否已安装但未加载

建议包开发人员检查用户是否安装了包的典型方法如下:

if (!requireNamespace("package")) {
  stop("Please install package.")
}
Run Code Online (Sandbox Code Playgroud)

requireNamespace加载包(在当前范围内?)并返回 TRUE/FALSE 值。我需要在不加载命名空间的情况下检查包的安装状态。

这样做的原因是因为我正在编写一个knit_printS3 方法(扩展knitr包),并且我正在检查的命名空间在我的方法上下文之外有我想要避免的kableExtra副作用。knit_print

加载后,kableExtra会更改后续调用knitr::kable在全局级别的格式化方式。这样做有充分的理由,但我想在我的 S3 方法内部使用kableExtra,并且不要让最终用户对调用kable我的方法后行为不同的原因感到困惑。knit_print

这就是为什么我想在不加载命名空间的情况下检查命名空间(如果kableExtra未安装,只需调用knitr::normal_print)。

编辑:为了澄清为什么我不认为这是这个问题的重复,这些答案没有特别注意解决方案在安装时是否加载包。事实证明,有些解决方案没有加载有问题的包,但它们没有明显区分。

r r-package

6
推荐指数
1
解决办法
1177
查看次数

.Rmarkdown to .markdown:使用{{<figure>}}短代码代替<img> HTML

我一直在考虑将blogdown用于我现有的Hugo博客,我想我已将其缩小到一个缺点.我正在使用.Rmarkdown文件扩展名,因为我想使用Blackfriday降价处理器来利用Hugo功能.

其中包括我添加到我的主题中的自定义,它使用嵌入了内置短代码的任何图像使用PhotoSwipe使它们在点击时出现在灯箱中.我已经做到这一点,任何使用{{<figure>}}短代码的东西都可以做到这一点.

有没有可能通过blogdown或knitr(假设knitr是渲染Rmarkdown过程的一部分)来定制绘图的输出,以便它们包含在短代码而不是HTML标签中?我认为甚至可以用Go/Blackfriday来做这个,如果我至少可以在Markdown中格式化图表![](/path/to/img.jpg),如果这样会更容易.

r knitr r-markdown hugo blogdown

2
推荐指数
1
解决办法
191
查看次数

标签 统计

r ×2

blogdown ×1

hugo ×1

knitr ×1

r-markdown ×1

r-package ×1