如何在xtable的align参数中设置列宽和文本对齐方式?

2023-12-11

我想保留我设置的列的宽度align的论证xtable我想将所有数字列向右对齐,其他数字列向左对齐,标题向中间对齐。

我找到了一些使用直接写入表格的解决方案rnw文件,但我想从文件加载数据,因为我的表很大,并且可以在创建knitr文档期间发生变化。

代码(我用的是iris本例中的数据集而不是我自己的数据):

<<table_symbionts_chunk, results="asis", echo=FALSE>>=
    library(xtable)

        irisX <-print (xtable (iris,
                                     digits=rep(0,6),
                                     align= c("p{0.015\\textwidth}|", 
                                              "p{0.37\\textwidth}|", 
                                              "p{0.12\\textwidth}|", 
                                              "p{0.08\\textwidth}|", 
                                              "p{0.02\\textwidth}|", 
                                              "p{0.35\\textwidth}|")))
        @

这个问题的棘手部分涉及 LaTeX。请注意,我的 TeX 代码是基于 tex.stackexchange 上的这两个问题:

  • 如何使用文本 raggedright/centered/raggedleft 创建固定宽度的表格列?
  • 表格中指定宽度的中心列(表格环境)?

问题的一部分很容易回答:如何设置固定的列宽,但将所有数字列向右对齐,将所有其他列向左对齐?

这只是正确的列类型的问题(请参阅上面链接的答案)。解决方案可能是:

\documentclass{article}

\usepackage{array}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}

\begin{document}
<<table_symbionts_chunk, results="asis", echo=FALSE>>=
library(xtable)

irisShort <- head(iris)
print(xtable(irisShort,
             digits=rep(0,6),
             align=c(
               "p{0.015\\textwidth}|",
               "R{0.37\\textwidth}|",
               "R{0.12\\textwidth}|",
               "R{0.08\\textwidth}|",
               "R{0.02\\textwidth}|",
               "p{0.35\\textwidth}|")))
@
\end{document}

As p{}默认情况下,列是左对齐的,我们只需要为具有固定宽度的右对齐列定义一种新的列类型:R.

请注意,列名称重叠,但这是由于问题中指定的宽度造成的。


将列名称居中仅需要第一行的不同理由。这可以通过使用来实现\multicolumn命令。然而,由于我们想要将 LaTeX 代码添加到列名称中,因此我们还必须防止xtable使用清理列名sanitize.colnames.function = identity:

irisShort2 <- irisShort
colnames(irisShort2) <- paste("\\multicolumn{1}{c|}{", colnames(irisShort2), "}")

print(xtable(irisShort2,
             digits=rep(0,6),
             align=c(
               "p{0.015\\textwidth}|",
               "R{0.37\\textwidth}|",
               "R{0.12\\textwidth}|",
               "R{0.08\\textwidth}|",
               "R{0.02\\textwidth}|",
               "p{0.35\\textwidth}|")),
      sanitize.colnames.function = identity)

paste("\\multicolumn{1}{c|}{", colnames(irisShort2), "}")使用原始列名,但将它们括在\multicolumn{1}{c|}{colname}它提供居中的列名称。

请注意,由于第一行中的列类型已更改,现在列名称不再重叠(相反,表太宽)。


The two code snippets in this answer produce the following output: enter image description here

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

