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

r - 计算融化数据框中变量的均值,按名称1分组

我在数据框上使用融化和均值时遇到问题。也许这只是一个初学者的问题。

我有一个包含两个条件和 3 个重复的数据框

现在我融化数据框得到这样的东西,我想计算每个条件的平均值......

有没有办法用融化的数据框计算平均值,还是我必须重新创建原始数据框并计算平均值,如下所示?

编辑:

我才意识到,我在我的问题中犯了一个错误。您的答案是正确的,但我真正要寻找的只是一栏中的方法。根据变量交替...这有意义吗?

好吧,也许我解释一下我想要做什么。我想用 ggplot 绘制数据,我想制作表示平均值的条形,并将值作为 geom_points 作为覆盖。我想通过复制给点上色,并按条件对所有内容进行分组......希望有人有想法......

0 投票
1 回答
77 浏览

r - 在R中的数据框中对每年的中性名称和总和进行分组

我有一个包含 4 列的数据框,标题为“年份”“姓名”“性别”“金额”。这是一个示例数据集

我只想找到同时出现“m”和“f”的名称,并将每年的金额相加。

任何帮助将不胜感激

0 投票
3 回答
100 浏览

r - 使用 R 进行数据重组

我有一个如下所示的数据集(dat):

它反映了个人在一段时间内登录网站的实例。我需要数据看起来像这样:

因此,不是同一个人有多个条目,而是每个人只有一行,计算他们登录的次数。

此外,您会注意到在我的示例中,人 36598035 使用多个 IP 地址登录。发生这种情况时,我希望最终数据集中的 IP 地址反映模式 IP 地址——换句话说,个人最常登录的 IP 地址。

0 投票
4 回答
95 浏览

r - 根据组的唯一/不同值的数量创建二进制变量

我的数据如下:

对于每个“用户 ID”,我想创建一个二进制指示变量,如果有多个唯一产品,则为 1,如果所有产品都相同,则为 0。

所以我的填充向量看起来像:

例如,用户 1 只有一个不同的产品('a')-> 结果 = 0。用户 2 有多个唯一的产品('b' 和 'c')-> 结果 = 1。

0 投票
2 回答
1814 浏览

r - R循环遍历因子的级别以为每个级别创建一系列数字

我正在使用来自海狸的 GPS 数据的数据框,该数据框包括带有动物 id 的列(见$id下文),这是一个具有 26 个级别的因素。对于每只海狸,我们都有几个 GPS 值 - 数字因动物而异。

我现在想以 15 分钟的间隔为每个人创建一个单独的列,其中包含“捕获后的时间”,从 0 分钟开始。对于 15 分钟的间隔,我尝试创建一个序列

现在我不确定如何定义 x 所以它指的是每个人。我应该使用 split 函数来拆分数据框吗?我们也有一个日期/时间列,但问题是我们在白天(当动物睡觉时)没有 GPS 点,导致我们想从TimePostRel计算中排除休息时间(我们只想参考“活跃时间”捕获后)。

这是数据框:

有人现在如何解决这个问题?提前致谢!!

干杯,帕特里夏

0 投票
2 回答
1154 浏览

r - 使用聚合将多个函数应用于数据框中的每一列

当我需要将多个函数按顺序应用于多列并按多列聚合并希望将结果绑定到数据框中时,我通常aggregate()以以下方式使用:

通过使用以下方法可以在有序的数据框中获得结果:

do.call()可以通过在这种情况下以某种方式使用smarter来避免调用,或者从一开始就aggregate()使用另一个基本解决方案来缩短整个过程吗?R

0 投票
2 回答
4096 浏览

r - 使用 dplyr 的 group_by 执行 split-apply-combine

我正在尝试使用dplyr执行以下操作:

我想按 Speicies 拆分 Petal.Lengths,并应用一个函数,在这种情况下,shapiro.test.我阅读了这个SO question和许多其他页面。我有点能够将变量分成组,使用do

将列“拆分”为组似乎正在起作用。但是将碎片传递给 shapiro.test 的方法仍然让我望而却步。我看到这group_by拆分为.

我尝试了很多变化,包括:

并且

我怎样才能dplyr运行shapiro.test()三次,每个物种的 Petal.Lengths 一次?

0 投票
1 回答
214 浏览

r - 对从 ddply 创建的列执行计算

我正在使用ddplyinsidesubset来计算一些指标并根据需要汇总表格。我要计算的一些指标需要使用作为ddply操作结果创建的汇总列。

这是具有简单计算列的函数:

subset_by_market ("Q32013" , "Columbus.OH", "primetime")用来总结创建一个子集。我的结果表如下所示:

问题 1:我想添加到相同的数据框中,例如:spot.count 的百分比值。= spot.count / sum(spot.count) (ii)percent.nullspots.male = nullspots.male / sum(nullspots.male)

但是,当我将其添加到ddply参数中时,我在结果列中得到 1 (100%)。该值除以自身,而不是除以列的总和。

问题 2:这是缓慢而谦虚的我接受这可能不是最佳编码。我正在使用带有 16Gb ddr3 RAM 和 64 位操作系统的 i5-2.6GHz PC。数据集是 1M 行。

目的是在在线仪表板上可视化所有计算的指标,并允许用户选择subset_by_market (q , marketname, dp)使用下拉菜单。我怎样才能让它更快?

添加样本数据:

为丑陋道歉dput

0 投票
0 回答
94 浏览

r - 来自数据子集的重复随机样本

我是一个 R 新手,并且遇到了一个应该是简单的 for 循环过程的砖墙。数据由一个维度为 81161 x 9 的列表组成。观察是随时间变化的个体。当前的需求是隔离一组独特的观察结果并随机提取其中一个观察数据点。在这个阶段,我已经审查并尝试了一些选项,其中没有一个是被执行的财产。首先 for 循环然后应用。

为了更好地了解我概述的工作流程。这应该是一个相对直接的拆分应用组合。apply 是一个限制为唯一 individual_days 的示例。为此,代码将遍历所有维度的基本定义,然后定义唯一值、排序和排名(从中将唯一的 individual_day 设置为序数比例,然后使用 individual_day 将这些链接回 originsl 数据作为关键)。从这一点开始,我尝试了 for 循环的两种替代方案 --- 首先使用按等级拆分来提供 DSrank$'1, 2, 3...n' (尝试在示例 2 中使用)并使用看到的子集在示例 1 中。然后将随机提取单个样本并整理到子数据集中。从这一点开始,将进行其他分析。

这些都是基于我通过 CRAN、stackoverflow 和其他 R 代码搜索结果找到的示例。

如果您有任何建议、提示或技巧可以分享,我们将不胜感激。

MB

0 投票
1 回答
185 浏览

r - R plyr 应用程序填充缺失值

我有一个数据框,其中包含对许多变量的人年观察。它看起来像这样:

对于序列号内的每个观察,如果观察记录在 1985 年并且moved在 1895 年的值 = 0,那么我想将urban.rural.code1984 年的值分配给 1985 年的值。在上面的示例中,urban.rural.code行的唯一23 和 28 应分别分配给 9 和 7。

我使用了ddply和 辅助函数的组合,如下所示:

我收到以下错误:

我不知道我哪里错了。如何urban.rural.code在每个serial号码组内进行编辑?