在 rmarkdown pdf 输出中包装比例表的列名称的有效方法

2024-01-01

我正在使用提问者包制作行比例的加权表。当列名太长时,我想将它们换行。因为我正在制作数百个表,所以该解决方案需要适用于具有不同列数的表。我还想避免将所有列设置为特定宽度。理想情况下,短列名称将保持其正常宽度,而超过指定最大长度的名称将被换行。

以下是我迄今为止尝试过的一系列解决方案,编写为 .Rmd 文件:

---
title: "Example"
output: pdf_document
---

```{r setup, include=FALSE}
library(questionr)
library(knitr)
data("happy")
```


A simple weighted table with the "kable" method:
```{r table1, echo=TRUE}
kable(wtd.table(happy$degree, happy$happy, weights = happy$wtssall),
  digits = 0)
```

The same "kable" table, but with row proportions:
```{r table2, echo=TRUE}
kable(rprop(wtd.table(happy$degree, happy$happy, weights = happy$wtssall)),
  digits = 0)
```

I want to wrap the column headers, but kableExtra::column_spec() gives an error.
Even if it worked it requires manually setting each column width.:
```{r table3, echo=TRUE}
library(kableExtra)
kable(rprop(wtd.table(happy$degree, happy$happy, weights = happy$wtssall)),
  digits = 0) %>%
  column_spec(column = 2, width = ".25in")
```

Maybe str_wrap will do the trick?
```{r table4, echo=TRUE}
library(stringr)
kable(rprop(wtd.table(happy$degree, str_wrap(happy$happy, width = 8),
                  weights = happy$wtssall)),
  digits = 0)
```

Giving up on knitr::kable(), maybe pander has a solution.
Here is the simple weighted frequency table.
```{r table5, echo=TRUE, results='asis'}
library(pander)
pandoc.table(wtd.table(happy$degree, str_wrap(happy$happy, width = 8),
                  weights = happy$wtssall),
         split.cells=8)
```

So far, so good. But it doesn't work for the table of row proportions,
because the rprop table is of class ([1]"proptab" [2]"table")
while the wtd.table() is just class "table"
```{r table6, echo=TRUE, results='asis', error=TRUE}
pandoc.table(rprop(wtd.table(happy$degree, str_wrap(happy$happy, width = 8),
                  weights = happy$wtssall)),
         split.cells=8)
```

But wait! I can pass a kable() product as pandoc output.
This table looks great, but I don't think I pass any
pandoc.table() arguments like "split.cells=8" to it.
```{r table7, echo=TRUE, results='asis', error=TRUE}
kable(rprop(wtd.table(happy$degree, happy$happy, weights = happy$wtssall)),
  digits = 0, format = "pandoc")
```

And here is what the output of that .Rmd file looks like:enter image description here


At least, for kableExtra, you need to specify format in your kable function to be either latex or html. enter image description here

