список к фрейму данных с указанием имен столбцов - PullRequest
1 голос
/ 23 апреля 2020
a <- list()
a[["product_1"]]$sales <- 100
a[["product_1"]]$stock <- 50
a[["product_2"]]$sales <- 200
a[["product_2"]]$stock <- 80

Я хочу преобразовать в фрейм данных с columnames = "product" "sales" "stock"

1 Ответ

2 голосов
/ 23 апреля 2020

Опция map_dfr

library(purrr)
map_dfr(a, as_tibble, .id = 'product')

Или с bind_rows

library(dplyr)
bind_rows(a, .id = 'product')
# A tibble: 2 x 3
#  sales stock product  
#* <dbl> <dbl> <chr>    
#1   100    50 product_1
#2   200    80 product_2

Или с использованием rbindlist из data.table

library(data.table)
rbindlist(a, idcol = 'product')
#     product sales stock
#1: product_1   100    50
#2: product_2   200    80

Или с base R

do.call(rbind,  Map(cbind, lapply(a, as.data.frame), product = names(a)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...