问题标签 [split-apply-combine]

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 投票
3 回答
298 浏览

r - 在 2 列数据上拆分、应用和组合

我有一个由一组和 2 个值列组成的数据框,如下所示:

我想计算出 val1 > val2 的行数,按子集分割。最初,我对每个子组进行了硬编码:

自动化这个的正确方法是什么?我尝试使用该split()函数,但我无法弄清楚如何同时传入val1val2列。

0 投票
1 回答
1078 浏览

python - 成对相关

我有一个看起来与此类似的数据框:

对于Item_Id每个Location_Id类别中的每个,我想计算每对之间价格的成对相关性Item_Id。请注意,虽然我在上面的示例数据中只给出了两个唯一值,但在我的真实数据中Item_Id 却有数十个不同的值。Item_Id我尝试过使用groupby.corr(),但这似乎并没有给我想要的东西。

最终,我想要 N 个数据帧,其中 NLocation_Iddf. Item_IdN 个数据帧中的每一个都是特定Location_Id类别中所有成对组合之间价格的平方相关矩阵。因此,N 个数据帧中的每一个都将有 J 行和列,其中 J 是该Item_Id特定Location_Id组中唯一值的数量。

0 投票
1 回答
596 浏览

r - R在数据帧组上应用函数

我需要单独对每个主题运行 ANOVA。我有一个数据框由来自 37 个主题的数据组成,我不想循环 37 次以在每个主题上分别运行 37 次方差分析。这些是我数据的前 4 行:

这是我的代码:

但我收到一条错误消息:

unique() 仅适用于向量

任何帮助表示感谢

0 投票
2 回答
1100 浏览

r - 按另一列 r 中的值折叠字符向量

我有一个数据框,其中一列中有一组字符串,另一列中有一个分组变量(一个字符串,但可能是一个因素)。我想要collapse数据框,以便通过分组变量将字符串折叠成元素。对于信息,然后我将使用Corpus(VectorSource(x))该向量(即,我正在折叠以创建文档)。

例如:

这将被转换为具有两个元素的字符向量,即“W”的成员和“F”的成员。我知道我可以使用:

要获得所有这些,当然只需手动创建子集(或循环)。我想知道是否有一个plyr功能(但看不到一个),我认为tapply或者by可能是我正在寻找的(在基础中),但我不清楚它们将如何在这里使用。

我不想在这里输出数据框,而是清楚地探索标记的重复项,这些方法适用于这个问题。

0 投票
2 回答
406 浏览

r - 以编程方式在变量上调用 group_by()

使用 dplyr,我想用一个我可以改变的变量来总结 [原文如此](例如,在循环或应用样式命令中)。

直接输入名称可以正常工作:

group_by不是为了获取字符向量而编写的,因此传递结果更难。

我将发布一个解决方案,但很想知道其他人是如何解决这个问题的。

0 投票
1 回答
54 浏览

python-2.7 - pandas - 对组内的参考记录执行计算

对于 DataFrame 中的每一行数据,我想计算列中唯一值的数量,A以及B该特定行和由另一列标识的组中的参考行ID。这是一个玩具数据集:

数据如下所示:

现在,在使用定义的每个组中,ID我想将每条记录与参考记录进行比较,并且我想计算组合的唯一数AB值。例如,我可以通过取len(set([4,4,6,12]))which 给出 3 来计算数据记录 3 的值。结果应如下所示:

我能想到实现这一点的唯一方法是使用循环遍历每个分组对象,然后循环分组对象中的每个记录,并根据参考记录计算它。这是非pythonic并且非常慢。任何人都可以建议一种矢量化方法来实现相同的目标吗?

0 投票
3 回答
2368 浏览

r - 组合行 - 在 R 中汇总某些列而不是其他列

我有一个数据集在第 1 列中有重复的名称,然后是 3 个其他数字列。

我想将重复名称的行合并到一列中,并对列中的 2 列进行求和,而将另一列单独保留。有没有一种简单的方法可以做到这一点?我一直在尝试用 sapply 和 lapply 来解决这个问题,并且在这里阅读了很多问答,但似乎找不到解决方案

数据如下所示:

我想让它看起来像这样(将第 3 列和第 4 列相加并单独留下第 1 列。我希望它看起来像这样:

任何帮助都会很棒。谢谢!

0 投票
1 回答
201 浏览

datatable - 如何在 Julia 中使用 split-apply-combine 方法“加入”

我有一个有点复杂的连接(在 SQL 意义上),我想在 Julia 中执行,但我不知道如何让它在 split-apply-combine 方法中工作(尽管它可以手动写出来)。看起来这应该很容易做到。问题看起来像这样。我有一个关于海龟赛跑的数据数据框:

我想要一个数据表,它只包含这个表的行,这些行是每只海龟的个人(turtlenal?)在他们跑的任何情况下都是最好的。我几乎可以得到我需要的东西

但我还需要匹配行的照片列。我该怎么做呢?

0 投票
3 回答
1171 浏览

r - 按组从数据帧中查找前十分位数

我正在尝试使用函数创建新变量,lapply而不是使用循环在数据中正确工作。我曾经使用过 Stata,并且会使用类似于此处讨论的方法来解决此问题。

由于在 R 中以编程方式命名变量非常困难或至少很尴尬(而且您似乎不能使用 索引assign),所以我将命名过程留到lapply. 然后我使用for循环在合并之前进行重命名,然后再次进行合并。有没有更有效的方法来做到这一点?我将如何更换循环?我应该进行某种重塑吗?

0 投票
4 回答
158 浏览

r - R:子集和排序大data.frame没有forloop

我有 97M 行的长表。每行包含一个人所采取的行动的信息和该行动的时间戳,格式如下:

每个动作都可以由一个人采取或不采取,并且可以以任何顺序采取行动。

我有兴趣总结我的数据集中的动作顺序。特别是对于每个人,我想找出首先、第二、第三和第四次采取的行动。如果多次采取行动,我只对第一次发生感兴趣。然后,如果有人跑、吃、吃、跑和睡觉,我有兴趣总结一下,比如run, eat, sleep

我可以通过 forloop 获得我想要的东西:

是否也可以在没有循环的情况下以更有效的方式获得此结果?