为了使其动态化,您可以在进入 kable 之前将表保存到变量中,并在中使用 2:(ncol(your_table) + 1)column_spec函数(column_name 列+1)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 rmarkdown pdf 输出中包装比例表的列名称的有效方法 的相关文章

  • R 中多类分类的 ROC 曲线

    我有一个包含 6 个类别的数据集 我想绘制多类别分类的 ROC 曲线 Achim Zeileis 给出的第一个答案非常好 R中使用rpart包的ROC曲线 https stackoverflow com questions 30818188
  • 在闪亮的应用程序和多个页面中进行身份验证

    在我正在开发的系统中 我有 3 个不同的参与者 用户 管理员 支持团队 使用 Shiny App 我想知道如何向这三个参与者进行身份验证 每个参与者只能访问他们的页面 我发现使用闪亮的服务器专业版可以实现这一点 但它不是免费的 有什么方法可
  • 将值添加到 rCharts hPlot 工具提示

    我想通过 rCharts 向标准 Highcharts 工具提示添加一些额外的值 示例代码 require rCharts df lt data frame x c 1 5 y c 5 1 z c A B C D E name c K L
  • ggmap 错误:GeomRasterAnn 是使用不兼容版本的 ggproto 构建的

    我正在使用 ggmap 并收到以下错误 Error GeomRasterAnn was built with an incompatible version of ggproto Please reinstall the package t
  • 如何处理重叠的因子水平? (例如,生成表格和图表时)

    我面临一个数据集的问题重叠因素水平 我想按因素级别生成时间线 条形图和统计数据 但是 我希望因子水平是模棱两可的 这意味着属于多个级别的观察结果应该在图中出现多次 这是我的数据结构的示例 head lt c ID YEAR BRAZIL G
  • 在knitr中打印漂亮的交叉表

    我想要的是使用 R Markdown 和 knit 从 RStudio 打印漂亮的交叉表 无论是在 pdf 文件中 还是在 html 文件中 我怀疑我错过了一些非常明显的东西 因为我不敢相信这是如此困难 我使用 xtabs 或 ftable
  • 从 Cox PH 模型预测概率

    我正在尝试使用 cox 模型来预测时间 称为停止 3 后失败的概率 bladder1 lt bladder bladder enum lt 5 coxmodel coxph Surv stop event rx size number cl
  • 用于更改向量中元素顺序的闪亮小部件

    在很多网站上 您都有一个拖放界面来更改列表中元素的顺序 我正在寻找类似的东西闪亮 我希望用户能够拖放列表中的元素 通过更改顺序来更改优先级 现在我有一个滥用的解决方案selectizeInput 这是可行的 但当选择列表变得更大时 它很快就
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t
  • 以计数矩阵作为响应的多项式

    根据帮助multinom 包裹nnet 响应应该是一个因子或具有 K 列的矩阵 它将被解释为每个 K 类的计数 我尝试在第二种情况下使用此函数 但出现错误 这是我所做的示例代码 response lt matrix round runif
  • 如何用月份的全名替换数字月份

    使用 tidyverse 包将月份的列更改为完整的实际月份名称 请记住 尽管这些数据只有四个月 但我的真实数据集包含一年中的所有实际月份 我是 tidyverse 的新手 mydata lt tibble camp c Platinum 2
  • 如何对工作区中的元素运行循环?

    gt ls 1 A anorex 1 anorexia B byMonth C clotting 8 counts d D d AD DelayByDay delayed glm D93 15 glmout groups h housing
  • 使用 plyr daply 将数据帧转换为矩阵

    我正在尝试使用daply函数在plyr包 但我无法让它正确输出 尽管组成矩阵的变量是数字 但矩阵的元素是列表 而不是变量本身 例如 以下是一小部分数据 Month Vehicle Samples 1 Oct 10 31057 256 2 O
  • 如何将环境变量传递给shinyapps

    我想将安全参数传递给shinyapps io部署 以便我的应用程序可以通过以下方式获取它们 Sys getenv PASSWORD X 我找不到任何相关内容deployApp函数在rsconnect包裹 您可以使用Renviron网站 or
  • 访问动态创建的 Shiny 模块的返回值

    我正在寻找构建一个闪亮的应用程序 它动态创建返回简单表单的模块 通过 callmodule 我有两个未解决的问题 希望得到一些指导 首先 当向用户提供多个表单 通过单击按钮 时 先前呈现的表单上的值将恢复为默认值 如何停止这种行为 以便值保
  • 如何在折线图中显示 Sep-12 格式的数据并抑制网格线和灰色背景?

    我正在努力使日期格式正确 数据已经是melt 格式 数据中有四个变量碰巧共享相同的数据 我只是想绘制一个简单的四线折线图 每个变量作为一条单独的线 并将 Sep 12 显示为最新数据点 我正在使用旧的 ggplot 请随意 我有两个问题 第
  • 如何缩放(标准化)每列内的 ggplot2 stat_bin2d 值(按 X 轴)

    我有一个 ggplot stat bin2d 热图 library ggplot2 value lt rep 1 5 1000 df lt as data frame value df group lt rep 1 7 len 5000 d
  • 计算数据帧 R 中字符串的频率

    我想计算数据框中某些字符串的频率 strings lt c pi pie piece pin pinned post df lt as data frame strings 然后我想计算字符串的频率 counts lt c pi in pi
  • dplyr 总结小计

    Excel 中数据透视表的一大优点是它们会自动提供小计 首先 我想知道 dplyr 中是否已经创建了任何可以实现此目的的东西 如果没有 实现它的最简单方法是什么 在下面的示例中 我按气缸和化油器的数量显示了平均排量 对于每组气缸 4 6 8
  • R 编程中的字符串分割

    目前 下面的脚本将组合的项目代码拆分为特定的项目代码 rule2 lt c MR df 1 lt test grep paste rule2 sep collapse test Name y SpaceName 1 lt function

