我正在尝试通过R提示安装包,方法如下:
install.packages('RMySQL')
Run Code Online (Sandbox Code Playgroud)
但输出如下:
--- Please select a CRAN mirror for use in this session ---
Run Code Online (Sandbox Code Playgroud)
没有别的!我无法找到解决这个非常基本问题的方法.为了选择CRAN镜像,我应该输入什么?
编辑:
操作系统:Mac-OS X 10.6.8 R版本:2.15.0
如何在R中永久设置特定的CRAN镜像?
我想在我的笔记本电脑中永久设置它,这样当我这样做时install.packages(),它不会再问我哪个镜子可供选择.
我在R中开发了一个包,当我在本地计算机上检查并构建它时,它可以正常工作.但是当我在CRAN中尝试它时,我得到了一个包依赖性错误.我的包依赖于其他包的两个功能.
如果我列出了下其他软件包description使用Depends或者imports,它会自动与新包安装?或者我是否需要install.packages("packagename")在我使用其他包的函数下显式调用该函数.如果这一切都错了,R为了传递R CMD check和build测试并提交给CRAN ,解决包依赖的最佳方法是什么?
谢谢.
假设我需要在没有互联网连接的(Linux)机器上安装许多软件包.假设我下载了一份cr并将其刻录在我带到离线位置的DVD上:
wget ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz
Run Code Online (Sandbox Code Playgroud)
我甚至可以添加一个PACKAGES文件,其中包含所有源包及其依赖项的概述:
library(tools)
write_PACKAGES()
Run Code Online (Sandbox Code Playgroud)
我如何使用此脱机来安装源包,以便从本地文件中解析和安装依赖项?例如,有人想安装包ggplot2,它具有相当深的依赖结构.假设ggplot2的源包及其所有依赖项在当前工作目录中作为源包提供.如果我做:
install.packages("ggplot2_0.9.1.tar.gz", repos=NULL)
Run Code Online (Sandbox Code Playgroud)
这会导致错误,因为根本没有解决依赖关系.或者:
install.packages(list.files(pattern="*.tar.gz"), repos=NULL)
Run Code Online (Sandbox Code Playgroud)
但是,这也忽略了依赖结构,并尝试按字母顺序安装软件包,这也将失败.
我看着available.packages和contrib.url,但我不能找到一个本地文件安装一个源代码包,包括它的依赖的一个例子.
我已经构建了一个R包,即我有mypackage.tar.gz文件.此程序包依赖于其他几个程序包,所有程序包均可从任何CRAN镜像下载和安装.
现在我想在尚未安装依赖项的系统上安装此软件包,并且我希望在安装软件包时自动下载和安装依赖项.
我试过了:
install.packages("mypackage.tar.gz",type="source",dependencies=TRUE,repos="http://a.cran.mirror")
Run Code Online (Sandbox Code Playgroud)
但它mypackage.tar.gz在镜像上搜索(显然它没有找到),而如果我repos=NULL正确设置它尝试安装本地包文件(如文档所示),但显然它没有找到依赖包.
所以我的问题是:有没有办法执行'混合'安装(具有在线依赖的本地包)或唯一的方法是手动安装所有依赖项?
当我R CMD check --as-cran 在我的包装上运行时,我仍然得到的一个注释是:
checking CRAN incoming feasibility ... NOTE
Maintainer:[my name] <my email>
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到对这个笔记的一个很好的解释,虽然我没有读过任何告诉我应该关注它的东西.和其他人一样碰到这个?我能做些什么来清除音符吗?
从R 3.1.0开始,我得到以下R检查:
* checking package dependencies ... NOTE
No repository set, so cyclic dependency check skipped
Run Code Online (Sandbox Code Playgroud)
我试过这个建议:https://twitter.com/phylorich/status/431911660698083328
不行.我将该行options(repos="http://cran.rstudio.com/")放在包根目录中的.Rprofile中.仍然得到注意.
另外,编写R扩展的第1.3.1节说明:
Some Windows users may need to set environment variable R_WIN_NO_JUNCTIONS
to a non-empty value. The test of cyclic declarations33in DESCRIPTION
files needs repositories (including CRAN) set: do this in ~/.Rprofile.
Run Code Online (Sandbox Code Playgroud)
这可能是由于set environment variable R_WIN_NO_JUNCTIONS?如果是这样我怎么能这样做呢?注释的任何其他可能原因或建议的修复?
我遇到一个难以调试的问题,makePSOCKcluster从parallel包装上的Windows [R 64.它不会发生在Windows上的R i386上,也不会发生在任何OSX或Linux上.不幸的是,它不会一直发生,只是偶尔而且非常随机.
发生的是该makePSOCKcluster函数超时并冻结R会话,但只有在会话的早期执行了一些(任意)system()调用.下面的视频和脚本更清楚地说明了问题.
我试过的一些东西没有成功:
system和等待之间等待几秒钟makePSOCKcluser.cmd_exists <- function(command){
iswin <- identical(.Platform$OS.type, "windows");
if(iswin){
test <- suppressWarnings(try(system(command, intern=TRUE, ignore.stdout=TRUE, ignore.stderr=TRUE, show.output.on.console=FALSE), silent=TRUE));
} else {
test <- suppressWarnings(try(system(command, intern=TRUE, ignore.stdout=TRUE, ignore.stderr=TRUE), silent=TRUE));
}
!is(test, "try-error")
}
options(hasgit = cmd_exists("git --version"));
options(haspandoc = cmd_exists("pandoc --version"));
options(hastex = cmd_exists("texi2dvi --version"));
cluster <- parallel::makePSOCKcluster(1);
Run Code Online (Sandbox Code Playgroud) 我的系统(服务器)中安装了大约4000个R软件包,其中大多数已经过时,因为它们是在R-3.0.0之前构建的.现在我知道了
update.packages(checkBuilt=TRUE, ask=FALSE)
Run Code Online (Sandbox Code Playgroud)
会更新我的所有包裹,但这太慢了.问题是用户不使用大多数软件包,现在他们要求我更新他们使用的软件包(比如字段).现在,如果我跑
install.packages("fields")
Run Code Online (Sandbox Code Playgroud)
即使字段依赖于地图,它也只会更新包字段而不更新包映射.因此当我尝试加载包字段时:
library("fields")
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息
Error: package ‘maps’ was built before R 3.0.0: please re-install it
Run Code Online (Sandbox Code Playgroud)
有没有办法升级字段,以便它还会自动更新包字段取决于?
mcmcpack在Ubuntu下安装R软件包(比如说这个例子)时,我可以选择以下两种安装方法:
# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack
# Let R take care of installation/upgrades
install.packages("mcmcpack")
Run Code Online (Sandbox Code Playgroud)
问题:
install.packages("mcmcpack")和以后apt-get install r-cran-mcmcpack- 我应该预料到麻烦吗?apt-get install r-cran-mcmcpack和以后install.packages("mcmcpack")- 我应该预料到麻烦吗?