преобразовать список списков в рамки данных списка, где подсписки имеют разное количество строк - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь преобразовать список списков во фреймы данных списка. Однако подсписки имеют одинаковое количество столбцов, но «различное количество строк». Когда я запускаю команду as.data.frame (parent_list), она генерирует: «Ошибка в (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,: аргументы подразумевают различное число»). ошибок строк. Как я могу преобразовать это в список фреймов данных, каждый кадр имеет разное количество строк? Я пробовал решения с использованием разных потоков, но не повезло. Любая помощь будет оценена. Вот пример кода:

# making a list of 2 sub lists with different number of elements.
list <- list(A = c(1,2,3), B = c(1,2)) 

# trying to convert sub lists into data frames. 
list_to_dataframe <- as.data.frame(list) 
#> Error: "Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, 
#> : arguments imply differing number of rows: 3, 2"

Спасибо!

1 Ответ

0 голосов
/ 18 февраля 2020

Вы можете просто использовать функцию rbind, чтобы получить фрейм данных, но, как предложено выше, ваш список содержит два вектора неравной длины, поэтому вы получите желаемый результат с предупреждением:

list <- list(A = c(1,2,3), B = c(1,2)) 

# sub lists into data frames. 
do.call(rbind, list)

Вывод:

  [,1] [,2] [,3]
A    1    2    3
B    1    2    1

Предупреждающее сообщение: In (function (..., deparse.level = 1): число столбцов результата не кратно длине вектора (arg 2)

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