我在系统级安装了一个库(在本例中为ggplot2)。我想将ggplot2及其所有依赖项安装到R_LIBS_USER变量中指定的新目录。当我运行install.packages('ggplot2', dependencies=TRUE)
时,它似乎制作了ggplot2目录的副本,但没有其他任何依赖项。有没有办法确保ggplot2所依赖的其他软件包进入我在R_LIBS_USER中指定的目录?
答案 0 :(得分:0)
也许这就是......假设您的$ R_LIBS_USER环境变量已被某个位置以某种方式放到搜索路径中的第二个位置。 (查看.libPaths()
)
install.packages('ggplot2', lib= .libPaths[2], dependencies=TRUE)
或者:
install.packages('ggplot2', lib= Sys.getenv(("R_LIBS_USER"), dependencies=TRUE)
评论表明问题是导入的软件包已经在R正在搜索的库中......所以不会不必要地安装。 DESCRIPTION
文件的Depends条目中没有包,但Imports
部分中有一些包。要从已安装的软件包中读取依赖项:
packageDescription("ggplot2", fields = c("Depends","Imports") )
#-----------
Depends: R (>= 3.1)
Imports: digest, grid, gtable (>= 0.1.1), MASS, plyr (>=
1.7.1), reshape2, scales (>= 0.3.0), stats
-- File: /Library/Frameworks/R.framework/Versions/3.3/Resources/library/ggplot2/Meta/package.rds
-- Fields read: Depends, Imports
> str( packageDescription("ggplot2", fields = c("Depends","Imports") ) )
List of 2
$ Depends: chr "R (>= 3.1)"
$ Imports: chr "digest, grid, gtable (>= 0.1.1), MASS, plyr (>= 1.7.1),\nreshape2, scales (>= 0.3.0), stats"
- attr(*, "class")= chr "packageDescription"
- attr(*, "fields")= chr [1:2] "Depends" "Imports"
- attr(*, "file")= chr "/Library/Frameworks/R.framework/Versions/3.3/Resources/library/ggplot2/Meta/package.rds"
downvote暗示某人不喜欢指出这些事实,但......事实就是事实。