R Удалить список и назначить позицию элемента - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть список, в котором я показываю элемент 999.

enter image description here

Мне нужно преобразовать его в таблицу данных, в которой номер элемента назначается следующим образом:

enter image description here

Пробовал разные возможные решения, но, похоже, ничего не работает должным образом.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Это работает еще лучше:

df <- rbindlist(l, fill = TRUE, use.names = TRUE, idcol = "element_number")
0 голосов
/ 05 ноября 2018

Вы можете использовать do.call('rbind', ...) для получения кадра данных из вашего списка и rep() для индексов списка с аргументом times, установленным в sapply(l, nrow) (где l - имя вашего списка), чтобы получить желаемые номера элементов:

# Make an example list
l <- list(data.frame(a = 1:3, b = 4:6), data.frame(a = 7:8, b = 8:9))
l
#> [[1]]
#>   a b
#> 1 1 4
#> 2 2 5
#> 3 3 6
#> 
#> [[2]]
#>   a b
#> 1 7 8
#> 2 8 9
# Get a dataframe from it
df <- do.call('rbind', l)
# Add the element numbers by repeating the indices of the list,
# each as many times as the number of rows in that element's dataframe
df$element_number <- rep(seq_along(l), times = sapply(l, nrow))
df
#>   a b element_number
#> 1 1 4              1
#> 2 2 5              1
#> 3 3 6              1
#> 4 7 8              2
#> 5 8 9              2

Создано в 2018-11-04 пакетом Представ (v0.2.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...