如何在xtable的align参数中设置列宽和文本对齐方式? 的相关文章

  • 将循环转换为并行计算的函数

    我正在使用 R 编程语言 我遇到这个问题 我试图找出两个 shapefile 之间的成对交集 即第一个 shapefile 中的每个多边形与第二个 shapefile 中的所有多边形相交的百分比 我想我找到了解决这个问题的基本方法 Load
  • 使用 R Shiny 从 XLConnect 下载 Excel 文件

    有没有人尝试过使用 R Shiny 中的下载处理程序通过 XLConnect 下载新创建的 Excel 文件 在 ui R 中有一行不起眼的行 downloadButton downloadData Download 在 server R
  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • decompose() 的周期太少[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 错误看起来像这样 decompose
  • 基于另一个数据集获取数据集的子集

    假设我有一个数据集 即 dat1 ID block plot SPID TotHeight 1 1 1 4 44 5 2 1 1 4 51 3 1 1 4 28 7 4 1 1 4 24 5 5 1 1 4 27 3 6 1 1 4 20
  • R 中具有稳健回归的异常值

    我正在使用lmrobR 中的函数使用robustbase用于稳健回归的库 我会把它用作 rob reg lt lmrob y 0 dat method MM control a1 当我想返回我使用的摘要时summary rob reg 稳健
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 将年月格式转换为 POSIXct [重复]

    这个问题在这里已经有答案了 我有一些年月形式的数据 我想将其格式化以用于绘图ggplot date lt c 2016 03 2016 04 2016 05 2016 06 2016 07 2016 08 2016 09 2016 10 2
  • LDA with topicmodels,如何查看不同文档属于哪些主题?

    我正在使用 topicmodels 包中的 LDA 我已经在大约 30 000 个文档上运行它 获取了 30 个主题 并获得了主题的前 10 个单词 它们看起来非常好 但我想看看哪些文档属于哪个主题的概率最高 我该怎么做 myCorpus
  • 使用 broom 和 tidyverse 总结 r 平方游戏

    我发布了一个问题here https stackoverflow com questions 48627287 getting adjusted r squared value for each line in a geom smooth
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 如何使用 R 计算成为列表中中位数的概率?

    假设我有以下数据集 其中显示了假设实验的每个状态的三个观察结果的列表 state lt c Iowa Minnesota Illinois outcome lt list c 5 11 11 c 3 12 8 c 9 14 2 dat lt
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • 使用 Shiny 发布平行坐标图表时出现“错误:路径[1]="”:没有这样的文件或目录”

    我有一个似乎很常见但我还没有找到解决方案的问题 当尝试使用 rCharts Parcoords 发布 Web 应用程序时 出现以下错误 错误 路径 1 没有这样的文件或目录 奇怪的是 该应用程序在我的笔记本电脑上运行得很好 下面是我正在使用
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o

随机推荐

  • 报亭应用程序需要推送通知吗?

    如果我提交一个不使用推送通知的报刊亭应用程序 而是在每次用户启动该应用程序时向我的服务器查询新内容 苹果会拒绝我的应用程序吗 IE 用户是否期望在所有报亭应用上推送 Thanks 不 Apple 的指南并不强制要求使用推送通知 并且您的应用
  • 在服务内调用 getSystemService

    我正在尝试编写一项在 Gear Live 上获取心率的服务 遵循此处的问题从 传感器 Samsung Gear Live 获取心率 如果我把这部分 Log d TAG prepare to call getSystemService mSe
  • 使用 Nodejs 和 pug 进行客户端模板化

    我正在构建一个网络应用程序 它在客户端构建了动态小部件 目前我使用nodejs和pug作为我的服务器端模板库 我喜欢pug的简单性 我希望在服务器上有一系列小的 pug 文件 客户端可以将其用作构建块来构造用户所需的小部件 我尝试使用此处找
  • 单击:如何将操作应用于所有命令和子命令,但允许命令选择退出?

    我有一个案例 我想自动运行一个常用函数 check upgrade 对于我的大多数单击命令和子命令 但在少数情况下我不想运行它 我想我可以有一个可以添加的装饰器 例如 bypass upgrade check 对于命令 其中check up
  • MongoDB 将字符串类型转换为浮点类型

    按照这里的建议MongoDB 如何更改字段的类型 我尝试更新我的集合以更改字段的类型及其值 这是更新查询 db MyCollection find ProjectID 44 Cost exists true forEach function
  • tf.constant 和 tf.placeholder 的行为不同

    我想将 tf metrics 包装在 Sonnet 模块中以测量每个批次的性能 以下是我所做的工作 import tensorflow as tf import sonnet as snt class Metrics snt Abstrac
  • 合并从旧提交创建的分支到master

    我从旧的主提交创建了一个新分支 当尝试使用将其与 master 合并时 git checkout master git merge newbranch 我正进入 状态 Already up to date 尽管它是不同的代码 当然 可以选择
  • KeyCloak 忘记密码 电子邮件链接

    我们正在使用 keycloak 实现身份验证 特别针对忘记密码选项 当用户单击 忘记密码 选项并提供用户名时 系统将向其 ID 发送一封电子邮件 其中包含重置密码的链接 我的问题具体在链接上 通过电子邮件发送的链接如下所示 https au
  • 如何使用 JavaScript 和 FastAPI 上传多个文件?

    我遵循 FastAPI 文档 我试图将用 js 编写的客户端文件发送到用 FastAPI 编写的服务器 My HTML
  • 使用 Spring LDAP Repository 的多个 LDAP 存储库

    我想使用 Spring LDAP 设置多个 LDAP 存储库 我的目标是同时创建或更新所有存储库中的对象 我使用 LdapRepository Spring 接口 我认为目前这是不可能的 我想知道我是否可以创建自己的 LdapReposit
  • 你在 Java 中推荐哪些 HTML 解析库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想解析一些 HTML 以
  • 本地主机、Php artisan 服务和 homestead 的优点/缺点

    我是 Laravel 的新手 我很困惑将使用哪个环境来创建带有数据库集成 MYSQL 的应用程序 Wamp 本地主机 PHP工匠 家园 每种环境的优点 缺点是什么 谢谢 虽然这个问题是基于意见的 但我的回答将基于我的经验 WAMP 本地主机
  • ZooKeeper 快照文件足以恢复状态吗?

    我正在了解 ZooKeeper 并查看备份 ZooKeeper 中存储的数据的选项 ZooKeeper写入两个数据文件 快照和事务日志 人们经常提到快照是 模糊的 需要在它们上重放事务日志以获得最新状态 对于观察者来说 没有事务日志被保存到
  • 如何从 Python 函数外部停止执行该函数?

    所以我有一个我使用的库 在我的一个函数中 我调用该库中的一个函数 这恰好需要很长时间 现在 同时我有另一个线程在运行 我在其中检查不同的条件 我想要的是 如果满足条件 我想取消库函数的执行 现在我正在检查函数开始时的条件 但是如果在库函数运
  • C# 中用于基于平台导入的预处理器指令

    在 C 中查找预处理器指令 用于根据可执行文件是 64 位还是 32 位导入 dll if WIN64 DllImport ZLIB64 dll CallingConvention CallingConvention Cdecl else
  • 如何设置 ASP.NET Core Identity cookie 的路径

    我有一个 ASP NET Core MVC 应用程序 它还托管一个 API 该站点使用身份默认值 因此当您登录时会设置 cookie API 已配置为使用 JWT Bearer 身份验证 我还有一个单独的 ASP Net Core MVC
  • 当服务器和客户端在同一台机器上时监听广播

    花了大半夜的时间后 我还没能成功 这是我正在做的事情 这是一种由一个参与者主持并由其他玩家加入的网络游戏 主持人本人也充当玩家 用户点击 Host 按钮开始在UDP上做广告 其他用户可以查看所有可用主机的列表并选择其中一台加入 作为初学者
  • HTTPERR 日志:Request_Cancelled(对 WCF 服务进行故障排除时)

    我正在尝试解决访问 WCF 自托管服务的 WCF 客户端上的 连接被远程主机强制关闭 错误 我正在查看服务端计算机上 System32 LogFiles HTTPERR 中的 httperr 日志 每次在客户端上看到该错误时 我都会在日志中
  • 图形中的凸包 - Mathematica

    尝试使用计算几何包中的平面图绘制凸包 但在图形中使用时不起作用 关于如何使用 Graphics 绘制 ConvexHull 有什么想法吗 Needs ComputationalGeometry pts RandomReal 0 10 60
  • 如何在xtable的align参数中设置列宽和文本对齐方式?

    我想保留我设置的列的宽度align的论证xtable我想将所有数字列向右对齐 其他数字列向左对齐 标题向中间对齐 我找到了一些使用直接写入表格的解决方案rnw文件 但我想从文件加载数据 因为我的表很大 并且可以在创建knitr文档期间发生变