问题标签 [purrr]

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 投票
1 回答
257 浏览

r - split apply combine w/function or purr package pmap?

这是我要解决的一个大问题。如果我有足够的声誉来奖励赏金,我会的!

希望平衡销售代表的帐户区域。我的流程被打破了,我真的不知道如何在每个地区进行。

在此示例中,有 1000 个帐户,跨 4 个区域,每个区域有 2 个子联盟,然后是帐户的不同所有者——有些帐户是无主的。每个帐户都有一个介于 1,000 和 100,000 之间的随机值。

可重现的例子:

账户列表:

区域所有权摘要:

按地区、联赛汇总:

这就是所有的起始数据,我想对 Summary2 表的每个分组进行以下处理。

西部未成年人示例:

西部未成年人账户总数:120

更新所有者后,我们将各个部分重新绑定在一起,以拥有 WestMinors 帐户库,所有这些都具有更新的所有者,希望是平衡的。

没有人拥有超过 14 个帐户或 600,000 个帐户,因此我们可以开始重新分配无主帐户以尝试平衡每个人。下面的 for 循环查看 OwnerSummary 中的每个名称,找出分配给他们的 $$ 最小的人并分配最有价值的帐户,然后遍历每个帐户,尝试平衡每个所有者的份额。

现在我们只需将之前拥有的和新分配的绑定在一起,我们就完成了平衡的 West Minors 领土。

每个人的账户数量都差不多,总的 $$ 领土都在合理范围内。

现在,我正在尝试对原始 4 个地区、2 个联赛的每个分组进行此操作。所以这样做8次,然后把它们缝合在一起。每个子组都有不同的 $$ 价值阈值,以及帐户数量。如何将原始帐户基础拆分为 8 个部分,应用所有这些,然后将其重新组合在一起?

0 投票
1 回答
958 浏览

r - 使用 purrr、broom 的许多单变量模型的整齐输出

我有一个数据框,它包含一个二进制结果列 ( y) 和多个独立的预测变量列 ( x1, x2, x3...)。

我想运行许多单变量逻辑回归模型(例如y ~ x1y ~ x2y ~ x3),并将每个模型的指数系数(优势比)、95% 置信区间和 p 值提取到数据框/小标题的行中。在我看来,应该可以使用 purrr 和 broom 的组合来解决问题。

这个问题很相似,但我无法解决以下步骤:

  1. 只提取我需要的值和
  2. 整理成数据框/小标题。

从引用问题中的示例工作:

0 投票
2 回答
2432 浏览

r - R中分组变量的十分位数

我想找出每个分组变量的十分位数。我正在专门寻找使用dplyrand的方法lapply。如果您能帮助我,我将不胜感激。

这是我的尝试。除了打电话之外,我不知道如何直接拉十分位数dplyr::ntile()(这对我不起作用)

尝试 1

这是我尝试describe()Hmisc包中使用的内容:

这当然有帮助,但上面的代码有两个问题:

a) 输出(甚至是列表格式)不是我想要的。

b) 我真的不知道如何从上面的列表中提取 5%、10%...。

底线是我被卡住了

尝试 2

我尝试用 替换describentile但下面的代码给了我一个对我来说没有意义的输出,因为列数不是 10。运行Output[[1]]时,我看到一个约 400 个数字而不是 10 个的向量。

尝试 3 =预期输出

最后,我尝试使用老派(即复制粘贴)来获得预期的输出:

问题:有人可以帮助我通过使用这三种(不是一种,但最好是所有学习方法)生成上述输出

1) 应用

2)dplyr

3) 数据表

我查看了关于 SO 的几个线程,但它们都在谈论特定的分位数,而不是全部。例如,按组线程从数据帧中查找前十分位数。

0 投票
1 回答
487 浏览

r - 使用 tidyverse 和 purrr 进行双重嵌套

我想创建一个双嵌套数据结构,其中 c 嵌套在 a 中,a 进一步嵌套在 id 中。

