Ранее я публиковал вопрос о распаковке списков и объединении .
Хотя ответы там правильно относились к моему первоначальному вопросу, с тех пор я обнаружил, что этот метод не работает на мой существенно более сложный реальный набор данных. Я чувствую, что совершенно новый вопрос необходим для адекватного поиска и обсуждения решения.
Мне нужен общий метод, который объединит списки и data.frames в один tibble
. Ниже приведено более сложное MRE в надежде, что кто-то найдет более общее решение.
tibble(person = c("Alice", "Bob", "Mary"),
colour = list(c("Red", "Green", "Blue"), c("Orange", "Green", "Yellow"), "Blue"),
drink = list(c("Pepsi", "Coke", "Fanta"), c("Pepsi"), c("Coke", "Fanta")),
scores = list(c("1", "17", "32"), c("1", "12"), c("5", "16")),
geometry = data.frame(type = "Point",
coordinates = c("1, 2", "2, 3", "1, 5")))
Ожидаемый результат:
tibble(person = c("Alice", "Bob", "Mary"),
colour = c("Red, Green, Blue", "Orange, Green, Yellow", "Blue" ),
drink = c("Pepsi, Coke, Fanta", "Pepsi", "Coke, Fanta"),
scores = c("1, 17, 32", "1, 12", "5, 16"),
geometry = c("Point 1, 2", "Point 2, 3", "Point 1, 5"))