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")
问题:
install.packages("mcmcpack")和以后apt-get install r-cran-mcmcpack- 我应该预料到麻烦吗?apt-get install r-cran-mcmcpack和以后install.packages("mcmcpack")- 我应该预料到麻烦吗?有没有人有一篇论文解释了Ckmeans.1d.dp算法是如何工作的?
或者:在一维中进行k均值聚类的最佳方法是什么?
搜索stackoverflow问题,我发现了这个链接: 下载自定义文件时file.download出错.
但是,我的情况有点不同(我认为):
1)从CRAN安装一些软件包(或者只是一些通常与所需软件包一起安装的依赖项)时,我收到了这个恼人的警告.
2)下载的长度似乎总是等于报告的长度,因此不应该有警告.
作为一个例子,我在这里复制粘贴刚更新时出现的警告mgcv.
Warning message:
In download.file(url, destfile, method, mode = "wb", ...) :
  downloaded length 1886962 != reported length 1886962
该mode参数已设置为"wb",因此SO链接中提供的解决方案似乎不起作用.
这很奇怪,因为我最近因其他原因重新安装了R和RStudio,但这个警告并没有消失.
任何建议都是受欢迎的.
我的问题类似于之前发布的问题,但从未真正回答过:
我不喜欢用于CRAN镜像选择的R tcltk弹出窗口.当他们在两个包中搜索函数的帮助时,他们还会弹出选择包.
有没有办法在不完全禁用X11的情况下禁用这些窗口?我仍然希望plot()命令正常工作,但禁用永远加载远程连接的小选择菜单.
例如,如果您使用ssh,但不使用-X,那么镜像选择只是R中的文本,您键入一个数字.它很快.这就是我想要的,但保留X11的情节b.
任何人都知道如何维护图形窗口,但禁用"选择"tcltk窗口?
我在CRAN上有一个包,我想添加一个ChangeLogfor,但我无法在任何地方找到有关如何执行此操作的信息.
我查看了CRAN提供的"Writing R Extensions"文档,但它只提到了ChangeLogs并没有给出关于如何创建一个的指示(我可以找到).
我注意到从CRAN上的其他软件包下载tarball(例如seacarb)他们的ChangeLogs是Unix可执行文件(我在Mac上),所以这不太有用.
我想这是一个常见的问题,但谷歌搜索"changelog R package"只是为真正受欢迎的软件包带来了ChangeLogs ......
从R 3.0开始,在CRAN包中包含静态PDF文件作为"晕影"的正确方法是什么?
本文档中描述的使用空存根的技巧Rnw似乎在R 3.0中不起作用.该文档表明现在有一种更好的方法,\VignetteEngine{}但是对于静态PDF文件这是如何工作还不是很清楚.
从Writing R Extensions手册中,我读到了这一点
从R 2.14.0开始,Sweave源的首选位置是源包的子目录vignettes,但为了与早期版本的R兼容,如果不存在vignet,则将在inst/doc中查找晕图源.
但是,当我创建vignettes包源的子目录时,当我运行devtools::check()或者R CMD check我收到警告时Package vignette(s) without corresponding PDF.如果我把小插图(.Rnw和.pdf)放入inst/doc检查完成而没有投诉.我尝试在我的库中查找已安装的打包,但没有看到任何名为的目录vignettes.我还应该使用已弃用的位置吗?
我正在用R开发一个可重复计算的框架.我正在努力解决的一个问题是一些R代码可能在一个包的版本XY-Z中完美运行,但是为什么你试图在3年后重现它,包更新,一些功能被更改,代码不再运行.此问题也会影响使用包的Sweave文档.
自信地重现结果的唯一方法是安装原始作者使用的R版本和软件包版本.如果这是一个案例,可以从CRAN档案中提取内容并安装适当的版本.但对于我的框架,这是不切实际的,我需要预先安装软件包版本.
现在假设我将自己限制为单个版本的R,例如2.14.安装许多版本的R软件包的实用方法是什么,以便我可以动态加载它们?我想我可以为每个包的每个版本创建单独的库目录,然后在加载它们时使用自定义lib.loc参数.但这会很混乱.任何提示或以前的尝试做类似的事情?
我的框架在Ubuntu服务器上运行.
[编辑:2013年6月]一篇论文已经出现在ArXiv上,更详细地描述了这个问题,并提出了一些解决方案: http: //arxiv.org/abs/1303.4808.它将于2013年晚些时候出现在Journal of Statistical Software中.
我在我的Ubuntu服务器上有一个cronjob,可以从CRAN下载并安装每个源包.但是在同一台服务器上我开始注意到一些不规则的活动.它可能完全不相关,但它让我想到是否有可能某些CRAN包含有恶意代码.
创建和发布曲文包的过程非常简单.也许有点太容易了.您将包上传到FTP,Kurt将进行检查并发布.随着每天上传的R包的数量,可以合理地假设没有对包进行广泛的审计.此外,没有使用私钥签署包,就像大多数发行包一样.甚至描述中的电子邮件地址也很少得到验证.
现在,在编译时或运行时包含一些安装rootkit的代码并不是很难.编译时间可能更容易受到攻击,因为我使用sudo安装我的软件包,我可能应该停止这样做.但是在运行时也可以做很多事情.Linux内核最近有几个安全漏洞,我已经证实自己在一个完全最新的系统上通过权限升级漏洞获取root非常容易.由于R通常具有互联网访问权限,恶意代码甚至不必包含在包中,只需使用wget或download.file()从某处下载即可.
那就是说R用户是否考虑过这个?或者,您的理念主要是您应该只从您信任的人那里下载包裹?仍然没有签署不太可靠的包裹.什么是更安全的方法来安装曲线包?我已经考虑过类似于单独的机器来构建包然后复制二进制文件,并且总是在沙箱中运行R. 虽然这有点麻烦.
我试图谷歌"r包并行"但我还没有在CRAN上找到它.我也尝试了以下链接,但它们不起作用:
http://cran.r-project.org/web/packages/parallel/index.html
http://cran.r-project.org/web/packages/parallel
http://cran.r-project.org/package=parallel
它也没有列入available.packages().
但显然包裹parallel 确实存在!:-)我把它放在我的包列表中,它甚至在这里有自己的标签:-)