所以第一窝就OK了。但我想进一步嵌套在 m2$one 中。

知道我该怎么做吗?

我可以去:

但这在 m3 中给出了另一列,而不是在 m2$one 中。

0 投票
1 回答
69 浏览

r - 从宽数据框转到带有列表列的数据框

我有一个宽格式(132 列宽)的 500Mb 文件,其中六列是描述时间 1 到 16(96 列)的实例的变量,其中 36 列是不变的。我想更改数据结构,以便为每个实例提供一个列表列,并为不变信息提供一个单独的列。时间实例的变量名称由以“1”结尾的名称唯一给出。

所以我尝试了:

但我相信contains没有矢量化,因此我无法遍历所有以“1”结尾的变量。此外,就像 Group_by 可用于嵌套的输入一样,我相信拥有一个“嵌套收集的列”的函数会很棒。

从 tidyverse 跳到 data.table,我可以

这比我希望的要费力,但让我停下来。现在,如果我想为常量变量添加另一个列表列,我不能再使用嵌套了。

所以-

  1. 我怎样才能轻松做到这一点?
  2. 我相信这些列表列会从对象中节省内存,因为在数据帧中重复的信息更少 - 但真的吗?

所需的数据结构 - 但步骤似乎不必要地复杂:

0 投票
1 回答
99 浏览

r - 将向量和单个值传递给 pmap 函数

咕噜声弄湿了我的脚。

我正在评估 beta 分布的不同参数组合,并尝试传递 x 值的向量和分布的参数。

请看下面的代码:

在这种情况下,pmap 的正确语法是什么?

0 投票
1 回答
931 浏览

r - 将嵌套列表列方法和 Purrr 与 Tidytext::Unnest_Tokens 一起使用

我有一个数据框,其中包含调查回复,每行代表一个不同的人。一栏——“文本”——是一个开放式文本问题。我想使用 Tidytext::unnest_tokens 以便按每一行进行文本分析,包括情感分数、字数等。

这是此示例的简单数据框:

然后我把文本列变成了字符......

接下来我按 id 列分组并嵌套数据框。

走到这一步似乎还不错,但现在我如何使用 purrr::map 函数处理嵌套列表列“word”?例如,如果我想使用 dplyr::mutate 创建一个新列,并为每行提供字数?

此外,是否有更好的方法来嵌套数据框,以便只有“文本”列是嵌套列表?

0 投票
1 回答
211 浏览

r - 使用 Purrr 导出列表

我有一个包含子表的列表。我希望能够使用purrr列表中的项目名称单独导出表格 - 在下面的情况下,我将获得三个文件,每个植物都以今天的日期命名

我现在只是在学习如何有效地使用它,所以任何关于解释的帮助以及你为什么这样做都会很棒

我知道我可以编写一个 for 循环来遍历列表,但我想以此作为学习经验来开始purrr

感谢您的时间

0 投票
2 回答
2389 浏览

r - 将数据框行与一些因子列绑定

我想创建一个升级版本,dplyr::bind_rows以避免在Unequal factor levels: coercing to character我们尝试组合的 dfs 中存在因子列时出现警告(可能也有非因子列)。这是一个例子:

然后bind_rows_with_factor_columns(df1, df2)返回(没有警告):

这是我到目前为止所拥有的:

我想知道是否有人对如何合并该forcats软件包有任何想法,以潜在地避免对角色强制因素,或者是否有人总体上有任何建议来提高其性能同时保持相同的功能(我想坚持tidyverse语法)。谢谢!

0 投票
1 回答
287 浏览

r - 过滤 tidyverse 中的列表列

如何过滤mt_make以仅保留具有6 个气缸和超过150 hp的汽车,并在没有 listcols 的情况下将其嵌套到数据框中?

如何过滤mt_id以仅保留低于200 hp的Merc并在没有 listcols 的情况下不嵌套到数据框中?