使用devtools和函数“创建R包”;使用“rcpp”;指示我将代码行复制到一个不存在的文件中

使用devtools和函数“创建R包”;使用“rcpp”;指示我将代码行复制到一个不存在的文件中,r,package,rstudio,devtools,R,Package,Rstudio,Devtools,我正试图创建一个小的testr包,只是为了掌握工作流程。我一直在遵循这里的教程:一切都很顺利,但最终我想将rcpp代码添加到我的包中,这就是我遇到问题的地方。在DeVoToCube包中的函数UsHyrCPP应该设置您的包,并添加您需要添加的所有内容来开始添加C++文件。但是,一旦命令运行完毕,它会告诉您将注释复制并粘贴到一个不存在的文件中。我下面的教程在这里也讲了同样的内容,只是说要将roxygen标签添加到您的包中。它没有指定我需要添加它们的位置 我得到的输出与教程中的不同,但我认为这只是因为

我正试图创建一个小的testr包,只是为了掌握工作流程。我一直在遵循这里的教程:一切都很顺利,但最终我想将rcpp代码添加到我的包中,这就是我遇到问题的地方。在DeVoToCube包中的函数UsHyrCPP应该设置您的包,并添加您需要添加的所有内容来开始添加C++文件。但是,一旦命令运行完毕,它会告诉您将注释复制并粘贴到一个不存在的文件中。我下面的教程在这里也讲了同样的内容,只是说要将roxygen标签添加到您的包中。它没有指定我需要添加它们的位置

我得到的输出与教程中的不同,但我认为这只是因为我运行的是不同的版本

函数给出的输出:

✔ 将活动项目设置为 “R/packages/rcppTester”

✔ 正在创建'src/'

✔ 正在将“.o'、”.so'、“*.dll”添加到“src/.gitignore”

● 将以下行复制并粘贴到 'R/packages/rcppTester/R/rcppTester package.R':

##使用这个名称空间:start

#@useDynLib rcppTester,.registration=TRUE

##使用此命名空间:end

空的

[复制到剪贴板]

✔ 将“Rcpp”添加到说明中的LinkingTo字段

✔ 将“Rcpp”添加到说明中的导入字段

● 将以下行复制并粘贴到 'R/packages/rcppTester/R/rcppTester package.R':

##使用这个名称空间:start

#“@importFrom Rcpp sourceCpp”

##使用此命名空间:end

空的

[复制到剪贴板]


同样,我没有名为“rcppTester package.R”的文件,当我尝试使用cpp文件时,我的包抛出错误。如果您有任何建议,我们将不胜感激。

您不必使用
devtools
或者
如果它们让您感到困惑,您也可以使用此
——它们确实添加了一层困惑,有时会阻碍正在发生的事情

Rcpp本身有一个函数
Rcpp.package.skeleton()
,RStudio IDE在“文件->新项目->带有Rcpp的包”下有一些相关(但独立)的内容。我两者都用。你可以从其中一个开始,得到一个编译的包。两者都会这样做

将其作为快照,然后添加roxygen2文档。如果你手工操作,你需要运行<代码>编译属性()/Cux>,以从C++文件中获取RoxGy标记到R文件,其中代码> RoxGunZeIe()/Cuth>将看到它。RStudio会自动为您完成这两项工作

因此,总而言之:如果“使用Rcpp和roxygen的联合包装”给您带来问题,请尝试将“使用Rcpp的包装”和“使用roxygen的包装”分开