相关疑难解决方法(0)

使用roxygen2构建R包时出错

我有2个文件,Rfile.R和Cppfile.cpp.

Cppfile.cpp中的内容:

#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int CPPF(int k){return ++k;}
Run Code Online (Sandbox Code Playgroud)

Rfile.R中的内容:

RF<-function(k){return(CPPF(k))}
Run Code Online (Sandbox Code Playgroud)

我想基于2个文件构建一个R包.我使用最新版本的Rstudio和Roxygen2.

我尝试了3种方法来构建包含或不包含Roxygen2的包,并且有不同的结果:

  1. New Project-> New Directory-> R package-> Type:Package w/Rcpp,将Rfile.R和Cppfile.cpp都添加为源文件.构建和重新加载,一切正常.这些功能可以正常工作.

  2. New Project-> New Directory-> R package-> Type:Package w/Rcpp,将Rfile.R和Cppfile.cpp都添加为源文件.选择"使用Roxygen生成文档",检查其所有选项.构建和重新加载,功能不起作用.输入"RF"给出RF的内容,输入"CPPF"弹出"未找到对象".

  3. New Project-> New Directory-> R package-> Type:Package w/Rcpp,只添加Cppfile.cpp作为源文件.选择"使用Roxygen生成文档",检查其所有选项.Build&Reload,功能正常.然后将Rfile.R直接复制到项目文件夹 - > R文件夹中.Build&Reload,一切都很好,功能很好.

我使用Roxygen错了还是Roxygen有虫子?我需要它来记录.我可以坚持第三种方式,这需要花费很多精力才能找到,但有线.

谢谢!

解决问题的一种方法:选择"使用Roxygen生成文档"时,请勿选中"NAMESPACE文件"选项.

r rcpp roxygen2

9
推荐指数
1
解决办法
1911
查看次数

标签 统计

r ×1

rcpp ×1

roxygen2 ×1