r - R gt 表格式:我怎样才能把我的长 gt 表变宽?
问题描述
我想采用 gt() 表并将其转换为“宽”格式,而不是按组级别的“长”格式。因此,作为使用 iris 数据集的示例:
library(dplyr)
library(gt)
iris %>%
group_by(Species) %>%
slice_max(Sepal.Length, n=5) %>%
group_by(Species) %>%
gt()
这会产生:
但是,我想要制作的是以下内容:
有没有办法做到这一点?
解决方案
我们可以通过数据重塑和gt
格式化功能的组合来做到这一点。我还重新格式化了列名以删除句点并将它们放在标题大小写中。
library(tidyverse)
library(gt)
iris %>%
group_by(Species) %>%
slice_max(Sepal.Length, n=5) %>%
group_by(Species) %>%
mutate(row=row_number()) %>%
pivot_longer(-c(Species, row)) %>%
mutate(Species = str_to_title(Species),
name = gsub("\\.", " ", name)) %>%
pivot_wider(names_from=c(Species, name), values_from=value) %>%
select(-row) %>%
gt() %>%
tab_spanner_delim(
delim="_"
) %>%
fmt_missing(
columns=everything(),
missing_text=""
)
推荐阅读
- docker - docker apt-get for ros-pcl 中的未确定错误 (109)
- java - 如何将 Extent 或 Junit 报告报告和集成到“For 循环”测试场景并添加断言报告 Pass 和 Fail
- android - Android:浮动操作按钮图像资源和图像可绘制问题
- python - pandas astype(float) 返回为 int
- php - 如何从 php 中的数组中获取名称属性值?
- javascript - 无法正确使用 .innerHTML 交换 div 元素
- php - 使用连接对带有两个表的 json 数据进行编码
- typescript - 类中的 TypeOrm 连接:“(预期”
- xcode - Xcode Playground 中源文件夹中公共代码文件的可访问性
- php - 使用准备好的语句在 MySql 中插入 (DATE(now))