如何避免新R开发版本(R正在开发(不稳定)(2017-02-15 r72179))出现在R CMD check中的以下注释?

• checking for unstated dependencies in examples ... OK
• checking line endings in C/C++/Fortran sources/headers ... OK
• checking compiled code ... NOTE
File ‘pkgname/libs/pkgname.so’:
  Found no calls to: ‘R_registerRoutines’, ‘R_useDynamicSymbols’

It is good practice to register native routines and to disable symbol
search.

例如Hmisc

推荐答案

这个信息有点神秘.我环顾了一下其他软件包,发现名称空间文件中的useDynLib(packagename)useDynLib(packagename, .registration = TRUE)取代.

此外,我在src/目录中添加了一个名为registerDynamicSymbol.c文件,其代码如下:

// RegisteringDynamic Symbols

#include <R.h>
#include <Rinternals.h>
#include <R_ext/Rdynload.h>

void R_init_markovchain(DllInfo* info) {
  R_registerRoutines(info, NULL, NULL, NULL, NULL);
  R_useDynamicSymbols(info, TRUE);
}

我采纳了GitHub Rcpp人的建议.规范参考是在Writing R Extensions

还有R Devel Mailinglist人提供了补充信息.

UPDATE

最直接的方法是:

  1. 使用当前的R开发版本(最终将成为3.4版)
  2. 运行tools::package_native_routine_registration_skeleton("."),将完整输出复制并粘贴到packagename_init.c文件中,放入src/
  3. 更新NAMESPACE,验证useDynLib(packagename, .registration = TRUE)
  4. 如有必要,将exportPattern更换为export( list of object to be exported )

UPDATE 18th July

正如@SymbolX使用R和RStudio最新版本的开发工具所指出的,第2点.(init.c文件)由devtools(使用RStudio校验位)或tools包处理.

R相关问答推荐

terra nearest()仅为所有`to_id`列返回NA

使用R中相同值创建分组观测指标

在发布到PowerBI Service时,是否可以使用R脚本作为PowerBI的数据源?

使用strsplit()将向量操作为数据框

将包含卷的底部25%的组拆分为2行

R函数‘paste`正在颠倒其参数的顺序

计算满足R中条件的连续列

识别连接的子网(R-igraph)

条形图顶部与其错误条形图不对齐

在散点图中使用geom_point放置线图例

如何在使用因子时获得Sankey图的Scale_Fill_Viridis的全范围

如何移动点以使它们的打印不重叠

在使用SliderInput In Shiny(R)设置输入数据的子集时,保留一些情节痕迹

如何使用grepl()在数据帧列表中 Select 特定字符串?

对计算变量所有唯一值的变量进行变异

真实世界坐标的逆st_变换

R中的交叉表

如何使用str_Detect计算并返回列表中检测到的字符串?

使用单独的数据框将框图添加到基数R中的折线图

从字符数据列中删除符号