Список от списка до фрейма данных, когда внутренний список содержит вектор - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть список из 2 строк.Каждый элемент в списке также является списком:

[[1]]
[[1]]$column1
[1] "0"

[[1]]$column2
[1] "0" "1"

[[2]]
[[2]]$column1
[1] "1"

[[2]]$column2
[1] "0" "2" "3" "3"

Я хочу преобразовать это в фрейм данных следующим образом:

    column1     column2
1   0           "0" "1"
2   1           "0" "2" "3" "3"

Я пытался использовать

data.frame(matrix(unlist(my_list), nrow=2, byrow=T), stringsAsFactors=FALSE)

но он не понимает того факта, что значения столбца могут быть вектором.

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

1 Ответ

0 голосов
/ 18 сентября 2018

Другой вариант, используйте list.rbind из rlist

library(rlist)
as.data.frame(list.rbind(lst))
#  column1    column2
#1       0       0, 1
#2       1 0, 2, 3, 3

Без дополнительного пакета

as.data.frame(do.call(rbind, lapply(lst, rbind)))

data

lst <- list(structure(list(column1 = "0", column2 = c("0", "1")), .Names = c("column1", 
"column2")), structure(list(column1 = "1", column2 = c("0", "2", 
"3", "3")), .Names = c("column1", "column2")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...