问题标签 [r-faq]

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 投票
9 回答
556223 浏览

r - R内存管理/无法分配大小为n Mb的向量

我在尝试在 R 中使用大型对象时遇到问题。例如:

我知道这与获取连续内存块的难度有关(从这里):

以 cannot allocate vector of size 开头的错误消息表明无法获得内存,要么是因为大小超过了进程的地址空间限制,要么更可能是因为系统无法提供内存。请注意,在 32 位构建中,可能有足够的可用内存,但没有足够大的连续地址空间块来映射它。

我怎样才能解决这个问题?我的主要困难是我在脚本中到达了某个点,而 R 无法为对象分配 200-300 Mb ......我无法真正预先分配块,因为我需要内存用于其他处理。即使我努力删除不需要的对象,也会发生这种情况。

编辑:是的,抱歉:Windows XP SP3、4Gb RAM、R 2.12.0:

0 投票
2 回答
3097 浏览

r - R中的内存分析 - 用于总结的工具

R 有一些用于内存分析的工具,例如 Rprofmem()Rprof()带有选项"memory.profiling=TRUE"tracemem(). 最后一个只能用于对象,因此对于跟踪对象被复制的次数很有用,但不提供基于函数的概述。Rprofmem应该能够做到这一点,但即使是最简单的函数调用的输出也会lm()给出超过 500 行的日志。我试图弄清楚Rprof("somefile.log",memory.profile=T)实际上做了什么,但我不认为我真的明白了。

我能找到的最后一个是Thomas Lumley 的这条消息,他这么说,我引用:

我还没有工具来总结输出。

那是在 2006 年。现在有没有可能基于with set TRUE 或任何其他工具Rprofmem()的神秘输出来提供一些不错的摘要?Rprof()memory.profile

0 投票
14 回答
440561 浏览

r - ggplot2条形图中的顺序条

我正在尝试制作一个条形图,其中最大的条形图最接近 y 轴,最短的条形图最远。所以这有点像我的表

所以我正在尝试构建一个条形图,根据位置显示玩家数量

但图表首先显示的是守门员栏,然后是防守,最后是前锋。我希望对图表进行排序,以便防守条最接近 y 轴,守门员最接近,最后是前锋。谢谢

0 投票
3 回答
24394 浏览

r - 添加包含数字列的分箱值的列

我有一个包含几列的数据框,其中一列是排名,介于 1 和 20 之间的整数。我想创建另一列,其中包含像“1-4”、“5-10”、“11-”这样的 bin 值15”、“16-20”。

最有效的方法是什么?

我拥有的数据框如下所示(.csv 格式):

我想在数据框中添加另一列,所以它会是这样的:

我现在这样做的方式不起作用,因为我想保持 data.frame 完整,如果 df$ranked 的值在给定范围内,只需添加另一列。谢谢你。

0 投票
8 回答
157502 浏览

r - require() 和 library() 有什么区别?

require()和 和有什么不一样library()

0 投票
11 回答
713302 浏览

r - 如何对数据框中的列进行重新排序?

如何更改此输入(按顺序:时间、输入、输出、文件):

到这个输出(顺序:时间、输出、输入、文件)?


这是虚拟 R 数据:

0 投票
5 回答
206488 浏览

r - 只读取选定的列

谁能告诉我如何仅读取以下数据每年的前 6 个月(7 列),例如使用read.table()

0 投票
8 回答
339950 浏览

r - 如何添加前导零?

我有一组看起来像这样的数据:

我想在每个动物 id 之前添加一个零:

出于兴趣,如果我需要在动物 ID 之前添加两个或三个零怎么办?

0 投票
3 回答
94590 浏览

r - 因子水平和因子标签之间的混淆

R中一个因子的级别和标签之间似乎存在差异。到目前为止,我一直认为级别是因子级别的“真实”名称,标签是用于输出的名称(例如表格和绘图) . 显然,情况并非如此,如以下示例所示:

我认为在编写脚本时仍然可以以某种方式访问​​级别('a','b','c'),但这不起作用:

但这确实:

所以,我的问题包括两部分:

  • 级别和标签有什么区别?

  • 脚本和输出的因子级别是否可以有不同的名称?

背景:对于较长的脚本,编写具有较短因子级别的脚本似乎要容易得多。但是,对于报告和绘图,这个简短的因子水平可能不够,应该用更精确的名称代替。

0 投票
12 回答
318234 浏览

r - 如何将数据从长格式重塑为宽格式

我在重新排列以下数据框时遇到问题:

我想重塑它,使每个唯一的“名称”变量都是一个行名,“值”作为沿该行的观察值,“数字”作为列名。有点像这样:

我已经看过meltandcast和其他一些东西,但似乎没有一个可以完成这项工作。