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

r - 变异多个/连续列(使用 dplyr 或 base R)

我正在尝试创建代表重复测量的变量“波”。具体来说,我正在尝试创建表示变量 1 - 10、11 - 20 ... 91-100 的平均值的连续变量。请注意,“...”表示第 3 波到第 9 波的变量,因为避免输入这些是我的目标!

这是一个示例数据框,df有 10 行和 100 列:

dplyr::mutate一旦输入了所有变量,我就使用了which 工作,但是时间密集且容易出错。我无法找到一种方法来这样做,而无需手动输入列的名称,正如我在下面开始做的那样(注意“...”代表第 3 波到第 9 波):

您可以 mutate使用“dplyr”进行多个/连续列吗?也欢迎其他方法。

0 投票
2 回答
4380 浏览

r - 仅使用 purrr 包中的函数从嵌套列表中提取元素

如何仅使用 purrr 包从嵌套列表中提取元素?在这种情况下,我想在拆分 data.frame 后得到一个截距向量。我已经使用 lapply() 完成了我需要的工作,但我只想使用函数 purrr 包。

我已经尝试过 map() 和 at_depth() 但似乎没有什么对我有用。

0 投票
2 回答
2188 浏览

r - 如何使用管道和 purrr 获取列表名称和切片名称

我想知道在使用带有 purrr 的管道操作时如何获取列表名称或组名称作为标志。例如:我想使用每个列表名称的动态参数传递给 ggsave 函数。

slicename(.) 应该类似于 unique(.[["id"]]),但在使用 slice_rows 时它不起作用。

0 投票
3 回答
4507 浏览

r - purrr 将 t.test 映射到拆分 df

我是 purrr 的新手,Hadley很有前途的函数式编程R 库。我正在尝试采用分组和拆分数据框并对变量运行 t 检验。使用示例数据集的示例可能如下所示。

这会导致以下错误:

我只是误解了它的map工作原理吗?或者有没有更好的方法来思考这个问题?

0 投票
1 回答
231 浏览

r - 使用 purrr::cross_n 进行笛卡尔积过滤

我正在尝试一些purrr习惯用法 - 特别是通过一个 data.frame 循环(或应用,如果您愿意)函数并与另一个 data.frame 中的所有其他行进行比较的函数......并根据该比较函数过滤笛卡尔积..

所以一个简单的示例函数是:

我正在寻找的结果(现在)应该是一个 2 x 4 data.framedf3

然后我天真地尝试purrr::cross_n像这样使用该功能......

当然这不起作用,它是通过 3 个输入列(48 个组合)的笛卡尔积进行搜索。我希望搜索df2$start2vs [df1$startdf1$end] 的组合(12 种组合)。

所以......有没有办法在purrr框架内做到这一点?

不能完全理解cross_norcross2和 errr .. 我不完全理解文档cross_d

0 投票
1 回答
255 浏览

r - 使用 magrittr、dplyr 和 purrr 有条件地将函数应用于 R 中的分组数据帧

我想使用 magrittr、dplyr 和可能的 purrr 的简洁性将一个大型数据帧(具有许多不同类型的变量)拆分为一个变量x,然后有条件地将不同的函数x应用于每个组,并将组内的行应用于第二个变量y

以数据框为例df <- data.frame(a, b, x, c, d, y),其中x因子 ( foo, bar)y是数字。我可以用一个无管道的工作流来做我不雅地描述的事情,因此:

我想用 dplyr 重写它并将它添加到一个长管道中,df但是我所有的组合尝试mutate都失败了;尝试将 purrr 与匿名函数合并,以及.sapplydoby_slicedmap

非常感谢您的建议。

0 投票
1 回答
204 浏览

r - tidyr 嵌套表上的 mutate_each 给出“未知输入”

我正在尝试mutate_eachpurr::maptidyr::nest.

以下是我正在尝试执行的操作以及由此产生的错误的示例:

给出:

Error: Unknown inputs

是什么导致了这个问题?有解决办法吗?我可以使用apply而不是,mutate_each但这会删除行名。

编辑:从第一个回复看来,目的还不清楚。所以也许我正试图以错误的方式做某事。让我解释。

如果你这样做:

你有:

我想要的是为每一列运行一个函数;但为每个嵌套表单独完成。所以我想在每张桌子上运行下面的等价物:

给予:

0 投票
1 回答
1037 浏览

r - (...) 不是长度为 1 的原子向量错误

我正在尝试抓取 IMDB 数据,但对于一个变量,我不断收到错误消息。

错误:结果 28 不是长度为 1 的原子向量

当我使用 try (如代码中所示)执行此操作时,我得到

[1] “错误:无法将对象转换为数据框\n” attr(,"class") [1] "try-error" attr(,"condition") <Rcpp::exception: 无法将对象转换为数据框架>

如果有人能告诉我出了什么问题/为什么尝试不只是跳过该结果,那就太好了?

0 投票
1 回答
331 浏览

r - 通过数值变量 lm() 过滤数据帧,并提取斜率

我想应用不同级别的数字过滤器(例如seq(10,80, by=2)),然后将它们缝合到单个数据框中,以便与另一个变量进行比较。我目前可以这样做,但我希望有更好的方法,因为我只是复制和粘贴代码,然后将所有内容重新加入。我想要的最终结果就是我所拥有的,每个过滤步骤都作为自己的列,并从 lm() 中提取斜率参数。

我目前在 hadleyverse 中使用 NSE 管道并想留在那里,但很高兴看到 base、data.table 或其他实现。我一直在看 purrr,但我不确定如何将过滤器映射到内联变量。

0 投票
0 回答
237 浏览

r - 使用 tidyr 和 purrr 在 R 中应用函数

我以前问过这个问题使用data.table. 我现在正尝试对tidyrand做同样的事情purrr

应用分段函数:

segmented包采用线性模型并应用分段线性回归。Vehicle.ID2我的数据集中有多个对象 ( ) pp。我创建了一个应用该函数的segmented函数:

变量svelTimedssvel在数据集中可用。

使用 tidyr 和 purrr 包:

现在,为了在多个Vehicle.ID2s 上应用上述功能,我做了以下操作:

你可以看到上面的错误。我已经尝试调整该功能,但它仍然给出错误。我怎样才能解决这个问题?

样本数据

我只包含 2 个数据框,Vehicle.ID2但它仍然很大。我不确定如何进一步缩短它以使其成为最小的示例