12得票5回答
在R数据框中,将dplyr函数映射到每个变量对的组合。

我想在R中将一个函数映射到数据框中每个变量的组合对,返回每个组合对的函数输出的数据框。我可以这样手动完成:library(tidyverse) df <- tibble(a = c(1, 2), b = c(4, 3), c = c(5, 7)) f <- function(a...

7得票3回答
提取模型摘要并将其存储为新列

我对purrr编程范式感到很陌生,目前正在努力学习。 通过参考一些资料,我已经成功地将数据框嵌套,对嵌套数据运行了线性模型,并从每个lm中提取了一些系数生成摘要。现在我想做的最后一件事是从摘要中提取“r.squared”(这应该是我尝试实现的最简单的部分),但由于某种原因,我无法得到正确的语...

16得票7回答
整洁的宇宙:将相同维度的列表元素绑定在一起

使用reduce(bind_cols),可以组合相同维度的列表元素。然而,我想知道如何仅组合具有相同维度(可能以某种方式指定维度)的列表元素,即使列表中存在不同维度的元素。 library(tidyverse) df1 <- data.frame(A1 = 1:10, A2 = 10...

44得票4回答
purrr map嵌套for循环的等效方法

什么是purrr :: map的等效操作:for (i in 1:4) { for (j in 1:6) { print(paste(i, j, sep = "-")) } } lapply(1:4, function(i) lapply(1:6, function(j)...

16得票2回答
R - 使用dplyr和purrr并行学习多个模型

这是关于学习多个模型的一个后续问题,原问题可以参考此链接。 应用场景为每个主题有多个观察值,我想为每个观察值训练一个模型。可以参考 Hadley 的优秀演示文稿了解如何实现。 简而言之,可以使用 dplyr 和 purrr 实现:library(purrr) library(dplyr) ...

9得票6回答
将分组的tibble转换为命名列表

我觉得在tidyverse中可能有比使用for-loop更好的方法。从一个标准的tibble/dataframe开始,创建一个列表,其中列表元素的名称是一列(group_by?)的唯一值,而列表元素则是另一列的所有值。 my_data <- tibble(list_names = ...

59得票6回答
像purrr中的apply函数一样进行逐行迭代

我该如何使用purrr::map实现逐行迭代? 以下是使用标准逐行应用的方法。df <- data.frame(a = 1:10, b = 11:20, c = 21:30) lst_result <- apply(df, 1, function(x){ ...

11得票1回答
purrr语法的清晰度

在使用purrr时,我经常发现自己在变量命名方面做出错误的选择。 例如,请参考purrr的github页面上的代码。 library(purrr) mtcars %>% split(.$cyl) 在split(.$cyl)中,我经常犯使用split(cyl)的错误。这似乎是...

14得票2回答
使用purrr和dplyr中的mutate()向数据框列表中添加新变量。

我知道在SO上有很多相关的问题,但我正在寻找一个purrr解决方案,而不是apply函数列表或cbind / rbdind(我想借此机会更好地了解purrr)。 我有一个数据框列表,我想为列表中的每个数据框添加一个新列。该列的值将是数据框的名称,即列表中每个元素的名称。 这里有一个类似...

11得票2回答
如何“展开”列表列?

考虑这个简单的例子mydf <- data_frame(regular_col = c(1,2), normal_col = c('a','b'), weird_col = list(list('hakuna',...