Как изменить кучу списков на обычные столбцы и сохранить имена столбцов

#r #list #tidyr #unnest

#r #Список #tidyr #unnest

Вопрос:

У меня есть следующие данные:

 dat <- structure(list(description = list("MedianTime_SpeederTemp", "MedianTime_SpeederTemp"),
                      variables   = list(list(src = "y", shown = TRUE),
                                         list(src = "x", shown = FALSE)),
                      id          = list(13190L, 14190L)),
                 row.names = c(NA, -2L), class = c("tbl_df", "tbl", "data.frame"))

# A tibble: 2 x 3
  description variables        id       
  <list>      <list>           <list>   
1 <chr [1]>   <named list [2]> <int [1]>
2 <chr [1]>   <named list [2]> <int [1]>
  

Как вы можете видеть, данные содержат три столбца списка. Второй столбец списка представляет собой вложенный список.

Итак, что я хочу сделать сейчас:

  1. отмените второй столбец «переменные», который, я знаю, я могу сделать с

    dat %>% unnest_wider(variables)

  2. Снимите список с двух других столбцов, чтобы они содержали «истинный» формат данных, то есть символьную строку для «описания» и номер, сохраненный в «id», сохраняя при этом имена столбцов. И здесь я борюсь. Я также попробовал unnest_wider столбец «описание», но он изменил имя столбца на «… 1», но я хочу сохранить его как «описание». Я знаю, что, вероятно, мог бы изменить это вручную впоследствии, но мои реальные данные содержат сотни таких столбцов, так что это не вариант.

Есть идеи?

Комментарии:

1. Разве просто использование unnest не работает?

2. Хорошо, иногда это проще, чем ожидалось. Не думал, что это сработает, и не пытался по этой причине. Спасибо за решение!