我正在开发一个基于postgreSQL数据库的R包.因此,有些.sql文件包含相应数据库的推荐表结构.
如果我想构建一个包(用于CRAN),我想知道在哪里放这些文件?
我有一个使用Rcpp和Roxygen2的包.我想让R CMD构建运行一个小的预构建脚本运行compileAttributes(),并roxygenise()在它开始构建过程之前运行.是否有钩子或机制来做到这一点?
我已阅读R CRAN中的NOTE检查:没有存储库集,因此跳过循环依赖性检查,并且据我所知,遵循建议.具体来说,我有一个.Rprofile文件~/ 在线options(repos = c(CRAN=\"http://cran.r-project.org\").我在页面底部运行了bash脚本,但仍然有两个注释,而不是我期望的新提交注释.
bash-3.2$ ${R} CMD check --as-cran ${name}
* using log directory ‘/private/tmp/deptest.Rcheck’
* using R version 3.1.2 (2014-10-31)
* using platform: x86_64-apple-darwin13.4.0 (64-bit)
* using session charset: UTF-8
* checking for file ‘deptest/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘deptest’ version ‘1.0’
* checking CRAN incoming feasibility ... NOTE
Maintainer: ‘John Doe <jdoe@doe.net>’
New submission
* checking package namespace information ... OK
* …Run Code Online (Sandbox Code Playgroud) 我目前正在将一篇JSS文章转换knitr为一个R 包小插图.但是,我对插图的位置,结构和我应该如何处理所需的非常长的计算时间有疑问,这在普通笔记本电脑上需要大约2天.
在官方文件提供几乎对此没有任何信息.邮件列表中的答案中的简短注释是我在搜索时找到的唯一信息.Brian Ripley在这里写道:
特别是,CRAN确实接受带有Sweave小插图的包裹,这些小插曲需要很长时间才能检查 - 一个需要大约8个小时[...].我们只是要求在提交时告知我们.
哈德利威克姆对小插曲的描述说eval = FALSE是一个大块的选择.但是,在我的情况下,这不是一种可行的方法,因为需要从计算中生成数据.
此演示文稿表明,/inst/doc将用于预编译和重型小插曲.但是,这与使用/vignettes包装晕影的新指南(或什么?)不太一致.
目前,我已经放置了我的源文件,/vignettes并且我创建了一个.RData文件,其中包含计算量最大的对象(并且也非常大).然后脚本检查对象是否可通过该.RData文件获得,如果没有,则创建对象.因此,从头开始完全编译和运行,.RData可以简单地删除该文件.
有没有人对这个问题有一些经验或指示?小插图应该在/vignettes或/inst/doc?如果是前者是首选,我在哪里放置所需的文件,如.bib,.RData等?我必须承认我发现/vignettesvs /inst/doc有些令人困惑.
我从R-3.1升级到R-3.2.好的(标准升级)
但是这次升级似乎已经丢失了所有已安装的软件包(ggplot2,quantmod,Rcpp在几十个和其他几个中).
所以从RStudio工具菜单选项安装了很多.大多数都是成功的 但是Rcpp的问题(当从ggplot2安装为依赖时).安装包时会出现同样的问题data.table:
Warning in install.packages : unable to move temporary installation
‘C:\Users\euclid\Documents\R\win-library\3.2\file40fc19bc2752\colorspace’
to ‘C:\Users\euclid\Documents\R\win-library\3.2\colorspace’ package
‘Rcpp’ successfully unpacked and MD5 sums checked Warning in
install.packages : unable to move temporary installation
‘C:\Users\euclid\Documents\R\win-library\3.2\file40fc53e26272\Rcpp’ to
‘C:\Users\euclid\Documents\R\win-library\3.2\Rcpp’
Run Code Online (Sandbox Code Playgroud)
注意:单独安装软件包Rcpp时会发生相同的错误.
任何建议赞赏.
将R从3.1.3升级到3.2.1后,我无法从CRAN安装软件包.错误消息是无法加载共享对象internet.so.
install.packages("randomForest")
Installing package into ‘/gs/project/feb-684-aa/BIF/R/R-3.2.1/library’ (as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
Error in url("http://cran.r-project.org/CRAN_mirrors.csv") :
internet routines cannot be loaded
In addition: Warning message:
In url("http://cran.r-project.org/CRAN_mirrors.csv") :
unable to load shared object '/software/areas/ircm/tools/R-3.2.1/lib64/R/modules//internet.so':
/software/areas/ircm/tools/R-3.2.1/lib64/R/modules//internet.so: undefined symbol: curl_multi_wait
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-unknown-linux-gnu (64-bit)
Running under: CentOS release 6.5 (Final)
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8
[5] LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] …Run Code Online (Sandbox Code Playgroud) 我正在尝试更新CRAN上的软件包,但是我收到了一条关于他无法重现的自动检查的警告R CMD check.这些是日志文件的最后几行:
* checking re-building of vignette outputs ... [0s] WARNING
Error(s) in re-building vignettes:
Error: '\R' is an unrecognized escape in character string starting "'D:\temp\R"
Execution halted
Run Code Online (Sandbox Code Playgroud)
R CMD check对于Linux和Windows版本,我的计算机没有错误传递,我无法找到"'D:\temp\R"正在使用的位置.根目录中没有写入文件路径的文件路径.
我怎样才能弄清楚错误究竟发生在哪里并修复它?
我知道反斜杠是如何在Windows中引起麻烦的,大多数类似的问题与此有关,而我的问题在于找出CRAN为什么这样做,即使我根本没有使用文件路径.
问题:Repository:打包DESCRIPTION文件中字段的目的和来源是什么?
在官方文件中的DESCRIPTION文件中似乎没有提到它,在Hadley的书中也没有提到它。它似乎是在CRAN上传期间自动填充的-例如,它不在dplyr原始的description源中,但在CRAN的tarball Description中存在:
...
Maintainer: Hadley Wickham <hadley@rstudio.com>
Repository: CRAN
Date/Publication: 2019-05-14 12:20:03 UTC
Run Code Online (Sandbox Code Playgroud)
背景:我问,因为packrat似乎是使用此字段的存在/不存在来确定是否可以在某个位置的存储库中找到软件包-如果找不到,则需要您手动下载。对于在类似CRAN的本地存储库中托管的本地开发的软件包,这是一个问题。
我们可以开始将Repository:字段添加到我们的本地包中,但这对于所有以前的版本来说都是很痛苦的事情,它会弄乱他们的tarball校验和,等等。在不了解其用途的情况下,我不想这样做。
我想建立一个本地CRAN存储库.我想在这个存储库中只放一个包(让我们称之为MyPackage).我这样做的原因是我想与我公司的人分享这个包.顺便说一下 - 我们都使用Ubuntu Linux.我已经这样做了:
但是,当我这样做时:
install.packages("MyPackage", repos = "127.0.0.1/R" )
Run Code Online (Sandbox Code Playgroud)
这是行不通的 ;
Warning: unable to access index for repository [ ]
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
package ‘MyPackage’ is not available (for R version 2.13.1)
Run Code Online (Sandbox Code Playgroud)
你们可以指导我一下,告诉我什么是正确的文件夹结构?谢谢.
我计划向 CRAN 提交我的第一个包裹。我听说你不应该有任何错误、警告或注释。但是,我收到注释指出存在太多包依赖项:
“导入包括 24 个非默认包。从如此多的包导入会使该包容易受到其中任何一个包变得不可用的影响。将尽可能多的包移至建议并有条件地使用。”
测试中的警告
我已经为该包创建了测试用例;然而,为了保持大小限制,我需要使用比平时更少的箱子;这会在运行测试时产生不同的警告。提交 CRAN 时出现这些与测试相关的警告是否可以?
提前致谢!约翰
cran ×10
r ×10
package ×5
installation ×1
knitr ×1
metadata ×1
packages ×1
packrat ×1
rcpp ×1
repository ×1