Как я могу преобразовать список списков во фрейм данных для экспорта? - PullRequest
1 голос
/ 07 февраля 2020

Я создал список списков, содержащих данные для ручного просмотра. Подсписки представляют собой комбинацию текстовых и числовых данных c, однако все они обрабатываются как символьные данные R. Каждый подсписок содержит различное количество значений. Например,

list_of_lists[[1]]

может возвращать

[[1]]
[1] "company name" "company name" "29" "30"

, а

list_of_lists[[2]]

может возвращать

[[2]]
[1] "company name" "company name" "company name"
[4] "1253"         "4980"         "4981"

В моем списке 359 списков списков, и я хотел бы экспортировать их все в Excel для ручного просмотра. Проблема, с которой я сталкиваюсь, заключается в преобразовании моего списка списков в фрейм данных, который я могу экспортировать в Excel, особенно из-за того, что все мои списки имеют разную длину. Мне не нужно поддерживать типы данных или что-то в этом роде, просто помогите получить данные, чтобы они отличались, сохраняя читабельность

Спасибо!

1 Ответ

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

Если ваши данные выглядят как

list_of_lists <- list(
  c("company name", "company name", "29", "30"),
  c("company name", "company name", "company name", "1253", "4980", "4981")
)

, тогда вы можете попробовать

do.call(rbind, lapply(list_of_lists, function(l) matrix(l, ncol=2)))
#      [,1]           [,2]  
# [1,] "company name" "29"  
# [2,] "company name" "30"  
# [3,] "company name" "1253"
# [4,] "company name" "4980"
# [5,] "company name" "4981"

, чтобы начать объединять их вместе.

Я предположил:

  1. все происходит парами, всегда четное количество элементов, поэтому сначала вы добавляете все метки, а затем их значения; и
  2. , поскольку все является строкой, то матрица в конце не является проблемой; вы всегда можете сделать as.data.frame, переименовать столбцы, а затем преобразовать второй столбец в числовое / целое число, если это применимо.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...