随机推荐

  • 如何更改/覆盖 Vuetify js 中禁用字段的默认颜色?

    默认情况下 vuetify 对禁用的文本字段 项目应用浅灰色阴影 我如何将这种颜色覆盖为我想要的颜色 目前我正在使用禁用选择器 disabled color 000000 important 这仅有助于更改文本字段文本颜色的颜色 我的表单中
  • C 的 strtok() 和只读字符串文字

    char strtok c har s1 const char s2 重复调用此函数将字符串 s1 分解为 标记 即 字符串被分成子字符串 每个都以 0 结尾 其中 0 替换任何字符 包含在字符串 s2 中 第一次通话 使用要标记为 s1
  • Android - 如何以编程方式将证书存储在密钥库中?

    我正在制作一个金融交易 Android 应用程序 它需要 SSL 身份验证 我成功地完成了它 Android 和 Tomcat 之间的握手 我使用 keytool 和 openSSL 生成服务器和客户端证书 Tomcat 证书格式为 JKS
  • HTTP_HOST 服务器变量是否始终已定义?

    是服务器变量HTTP HOST总是为所有服务器定义 或者例如在 IIS 中使用其他名称定义 甚至根本没有定义 另外 该值总是被定义的 或者某些主机没有定义该值 还有其他方法可以检索该值吗 引用手册 HTTP HOST 是 Contents
  • 在多面 ggplot 中自动勾选最大值和最小值

    我试图在多面 ggplot 中标记每个 x 轴的最大值和最小值 我有几个具有不同 x 尺度和相同 y 尺度的面 并且 x 轴刻度标签相互重叠 我正在寻找一种方法来标记每个方面的最小值和最大值 而不是手动确定每个方面 x 轴的限制和中断 使用
  • 如何在 java 正则表达式中转义美元和大括号(即 ${title})?

    即你如何做到这一点 String string Sample string with title to be inserted string replaceAll title title 以下所有情况都会导致错误 string replac
  • 用最少的代码字符创建、排序和打印 100 个随机整数的列表

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 您可以编写最少的代码来创建 排序 升序 和打印 100 个随机正整数的列表 我所说的最少代码量
  • 如何减少 TensorFlow 循环中的内存消耗?

    我在 TensorFlow 中有一个循环 如下所示 with tf device gpu 1 losses for target output in zip targets lstm outputs logits tf matmul W o
  • 输入触发按键事件两次

    这个问题之前已经被问过 回答过 大部分 但是我尝试了三件事来阻止事件冒泡 但没有任何效果 return false e stopPropagation e preventDefault 返回 false 应该照顾其他两个 对吗 这是 HTM
  • SWXMLHash 解析数据对象

    我尝试与SWXMLHash为了模拟从网站下载的数据进行解析 我在 Playground 中创建了一个包含数据的文件 我收到的回复是URLSessionManager数据看起来类似于 3c3f786d 6c207665 7273696f 6e
  • Gmail API 返回 403 错误代码和“<用户电子邮件> 的委派被拒绝”

    检索邮件时 一个域的 Gmail API 失败并出现以下错误 com google api client googleapis json GoogleJsonResponseException 403 OK code 403 errors
  • 使用 Objective c 上传视频

    我现在要构建一个非常复杂 至少对我来说 的应用程序 基本应用程序如下 一个带有两个选项卡的选项卡栏应用程序 一个用于本地视频 另一个用于流媒体视频 在这个阶段很简单 但现在我必须将视频 从 iPhone 图库中获取或由用户拍摄 上传到服务器
  • 使用node或express返回json格式的正确方法

    我的问题实际上是复制自使用 Node 或 Express 返回 JSON 的正确方法 https stackoverflow com questions 19696240 proper way to return json using no
  • 如何更改 ImageView 的图像? [复制]

    这个问题在这里已经有答案了 我刚刚开始学习android 我不知道如何改变一个人的形象ImageView 即它有一些在布局中设置的图像 但我想通过编码更改该图像我应该怎么做 这是 xml 文件
  • 带偏移量的 Linux 头/尾

    Linux 中有没有一种方法可以询问 Head 或 Tail 但需要忽略额外的记录偏移量 例如 如果文件example lst包含以下内容 row01 row02 row03 row04 row05 我用head n3 example ls
  • 在页面加载时使 div 晃动?

    有没有办法让 div 框在页面加载时抖动 就像也许只有一次或两次 Update 在这个 URL 上 我的页面加载仍然无法正常工作 我做错了什么 http tinyurl com 79azbav http tinyurl com 79azba
  • React 渲染组件数组

    快问 有人知道如何渲染组件数组吗 试图让开发人员更容易地更改特定组件 它就像一个仪表板 组件列表文件 import React from react export default
  • React hooks 常量的 useMemo 与 useState

    使用 React hooks 定义计算 初始化 常量可以通过两种功能相同的方式执行 我不想讨论这个用例 但足以说明 在某些情况下 可以从初始 props 或状态中派生出一个常量值 而这些值预计不会改变 想想路由数据 绑定调度等 First
  • 无法快速解码 json

    这是http客户端 打印字符串时响应是正确的 但在尝试解码时显示转换错误 let task URLSession shared dataTask with request data response error in Check for E
  • 在 rmarkdown pdf 输出中包装比例表的列名称的有效方法

    我正在使用提问者包制作行比例的加权表 当列名太长时 我想将它们换行 因为我正在制作数百个表 所以该解决方案需要适用于具有不同列数的表 我还想避免将所有列设置为特定宽度 理想情况下 短列名称将保持其正常宽度 而超过指定最大长度的名称将被换行