r - 如何在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
)上显示结果如下(不需要严格相同但像表格样式)?
解决方案
我认为主要问题是获取显示表格所需格式的数据。您可以在 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)
推荐阅读
- php - .htaccess 在 root 和 public 中的帮助
- python - 如何将一个数组插入另一个只有零的数组(使用 Numpy)
- wordpress-rest-api - 如何对特定分类术语使用“getEntityRecords”
- qt - QML ScrollView 不滚动
- python - 如何在不使用 numpy 循环的情况下使用两个二维数组来形成一个 3 维数组?
- c# - C# - 处理 DST 过渡日的主要时间范围 - 提供的 DateTime 表示无效时间
- java - 打印删除第一个 'c' 'C' 'd' 或 'D' 的 aLine
- email - 使用标题模板时如何在magento 2中编辑电子邮件的电子邮件预览文本
- c# - 如何在 C# 中仅使用小时和分钟在两个 DateTime 之间添加条件?
- fortran - 如何计算文件中的列数?