У меня есть список списков:
> dput(results)
list(list(type = "sales", value = 9L, all_time_value = 833L),
list(type = "gmv", value = 3644.21716861478, all_time_value = 344375.321075978),
list(type = "aov", value = 404.913018734976, all_time_value = 413.415751591811),
list(type = "acr", value = 0.108433734939759, all_time_value = 0.149283154121864),
list(type = "initiated-chats", value = 89L, all_time_value = 10299L),
list(type = "chats-claimed", value = 82L, all_time_value = 5497L),
list(type = "chats-per-available-user", value = 3.15384615384615,
all_time_value = 57.2604166666667), list(type = "rating",
value = 5L, all_time_value = 4.58640776699029))
Что структурировано так:
> library(dplyr)
> results %>% str
List of 8
$ :List of 3
..$ type : chr "sales"
..$ value : int 9
..$ all_time_value: int 833
$ :List of 3
..$ type : chr "gmv"
..$ value : num 3644
..$ all_time_value: num 344375
$ :List of 3
..$ type : chr "aov"
..$ value : num 405
..$ all_time_value: num 413
$ :List of 3
..$ type : chr "acr"
..$ value : num 0.108
..$ all_time_value: num 0.149
$ :List of 3
..$ type : chr "initiated-chats"
..$ value : int 89
..$ all_time_value: int 10299
$ :List of 3
..$ type : chr "chats-claimed"
..$ value : int 82
..$ all_time_value: int 5497
$ :List of 3
..$ type : chr "chats-per-available-user"
..$ value : num 3.15
..$ all_time_value: num 57.3
$ :List of 3
..$ type : chr "rating"
..$ value : int 5
..$ all_time_value: num 4.59
Этот список извлекается из бэкэнд-системы и всегда будет содержать одни и те же метрики, но эти значения могут не всегда входить в этом конкретном порядке.
Я хочу извлечь элементы каждого списка в один фрейм данных, состоящий из трех строк (type
, value
, all_time_value
) и восьми столбцов, причем каждый столбец имеет имя в соответствии с соответствующим значением в $ type
.
Как я могу это сделать?