r - Purrr:哪个嵌套数据框遇到了错误?

标签 r tidyverse purrr

这是一个嵌套数据。

df1 <- tibble::tribble(
   ~A,        ~B,  ~group,
   4L,         1L,  "A",
   7L,         4L,  "A",
  NA_integer_, 1L,  "B",
  NA_integer_, 10L, "B")

df2 <- df1 %>% group_by(group) %>% nest()

我需要使用 purrr:map 运行 lm。

map(df2$data, ~lm(A~B, data=.x))

找出哪些嵌套数据遇到错误的最佳方法是什么,即我如何知道 B 组有问题。

你能建议一个可能或安全地使用 purrr 的解决方案吗?

最佳答案

您可以在此处使用possible()。在我的示例中,如果模型有错误,我会返回 NA

首先,我创建posslm,使用otherwise告诉它如果使用lm后出现错误则返回什么。

posslm = possibly(lm, otherwise = NA)

然后您可以使用 mutate 中的 map 创建一个新的模型列。完成后,过滤到新变量的 NA 行,然后提取

mutate(df2, mod = map(data, ~posslm(A~B, data=.x))) %>%
    filter( is.na(mod) ) %>%
    pull(group)

[1] "B"

关于r - Purrr:哪个嵌套数据框遇到了错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651733/

相关文章:

r - Spearman-Brown 系数代码生成 N/A

r - 有条件地显示通过 withCallingHandlers 捕获的警告消息

r - 如何使用 purrr 和 tidyr 修改嵌套数据框中的列类型

r - tidyverse:绑定(bind)相同维度的列表元素

r - 如何提取两个不同时间值之间的营业时间

r - 频率表的累积概率图

python - 二维核密度图的主要差异 : Seaborn and R

r - write.csv() 极其意外的行为

r - 将虚拟编码矩阵转换为邻接矩阵

r - 如何使用 tidyverse 计算行和