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