问题标签 [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 回答
585 浏览

r - {R} 使用 purr 删除空白或唯一列

我最近发现了 purrr,我真的很喜欢 map 功能。有谁知道如何解决以下问题:

我有一个数据框,我根据某个变量将其拆分为多个数据框 - 一旦拆分,我想删除结果列表中数据框中唯一的列。在单个数据框中解决这个问题非常容易,但在一个列表中我不太确定 - 你将如何通过使用地图来解决这个问题?

我目前的解决方案如下:

还有一个问题,我不想map应用于变量。任何人都可以使用 purrr 包中的地图来帮助执行此操作。removertarget

解决了

@akrun 提供的最终解决方案 - 完全归功于他。

细微的差别是,在这里我们还删除了删除目标变量的数据帧——出于我的目的,保留这些数据帧并不是必需的。以下代码可用于快速确定保留哪些级别,删除哪些级别。

0 投票
1 回答
384 浏览

r - 使用 Tidyr 的“收集”和 Ggplot2 进行函数式编程,以实现更快速的可视化数据探索

下面的示例代码(使用来自 productplots 或 ggmosaic 的快乐数据集)让我快速可视化按快乐(快乐)分解的各种分类变量(性别、婚姻、健康和学位)。为了做到这一点,我必须从“收集”函数中分离出我想要条件的变量,在这种情况下,“快乐”。但是如果我想改变这个变量呢?或者创造另一个组合?我将不得不不断地重现下面的代码并更改变量。有没有更快的方法来完成这个功能?purrr 包能以某种方式提供帮助吗?

我想要一个尽可能基于 Tidyverse 的解决方案。

0 投票
1 回答
1246 浏览

r - 用于可视化或过滤 P 值的 Tidy chisq.test 输出的函数

对于数据...

对于代码...

我正在尝试创建整洁的 chisq.test 输出,以便我可以轻松过滤或可视化 p 值。

我正在使用“快乐”数据集(包含在上面列出的任何一个包中)

对于这个例子,如果我想在所有其他变量上设置“快乐”变量,我会隔离分类变量(对于这个例子,我不会根据年龄、年份等创建因子分组),然后运行一个简单的函数。

但是,我想从“broom”包中得到一个整洁的输出,这样我就可以创建一个 p 值的数据框来过滤或可视化。

我已经尝试了类似于下面代码的各种组合,希望进一步管道进入“整洁”扫帚功能或进入“过滤器”,在那里我可以缩小重要的 p 值,或者管道进入 p-的 ggplot 条形图值或 chi 统计。

...但输出似乎不正确。如果我针对变量单独运行 chisq.test,答案会有所不同。

那么,有没有一种方法可以轻松地比较分类变量,在这种情况下与所有其他列“快乐”,并返回一个整洁的数据框以进行进一步的操作和分析?

使用 dplyr::mutate、tidyr::nest 和 purrr::map 的 Purrr 解决方案会很棒,但我感觉嵌套列表列方法不适用于 chisq.test。

0 投票
1 回答
1194 浏览

r - 在使用 map_at 的变量列表上使用 fct_relevel

我有一堆具有相同级别的因子变量,我希望它们都使用包中fct_relevel的类似方式重新排序。forcats许多变量名称以相同的字符开头(“Q11A”到“Q11X”、“Q12A”到“Q12X”、“Q13A”到“Q13X”等)。我想使用starts_with函数 fromdplyr来缩短任务。以下错误没有给我错误,但它也没有做任何事情。有什么我做错了吗?

0 投票
3 回答
10087 浏览

r - R purrr:::pmap:如何按名称引用输入参数?

我正在使用purrr:::pmap带有三个输入的R。目前尚不清楚如何在公式调用中明确引用这些输入?使用 map2 时,公式调用为~ .x + .y. 但是使用的时候怎么办pmap呢?

从http://r4ds.had.co.nz/lists.html复制 Hadley 的示例

如果我想在调用时显式引用输入参数rnorm,我可以使用:

但是说我想用公式方法来做到这一点。我怎么做?例如,这不起作用:

谢谢!!

0 投票
2 回答
2071 浏览

r - 使用 dplyr、tidyr、purrr 分组多列聚集

我正在尝试收集分布在多个列中的两个不同变量的数据,这些变量由其他两个变量分组。这就是问题所在。我有几个基因,几个样本。每个样本具有三种不同的可能基因型,每种都有相关的频率。我想整理一下以获得基因、样本、基因型、频率的单列。

我对此有一个 hackjob 解决方案,其中涉及创建列表列,传播这些列,然后使用 purrr::map 函数提取列。它很丑陋,不是真正可扩展的,并且频率在转换回数字之前被转换为字符,并不理想。

有没有更好的方法来解决这个问题?



0 投票
1 回答
289 浏览

r - purrr::discard NA 日期

假设我有一个 POSIX 向量

我想删除 NA 日期purrr::discard

有人可以解释为什么它会引发错误吗?

例如,对于

它运作良好:

0 投票
1 回答
255 浏览

r - R:运行 purr 包中 reduce() 的示例代码时出错

我正在寻找使用 reduce() 将数据帧中的可变数量的列成对连接起来。看起来 reduce() 可以完成这项工作,所以我尝试了一些示例代码并得到了这个错误。我正在使用 RStudio,版本 1.0.136

PS这是我的第一个问题,所以我试图在太多信息方面犯错。如果我需要提供不同/更多/更少的信息,请告诉我。

0 投票
2 回答
6764 浏览

r - 使用来自 dplyr 的 purrr 和 mutate() 将新变量添加到数据帧列表

我知道这里有很多关于 SO 的相关问题,但是我正在寻找一个 purrr 解决方案,而不是来自函数应用列表或 cbind/rbdind 的一个(我想借此机会更好地了解 purrr)。

我有一个数据框列表,我想为列表中的每个数据框添加一个新列。该列的值将是数据框的名称,即列表中每个元素的名称。

这里有类似的东西,但它涉及到函数的使用mutate_each(),而我只需要mutate().

为了让您了解列表(称为comentarios),这里是第str()一个元素的第一行:

所以我希望我的新变量166860353356903_661400323902901在结果中包含 13 行,作为每个数据帧的 ID。

我正在尝试的是:

但是,mutate()需要数据框的名称才能工作:

输入每个名称是没有意义的,我会误入循环领域并失去 purrr (和 R,更一般地说)的优势。如果列表更小,我会使用reshape::merge_all(),但它有超过 2000 个元素。提前感谢您的帮助。

编辑:根据 alistaire 的评论,一些数据可以使问题重现

0 投票
1 回答
161 浏览

r - 从多个网页中提取多段文本

此代码的第一部分(最多“页面”)成功检索了我要从中抓取的页面。然后,我正在努力寻找一种方法来提取带有相关日期的文章文本片段作为数据框。

我得到:

UseMethod(“read_xml”)中的错误:没有适用于“read_xml”的方法应用于类“c('xml_document','xml_node')”的对象

也欢迎任何关于优雅、清晰和效率的指导,因为这是个人学习。