#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]>
Как вы можете видеть, данные содержат три столбца списка. Второй столбец списка представляет собой вложенный список.
Итак, что я хочу сделать сейчас:
-
отмените второй столбец «переменные», который, я знаю, я могу сделать с
dat %>% unnest_wider(variables)
-
Снимите список с двух других столбцов, чтобы они содержали «истинный» формат данных, то есть символьную строку для «описания» и номер, сохраненный в «id», сохраняя при этом имена столбцов. И здесь я борюсь. Я также попробовал
unnest_wider
столбец «описание», но он изменил имя столбца на «… 1», но я хочу сохранить его как «описание». Я знаю, что, вероятно, мог бы изменить это вручную впоследствии, но мои реальные данные содержат сотни таких столбцов, так что это не вариант.
Есть идеи?
Комментарии:
1. Разве просто использование
unnest
не работает?2. Хорошо, иногда это проще, чем ожидалось. Не думал, что это сработает, и не пытался по этой причине. Спасибо за решение!