Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
递归R包安装失败_R_R Package - Fatal编程技术网

递归R包安装失败

递归R包安装失败,r,r-package,R,R Package,我正在调试安装自己的软件包无法安装导入的软件包的原因 选择合适的根目录。在该目录中启动R会话 在库(devtools)之后,运行devtools::create(“mypackage”) 将以下行保存在文件mypackage/R/f.R中 @#' export f <- function() { fruits <- data.frame("fruit"=c("orange", "kiwi"), "color"=c("ora

我正在调试安装自己的软件包无法安装导入的
软件包的原因

  • 选择合适的根目录。在该目录中启动R会话
  • 库(devtools)
    之后,运行
    devtools::create(“mypackage”)
将以下行保存在文件
mypackage/R/f.R

@#' export
f <- function() {
    fruits <- data.frame("fruit"=c("orange", "kiwi"),
                         "color"=c("orange", "green"),
                         "shape"=c("spheroid", "ellipsoid"))
    library(dplyr)
    colors <- select(fruits, fruit, color)
    colors
}
为什么?

N.B.:我使用的是<代码> RoXyGy2和一个正确的<代码>命名空间< /代码>文件,但由于这是我自己的包,我必须提交给CRANN,所以我认为这些细节不相关。(是吗?)

更新

如果写作

Imports: dplyr
mypackage/DESCRIPTION
中的任何位置都有必要且足以触发递归安装
dplyr
每当安装
mypackage
时,添加该功能的意义或用例是什么

.onLoad <- function(libname, pkgname) {
    install.packages("dplyr")
}
?


如果没有指定每个包所需的版本,如何保证包安装成功?换句话说,R对Python虚拟环境的等效解决方案是什么?

使用
devtools::install(“mypackage”)
,这对我很有效。

您是否尝试退出所有R会话并在安装前重新启动?@F.PrivéI有。而且还删除了.Rdata,这是一个很好的衡量标准。重点是向一组内部用户发布一个包。他们不需要使用
devtools
,任何需要的软件包都应该为他们无缝安装。不确定您的要求是否可行。只需给他们一个脚本,安装所有依赖项并从源代码安装包。
.onLoad <- function(libname, pkgname) {
    install.packages("dplyr")
}
Imports: dplyr (>= 0.7)