问题标签 [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 投票
2 回答
500 浏览

python - 在世界杯锦标赛组内生成配对

我为 2015 年 FIFA 女足世界杯整理了一些数据:

输出

现在我想生成一个新的数据框,其中包含每个groupfrom中的 6 个可能的配对或匹配df,格式如下:

什么是简洁干净的方法来做到这一点?group我可以通过每个and做一堆循环team,但我觉得应该有一个更干净的矢量化方式来做到这一点,pandas以及拆分-应用-组合范式。

编辑:我也欢迎任何 R 答案,认为在这里比较 R 和 Pandas 方式会很有趣。添加了r标签。

根据评论中的要求,这是 R 形式的数据:

0 投票
2 回答
63 浏览

r - 对 R 中更改数据框的某些值求和

我有一个数据框,我想通过添加某些值来聚合它。假设我有六个集群。然后,我将来自每个集群的数据输入到某个函数中,该函数生成一个值 x,然后将其放入输出数据框中。

为了汇总,然后我将所有三年中集群 1 的 x 值相加,seroconv.cluster1=sum(data.all[c(1:3),6])并为每个集群重复。

每次我现在更改集群的数量时,我都必须手动更改 x 的添加。我希望能够说出n.vec <- seq(6, 12, by=2)n.vec 并将其输入函数并获得 x 并让 R 每次随着集群数量的变化而将每个集群的 x 值相加。所以它会做 6 个集群并将每个集群的所有 x 相加。然后将 8 加起来,以此类推。

0 投票
2 回答
84 浏览

r - Adding aggregated counts as extra dataframe rows

I have a data frame with the letters of the English alphabet and their frequency. Now it would be nice to also know the frequency of the vowels and the consonants and the total number of occurrences - and since I want to plot all of this information, I need it to be in one data frame.

So I often find myself in a situation like this:

Am I doing this the right way or is there a more elegant solution for this?

Looks like my description was terribly confusing:

Basically, I want to add new categories (rows) to the data frame. In this very simple example, it's simply summarized data.

(For time series plots I'm using the aggregate function.)

enter image description here

0 投票
1 回答
1430 浏览

r - R中的复杂减法

我正在研究一个需要我从列中减去信息的数据集。这是一个重复测量数据集,其中一个人最多被测试六次,最少两次。数据为长格式

这是一个示例数据集:

在最简单的形式中,我的数据包含以下变量:

  • Participant ID- 唯一的字母数字代码
  • Time- 从 1 到 6 不等
  • Score- 测试 1 的分数从 1 到 10 不等。重复测试后分数可能保持不变或下降。

我想计算测试会话中连续分数之间的差异,将它们相加,然后除以每个参与者的分数。以更简单的形式,我希望它如下所示:

分母必须考虑每个参与者的不同重复测量次数。

早些时候,我的代码是这样的:

这段代码的问题在于它会累积地相互减去分数。我希望它添加分数 1&2、2&3、3&4 等之间的差异。

我怎样才能做到最好?

0 投票
2 回答
1303 浏览

r - 使用 lapply() 查找因子变量的百分比

我有一个数据框,它由代表问题的 4 列组成,每列代表响应的 4 个级别。

我想得出一个data.frame这样的:

到目前为止,我一直在使用循环来实现这一点for,但是我的脚本充满了for循环,所以我想使用 inreshape2或 with中的函数来实现这一点lapply。例如,这段代码比for循环干净得多,但仍然不是我想要的。任何帮助将不胜感激!

这是我到目前为止所得到的:

编辑:包括每个请求的数据框示例。本来担心关卡标签太长会占用太多空间,所以我把它们缩短了。

我发现 Lafortune 和 user20650 的回答结合起来给了我几乎正是我一直在寻找的东西:

然而有一个问题。在sapply级别上, 与dimnamesQ1 级别的标签名称相同,因此在执行melt的输出后sapply,Var1 列只是 Q1s 级别的重复,而我希望 Var1 在 Q1 中具有 Q1 的级别行,Q2 行中的 Q2 级别等。我找到了一种解决方法,方法是将levels所有列拉到一个单独的变量qnames 中,然后再执行任何操作,df如下所示:

这正是我需要的结果。我有兴趣看看是否有办法在没有额外的情况下实现这一点sapplyand cbind,所以我将把这个问题留得更久一点。谢谢你的帮助!

0 投票
2 回答
91 浏览

r - 如何在 R 中按 2 列汇总表

我想通过按期间分组第 1 组和按付款人 ID 分组第 2 组来总结此数据集,以便按月将结果显示为任何给定用户的小计,如下所示:

数据框:

结果应如下所示:

最好的方法是什么?谢谢!

0 投票
3 回答
231 浏览

r - 如何拆分-应用-组合 R 中的多个变量/列

我想按组对几个变量执行一个函数。

虚假数据;

在这种特殊情况下,我想按组对每个变量进行平均中心化。我想返回一个带有原始变量和居中变量的数据框。

通常我为此使用 PLYR 包;

但是,我无法成功循环这​​个函数,或者想出另一种最小代码的方法来做到这一点。

我对非 PLYR 解决方案持开放态度……我的主要标准是将代码保持在最低限度。

0 投票
3 回答
71 浏览

r - R中具有特定ID的条目数的平均值?

所以假设我有一个看起来像这样的数据集,我在 R 中使用它:

(我意识到 Torii 的名字拼写错误,请耐心等待)。

我最终想计算一个系列赛中本垒打的百分比,最终得到如下所示的结果:

我可以 dplyr::filter 过滤结果,按 ID 计算每个游戏的统计数据,然后导出到 .csv,我可以在其中获得 excel 中的平均值(这就是我一直在做的),但必须更快完全在 R 中做到这一点的方法。有什么想法吗?

0 投票
0 回答
48 浏览

r - Calling objects as column name in R Combine Function

I have an array(pstype) whose elements are column names for another data frame, i would like to call a column name[Array Element] one by one from that array by attaching ".x" and ".y" with it and put those columns in a new data frame(new_df):

eg:

This is what i am trying to do:

The error that i'm getting is: by passing an object to c("eid",xpstype,ypstype)

Error: undefined columns selected

0 投票
0 回答
661 浏览

r - 按两组计算 z 分数

我有一个正在处理的重复测量数据集。数据如下所示:

其中 ID = 参与者 ID,诊断 = 诊断,时间 = 重复评估,分数 = 分数

我想计算 AD 和 FD 组分数的 z 分数,与“Con”组分数(对照组)和“时间”相关。例如,时间 2 的 AD 和 FD 组的 z 分数应相对于时间 2 的对照组计算(忽略缺失变量)

我能想到的唯一方法是将数据框拆分为不同的“时间”,计算 z 分数并将数据框合并在一起,但这非常痛苦且耗时(当我尝试合并时有时会给我 NA数据框)。

有没有更好的方法来做到这一点?