根据单元格的内容在 R 中取消嵌套

Unnest in R conditional on the cell's content

main dataframe has a column "passings". It is the only nested variable in the main dataframe. Inside it, there are dataframes (an example a nested cell)。在嵌套单元格中,行数不同,但列数相同。列名是 "date" 和 "title"。我需要的是 获取相应的日期 并将其作为新变量放入主数据框中 if title is "Закон прийнято" ("A passed law" - 翻译)。

我是编码新手。 我会感谢你的帮助!

dataframe an example of a dataframe within a nested cell

这是一个选项,我们用 map 遍历 'passings' list 列(根据图像,它将是 list 的 2 列 data.frame), filter 'title' 是 "Закон прийнято" 的行(假设每行只有一个值)和 pull 'date' 列来创建一个原始数据集

中的新列 'date'
library(dplyr)
library(purrr)
df1 %>%
   mutate(date = map_chr(passings, ~ .x %>%
                                       filter(title == "Закон прийнято") %>%
                                       pull(date)))

#   id passed                                     passings       date
#1 54949   TRUE 2015-06-10, 2015-06-08, abcb, Закон прийнято 2015-06-08
#2 55009   TRUE  2015-06-10, 2015-09-08, bcb, Закон прийнято 2015-09-08

注意:它按预期工作。

数据

df1 <- structure(list(id = c(54949, 55009), passed = c(TRUE, TRUE), 
    passings = list(structure(list(date = c("2015-06-10", "2015-06-08"
    ), title = c("abcb", "Закон прийнято")), class = "data.frame", row.names = c(NA, 
    -2L)), structure(list(date = c("2015-06-10", "2015-09-08"
    ), title = c("bcb", "Закон прийнято")), class = "data.frame", row.names = c(NA, 
    -2L)))), row.names = c(NA, -2L), class = "data.frame")