Как просмотреть список как стиль таблицы в r - PullRequest
1 голос
/ 13 февраля 2020

Я сталкиваюсь с проблемой, касающейся представления данных в виде списка в виде таблицы (фрейма данных), в списке каждого элемента как символьного вектора, и эти векторы могут иметь разную длину, пример списка приведен ниже:

sample_list <- list("Matched x" = c("Ella", "Mila"), "Unmatched x" = c("Isla"), "Matched y" = c(), "Unmatched y" = c("Emma", "Olivia"))
sample_list

Обычно, если вы используете str(sample_list), он напечатает, как показано ниже:

> str(sample_list)
List of 4
 $ Matched x  : chr [1:2] "Ella" "Mila"
 $ Unmatched x: chr "Isla"
 $ Matched y  : NULL
 $ Unmatched y: chr [1:2] "Emma" "Olivia"

Есть ли способ показать результат на сгенерированном R markdown (.Rmd файле) файл (например, .html / .pdf), как показано ниже ( не нужно строго такой же, но как стиль таблицы )?
enter image description here

1 Ответ

4 голосов
/ 13 февраля 2020

Я думаю, что основной проблемой является получение данных в необходимом формате для отображения таблицы. Вы можете включить следующее в документ R-уценки.

sample_list <- list("Matched x" = c("Ella", "Mila"), "Unmatched x" = c("Isla"), 
               "Matched y" = c(), "Unmatched y" = c("Emma", "Olivia"))

max_len <- max(lengths(sample_list))
df <- do.call(cbind.data.frame, c(lapply(sample_list, function(x) 
               c(x, rep('', max_len - length(x)))), stringsAsFactors = FALSE))
knitr::kable(df)

enter image description here

...