寻找有关格式化Rmarkdown数据透视表的建议

问题描述

我有一些数据,例如下面的示例,其中我使用基本包“表”创建了具有三个对象的数据透视表。该表格以值列表的形式打印了我希望如何查看它,但是它不是格式化的演示文稿质量。我想要一个pack_row(如果我能使它工作),其中标题为“国家”,而“轨道”,“频率”和“类型”在2列和1行中。如果我从中制作一个数据框,那么我会打印6次“ Country”(国家),而只希望有一个标题

datafram vs. table,prefer table output in Rmarkdown

这是一些可复制的代码。我的作品有大约60个“国家/地区”,这是一个最小的示例:

{r initial}
library(knitr)
library(kableExtra)
#####
df <- data.frame(Country = c("AUS","AUS","GER","GER"),Orbit = c("GEO","LEO","GEO","LEO"),Type = c("TBD","Payload","Debris","Payload"),Freq = c(1,2,4,8)
                 )
tbl <- table(df$Type,df$Orbit,df$Country,exclude = NA)
output <- as.data.frame(table(df$Type,exclude = NA) )
colnames(output) <- c("Type","Orbit","Country","Frequency")
output
kable(output)

关于如何将其很好地格式化为RMarkdown html输出的任何想法? 谢谢!

解决方法

HTML表格式很多,DT包是一种具有很多自定义功能的简单HTML表。这是您使用DataTable()发布的示例,它内置了简单的升/降函数。

---
title: "Untitled"
author: "SO Answer"
date: "11/10/2020"
output: html_document
---

```{r}
library(knitr)
library(kableExtra)
library(DT)
#####
df <- data.frame(Country = c("AUS","AUS","GER","GER"),Orbit = c("GEO","LEO","GEO","LEO"),Type = c("TBD","Payload","Debris","Payload"),Freq = c(1,2,4,8)
                 )
tbl <- table(df$Type,df$Orbit,df$Country,exclude = NA)
output <- as.data.frame(table(df$Type,exclude = NA)     )
colnames(output) <- c("Type","Orbit","Country","Frequency")
output
datatable(output)
```