问题标签 [cran]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53376 浏览

r - 在 R 中设置默认的 CRAN 镜像永久

如何在 R 中永久设置特定的 CRAN 镜像?

我想将它永久设置在我的笔记本电脑中,这样当我这样做时install.packages(),它就不会再问我要选择哪个镜子了。

0 投票
2 回答
6021 浏览

r - 警告:在 R 中加载“utils”时替换以前的导入“head”

从 CRAN加载RTextTools包时,我收到以下警告:

警告信息:
1:加载 'utils' 时替换之前的导入 'head'<br> 2:加载 'utils' 时替换之前的导入 'tail'</p>

如何摆脱这些警告?我是包的作者,所以我可以操作源代码;我正在寻找一种摆脱警告而不是抑制警告的解决方案。当我升级到 R 2.14 时,它们似乎已经出现。先感谢您!

0 投票
5 回答
626 浏览

r - available.packages 按发布日期

是否可以从 R 中获取 CRAN 包的发布日期?我想获取最近发布的 k 个 CRAN 包的列表,或者在日期 dd-mm-yy 之后发布的所有包。类似于 available_packages_by_date.html 上的信息

available.packages() 命令有一个“字段”参数,但这仅从说明中提取字段。包裹描述上的日期字段并不总是最新的。

我可以使用html 页面中的智能正则表达式来获取它,但我不确定这个 html 文件的可靠性和最新性......在某些时候,Kurt 可能会决定对布局进行改造,这会破坏脚本。另一种方法是使用来自CRAN FTP的时间戳,但我也不确定这个解决方案有多好。我不确定是否有正式结构化的文件与发布日期?我假设 HTML 页面是从某个数据库自动生成的。

0 投票
3 回答
666 浏览

r - 多个库中的相同 R 包

如果一个包安装在多个库中会发生什么?例如,在 Debian/Ubuntu 中,可以通过 apt-get 安装 debianized 软件包,然后还可以直接从 CRAN 安装同一软件包的更新版本。使用 library() 时,会加载最新的包,还是取决于 .libPaths() 的顺序?

0 投票
1 回答
1857 浏览

r - 将包上传到 CRAN 传入时出错:550 访问被拒绝

我正在尝试在 CRAN 上为其第一个版本上传一个包,但我无法通过 FTP 上传。

看来我没有对ftp://cran.r-project.org/incoming的写入权限:

我尝试使用两个文件浏览器(Dolphin 和 Konqueror)、两个基于 GUI 的 FTP 客户端(FireFTP 和 GFTP)以及良好的ftp命令行界面,但没有成功。

我用anonymous作用户名,而我的电子邮件地址或根本没有用作密码。

curl根据这篇文章,我还尝试使用并明确禁用 EPSV :

但我仍然收到拒绝访问错误:

知道我做错了什么吗?

0 投票
1 回答
545 浏览

r - 在内存中预加载包而不附加它

当我启动 R 进程时,有什么好方法可以在内存中预加载一堆常用的 R 包,但实际上并没有附加它们。最好以没有副作用的方式进行。

如果我这样做:

包已加载并显示在sessionInfo()

这有副作用吗?如果我对大量包执行此操作,我特别想防止任何形式的屏蔽。library()这样做的唯一目的是在调用函数或使用函数时加快进程mypackage::somefunction

0 投票
3 回答
1725 浏览

r - 如何安装和管理多个版本的 R 包

我正在开发一个使用 R 进行可重现计算的框架。我正在努力解决的一个问题是,一些 R 代码可能在包的 XY-Z 版本中完美运行,但是为什么你在 3 年后尝试重现它,这些包有更新了,一些功能改变了,代码不再运行了。例如,此问题也会影响使用包的 Sweave 文档。

自信地重现结果的唯一方法是安装原始作者使用的 R 版本和包的版本。如果这是一个单一的案例,可以从 CRAN 档案中提取内容并安装适当的版本。但对于我的框架来说,这是不切实际的,我需要预先安装软件包版本。

现在假设我将自己限制在单一版本的 R,例如 2.14。安装许多版本的 R 包的实用方法是什么,以便我可以即时加载它们?我想我可以做一些事情,比如为每个包的每个版本创建单独的库目录,然后在加载它们时使用自定义 lib.loc 参数。不过这会很混乱。任何提示或以前尝试做类似的事情?

我的框架在 Ubuntu 服务器上运行。

0 投票
0 回答
4221 浏览

r - CRAN 包的安全问题

[编辑:2013 年 6 月] ArXiv 上出现了一篇论文,更详细地描述了这个问题,并提出了一些解决方案: http ://arxiv.org/abs/1303.4808 。它将出现在 2013 年晚些时候的《统计软件杂志》上。

我的 Ubuntu 服务器上有一个 cronjob,可以从 CRAN 下载并安装每个源包。然而,在同一台服务器上,我开始注意到一些不规则的活动。它可能完全不相关,但它让我思考是否有可能某些 CRAN 包包含恶意代码。

创建和发布 cran 包的过程非常简单。也许有点太容易了。你将你的包上传到 FTP,Kurt 会做一个检查,然后发布它。随着每天上传的 R 包的数量,可以合理地假设没有对包进行广泛的审计。与大多数发行版软件包一样,也没有使用私钥对软件包进行签名。即使是描述中的电子邮件地址也很少得到验证。

现在,无论是在编译时还是在运行时,包含一些安装 rootkit 的代码都不会很困难。编译时间可能更容易受到攻击,因为我使用 sudo 安装我的包,我可能应该停止这样做。但在运行时也可以做很多事情。linux 内核最近出现了几个安全漏洞,我已经证实,在一个完全最新的系统上,通过提权漏洞获取 root 是非常容易的。由于 R 通常可以访问 Internet,因此恶意代码甚至不必包含在包中,只需使用 wget 或 download.file() 从某个地方下载即可。

也就是说,R 用户是否在考虑这一点?还是主要是您应该只从您信任的人那里下载软件包的理念?仍然没有签署不是很可靠的包。安装 cran 包更安全的方法是什么?我考虑过类似一台单独的机器来构建包,然后复制二进制文件,并始终在沙箱中运行 R。不过这有点麻烦。

0 投票
2 回答
588 浏览

r - R帮助页面作为对象

有没有一种很好的方法可以从已安装的包中以 R 对象(例如列表)的形式提取 R 帮助页面。我想以标准化 JSON 或 XML 模式的形式公开帮助页面。然而,从数据库中获取 R-help 信息比我想象的要难。

不久前,我一起破解了 R 帮助手册页的 HTML。但是,我宁愿拥有一个包含此信息的通用 R 对象,我可以将其渲染为 JSON/XML/HTML 等。我查看了helprHadley 的包,但这对于我的目的来说似乎有点矫枉过正。

0 投票
1 回答
301 浏览

r - 使用 memoise 预缓存 ggplot2 输出以在 Web 服务中使用

对于某些网络服务,我需要尽可能地加快按需 ggplot2 绘图。随着 memoise 的引入,绘图函数会自动引入一些缓存,使第二个绘图明显快于第一个绘图。但是,我的 Web 服务每个 R 会话仅绘制 1 个图,因此默认情况下这无济于事。

我想知道进行预缓存是否明智/可能/有用(例如,在实际请求之前在加载时进行一些计算),或者将 memoise 缓存保存/加载到磁盘以进行常见调用+输出。

一个例子: