r - 有没有办法为 Jira 样式表自定义 knitr::kable() 输出?
问题描述
我正在尝试创建与 Jira 表样式匹配的表输出格式。Jira 在输出中使用管道,knitr::kable(format = "pipe")
但在列标题方面有所不同。这是我当前使用该knitr
包的表格格式的示例:
data("BOD")
BOD %>% tibble::tibble() %>%
head(n = 10) %>%
knitr::kable(format = "pipe")
> | Time| demand|
|----:|------:|
| 1| 8.3|
| 2| 10.3|
| 3| 19.0|
| 4| 16.0|
| 5| 15.6|
| 7| 19.8|
Jira 没有使用线将标题与列内容分开,而是使用了稍微不同的语法:
|| Time|| demand||
| 1| 8.3|
| 2| 10.3|
| 3| 19.0|
| 4| 16.0|
| 5| 15.6|
| 7| 19.8|
目前,我正在删除 ›separation row‹ 并修改第一行:
BOD %>% tibble::tibble() %>%
head(n = 10) %>%
knitr::kable(format = "pipe") -> tmp
tmp <- tmp[-2]
tmp[1] <- stringr::str_replace_all(tmp[1], pattern = "\\|", replacement = "||")
tmp %>% writeClipboard() # Paste into Jira
# Output:
|| Time|| demand||
| 1| 8.3|
| 2| 10.3|
| 3| 19.0|
| 4| 16.0|
| 5| 15.6|
| 7| 19.8|
有没有办法自定义kable()
输出以实现 Jira 兼容性?
解决方案
可能有更好的方法,但现在您可以编写一个函数来返回 Jira 样式的降价表。例如:
library(tidyverse)
jirafy = function(x) {
x = knitr::kable(x)
x = x[-2]
x[1] = gsub("\\|", "||", x[1])
return(x)
}
data("BOD")
y = BOD %>%
tibble() %>%
head(n = 10) %>%
jirafy
writeClipboard(y)
|| Time|| demand|| | 1| 8.3| | 2| 10.3| | 3| 19.0| | 4| 16.0| | 5| 15.6| | 7| 19.8|
我没有使用过 Jira,但是,如果您还没有看到它,该JirAgileR
软件包旨在允许您在 R 中使用 Jira。也许JirAgileR
可以让您避免复制/粘贴,而是以编程方式执行所有操作。
您还可以向 的维护者提交功能请求JirAgileR
,以查看他们是否可以包含直接生成 Jira 样式的降价表的功能。
推荐阅读
- postgresql - pg_dump 和朋友:使用表空间进行备份和恢复
- c# - 将 ToolTip 绑定到自定义控件内的 DependencyProperty
- fiware - Fiware Orion 批量复制
- c# - 单元测试。为什么 Mock 在第二次循环迭代中返回不同的值?
- cypress - 为 cypress.io 的特定 its-Method 增加 Timeout
- ruby-on-rails - 如何使用rails将图像和视频上传和下载到s3 glacier
- android - LiveData onChanged 空结果
- c++ - 使用 C++Builder 获取 MAC 地址
- python - Django 脆皮表格
- unity3d - 刚体角色控制器