首页 > 解决方案 > 如何在r中查看类似表格样式的列表

问题描述

我面临一个问题,即如何将列表中的数据显示为表格(数据框)格式,列表中的每个元素都作为字符向量,并且这些向量可能具有不同的长度,示例列表如下:

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)上显示结果如下(不需要严格相同但像表格样式)?
在此处输入图像描述

标签: rlistdatatableformattingr-markdown

解决方案


我认为主要问题是获取显示表格所需格式的数据。您可以在 R-markdown 文档中包含以下内容。

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)

在此处输入图像描述


推荐阅读