问题标签 [reshape2]

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 投票
2 回答
369 浏览

r - R在主题内重新排序数据框

我有一个大型数据集,跨学科重复评估。我如何从:

至:

谢谢,

乔恩

0 投票
2 回答
6440 浏览

r - R reshape2 中的 cast() 调用的自定义聚合函数出错

我想使用 R 将具有非唯一行名的表中的数值数据汇总到具有唯一行名的结果表中,其中的值使用自定义函数进行汇总。总结逻辑是:如果最大值与最小值之比 < 1.5,则使用值的平均值,否则使用中值。因为表很大,所以我尝试使用reshape2包中的 melt() 和 cast() 函数。

上面的最后一行代码会导致错误通知。

我究竟做错了什么?请注意,如果 summarise 函数只返回 min() 或 max(),则不会出现错误,但会出现有关“没有非缺失参数”的警告消息。谢谢你的任何建议。

(我要使用的实际表是 200x10000 的表。)

0 投票
2 回答
6668 浏览

r - 如何将 reshape2 包中的 melt.data.frame 函数返回“变量”列更改为“字符”类?

melt.data.frame 的默认行为是返回“因子”类中的“变量”列。这是一个例子:

问题是是否有任何参数可以将类从因子更改为字符?我试过options(stringsAsFactors = FALSE)了,但它不工作。

0 投票
8 回答
15574 浏览

r - 构建均值/方差汇总表的快速/优雅方式

我可以完成这项任务,但我觉得必须有一种“最好的”(最流畅、最紧凑、最清晰的代码、最快的?)方式来完成它,但到目前为止还没有弄清楚......

对于一组指定的分类因素,我想按组构建一个均值和方差表。

生成数据

所需的输出

使用aggregate/ merge

使用ddply/summarise(可能是最好的,但无法使其工作):

结果是

使用melt/cast(也许是最好的?)

不会(?)在reshape2. 向某人解释...~.可能很棘手!

0 投票
3 回答
39298 浏览

r - 如何旋转/取消旋转(投射/融化)数据框?

如何“取消透视”表?什么是正确的技术术语?

更新:这个词叫做融化

我有一个国家数据框和每年的数据

我想要类似的东西

0 投票
4 回答
4182 浏览

r - 更快的计算频率和从长到宽投射的方法

我正在尝试获取两个变量“week”和“id”的每个级别组合的计数。我希望结果将“id”作为行,将“week”作为列,并将计数作为值。

到目前为止我尝试过的示例(尝试了很多其他的东西,包括添加一个虚拟变量 = 1 然后fun.aggregate = sum在上面):

但是,我一定做错了什么,因为这个功能没有完成。有一个更好的方法吗?

输入:

输出:

0 投票
3 回答
208 浏览

r - 在大数据帧中生成指标

目标是为数据框中的因子/字符串变量创建指标。该数据框的行数 > 2mm,并且在 Windows 上运行 R,我没有选择将 plyr 与 .parallel=T 一起使用。所以我用 plyr 和 reshape2 走“分而治之”的路线。

运行 melt 和 cast 耗尽内存,并使用

或者

确实需要一段时间。最快的方法是调用下面的 tapply。你有没有办法加快速度?%in% 语句比 model.matrix 调用运行得更快。谢谢。

0 投票
4 回答
298 浏览

r - 从两个表的组合中找到最大值(for循环太慢)

我有一个数据表“the.data”,其中第一列表示测量仪器,其余不同的测量数据。

我还定义了仪器组,例如,组 1 (g1) 指的是仪器 1 和 2。

我需要找出每个组的总和在哪个小时具有每种数据类型的最大值,以及它的总和。

g1 小时 1:sum(da)=12+14=26 g1 小时 2:sum(da)=19+15=34

因此,对于 g1 和 da,答案是 2 小时和 34 小时。

我在 for 循环中使用 for 循环来执行此操作,但这需要很长时间(几个小时后我中断了)。问题是.data 大约有 100.000 行长,并且大约有 5.000 个组,每个组有 2-50 个仪器。

有什么好的方法可以做到这一点?

衷心感谢 Stack-overflow 的所有贡献者。

更新:现在示例中只有五个组。

/克里斯

0 投票
3 回答
407 浏览

r - 固化融化的数据框?

假设我有一个data.frame看起来像这样的融化:

我如何得到它:

似乎微不足道,但我正在回答一个空白。dcast并且acast似乎没有这样做。我的目标是在更大的数据集上执行此操作,并将最终产品转换为matrix列名作为变量名的列名。我试着玩daplyand laply(在融化之前)没有太多运气。

0 投票
1 回答
517 浏览

r - 哪些重塑问题无法一步解决?

reshape2是一个包,它允许通过其两部分熔化/铸造方法进行强大的数据转换阵列。然而,像所有工具一样,它嵌入了限制它可以处理的案例的假设。

哪些数据重塑问题reshape2无法以当前形式处理?

理想的答案将包括:

  • 描述通常可以找到此数据形状的用例类型
  • 样本数据
  • 完成转换的代码(理想情况下尽可能多地使用转换reshape2

例子

“宽”数据在面板应用程序中很常见。

新函数返回一个熔化的对象,然后可以是*cast.

数据在哪里: