У меня есть два списка, которые я хотел бы объединить в массив данных. Списки следуют этой основной логике. list1 содержит названия стран, а list2 содержит значения, извлеченные из каждого значения в list1.
list1<-list("A", "C", "B")
list2<-list(c("la la", "po sdfejn kfgndñflgn"), "characther(0)", c("4 5","baby", "yeah")) # note that characther(0) means that there is no data
Результат, который я хочу, таков:
output <- data.frame( V1 = c(rep("A",2), "C", rep("B",3)), V2 = c("la la", "po sdfejn kfgndñflgn", "characther(0)", "4 5", "baby", "yeah"))
Я использовал коды, которые я видел на этой странице, такие как: solution1 <- do.call(rbind, Map(data.frame, a = list1, b= list2))
, как я часто это делаю. Этот код работает для примера. Однако при использовании этой формулы для больших списков, над которыми я работаю, появляется следующее сообщение об ошибке:
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names =
TRUE, : arguments imply differing number of rows: 1, 0
Я пытался unlist(list1), unlist(list1)
, но это не работает. Если оба списка идентичны, где на самом деле источник проблемы и как я могу ее решить, чтобы получить желаемый результат?