在 LaTeX 格式的列联表的行标题和列标题中包含维度名称

2024-01-02

如果列联表中属性的类别仅仅是数字,仅使用这些数字作为列/行标题是不够的 - 需要描述数字的含义。下图显示了家庭样本中家庭规模与外国人数量的交叉分类:

有人有使用 R+LaTeX 制作此类表格的经验吗?


我自己有一个相当黑客的解决方案,但我也希望看到其他方法。当然,如果将这段代码的变体添加到xtable.

我的解决方案包括更新rownames() and colnames()表的。行标题进入rownames()[1],列标题进入colnames()[1]。必须记住几件事:

  • 如果使用行标题,结果表中的列数会大一。 因此,tabular环境必须由用户创建。
  • 如果添加行标题,则列标题必须包含附加的&
  • 执行此操作后,请勿清理或重新格式化行或列名称

The add.crosstab.headers函数负责一切。它可以应用于xtable()称呼。还需要一些辅助函数。

macrify <- function(m, s, bs='\\') {
  paste(bs, m, '{', s, '}', sep='')
}

boldify <- function(s) {
  macrify('textbf', s)
}

add.crosstab.headers <- function(t, row.header=NA, col.header=NA,
                                 sanitize=boldify) {
  rownames(t) <- sanitize(rownames(t))
  colnames(t) <- sanitize(colnames(t))
  if (!is.na(row.header)) {
    colnames(t)[1] <- paste('&', colnames(t)[1])
    rownames(t) <- paste('&', rownames(t))
    row.header <- sanitize(row.header)
    row.header <- macrify('rotatebox{90}', row.header)
    multirow <- macrify('multirow', nrow(t))
    multirow <- macrify(multirow, '*', bs='')
    row.header <- macrify(multirow, row.header, bs='')
    rownames(t)[1] <- paste(row.header, rownames(t)[1])
  }
  if (!is.na(col.header)) {
    col.header <- sanitize(col.header)
    multicolumn <- macrify('multicolumn', ncol(t))
    multicolumn <- macrify(multicolumn, 'c', bs='')
    col.header <- macrify(multicolumn, col.header, bs='')
    col.header <- paste(col.header, '\\\\\n')
    col.header <- paste(col.header, '&')
    if (!is.na(row.header)) {
      col.header <- paste('&', col.header)
    }
    colnames(t)[1] <- paste(col.header, colnames(t)[1])
  }
  t
}

用法会是这样的。

dat <- matrix(round(rnorm(9, 20, 10)), 3, 3)
t <- xtable(dat)
t <- add.crosstab.headers(t, row.header='Foreigners', col.header='Total persons')

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

在 LaTeX 格式的列联表的行标题和列标题中包含维度名称 的相关文章

  • 如何在 Shiny 中提取动态生成的输入值?

    我正在创建一个闪亮的应用程序 它将根据客户的不同功能为客户生成分数 在我闪亮的应用程序中 我提供了 checkboxGroupInput 来选择所需的功能 根据所选功能 应用程序将动态地将 numericInput 添加到 Web ui 以
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t
  • 如何纠正 data.frame 上的字符编码

    我有一个像这样的数据框 data names lt data frame DATA c 1 5 rownames data names lt c IV xc1N JOS xc9 LUC xcdA RAM xd3N TO xd1O data
  • R Shiny:如何将无功值从闪亮模块返回到主服务器功能?

    我有一个简单的玩具示例 它使用 add removeBtn 模块在 第一个 模块中添加和删除 UI 我需要跟踪单击 添加 删除 的次数 如果我不使用模块 这很容易 但我试图在嵌套模块的上下文中执行此操作 代码如下 但基本上 我似乎无法访问主
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • R - 重塑 - 熔化错误

    我正在尝试融化数据框 但出现了这个奇怪的错误 有什么想法吗 str zx7 data frame 519 obs of 5 variables calday new Date format 2011 01 03 2011 01 04 201
  • 从 data.frame 在 ggplot 图例中添加信息

    我想在图例中添加信息 哪个传感器具有该值 这是我的代码 z lt data frame a c sensor 1 sensor 2 sensor 3 sensor 4 sensor 5 sensor 6 sensor 7 sensor 8
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供
  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • 如何像在facet_grid中一样在facet_wrap中定位条带标签

    我想在使用时删除多余的条带标签facet wrap 并用两个变量进行分面 并且都是自由尺度的 例如 这个facet wrap下图的版本 library ggplot2 dt lt txhousing txhousing year in 20
  • 获取包含矩阵行内最大值的列名称,该矩阵在数组内包含单独的最大值

    例如给出 dim1 lt c P PO C T dim2 lt c LL RR R Y dim3 lt c Jerry1 Jerry2 Jerry3 Q lt array 1 48 c 4 4 3 dimnames list dim1 di
  • R 数据结构的运算效率

    我想知道是否有任何关于操作效率的文档R 特别是那些与数据操作相关的 例如 我认为向数据框添加列是有效的 因为我猜您只是向链接列表添加一个元素 我想添加行会更慢 因为向量保存在数组中C level你必须分配一个新的长度数组n 1并将所有元素复
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • 安装 2.15 后 ggplot2 中的 alpha 通道不起作用

    更新到 R 2 15 后 ggplot 中的 alpha 通道似乎不再起作用 plot rnorm 100 rnorm 100 bg cc000055 pch 21 工作得很好但是 qplot rnorm 100 rnorm 100 col
  • 使用“assign()”为列表项分配值

    首先了解一些背景 我写了一个中缀函数 本质上取代了这个习惯用法 x length x 1 lt y 或者简单地说x lt append x y 对于向量 这里是 lt function x y xcall lt substitute x x
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met

随机推荐

  • 使用不透明类型(Char 和 Long)

    我正在尝试导出算法的 Scala 实现以在 JavaScript 中使用 我在用着 JSExport 该算法适用于 ScalaChar and Long值被标记为opaque in the 互操作性指南 http www scala js
  • 我如何在 xcode 中获取数组?

    如何获取字典的值而不是循环 我知道如何使用以下方法获取单个值 NSString valueStr dict objectForKey Key2 我需要通过循环所有键来获取 我需要在字典中搜索一个值 因为看起来您正在尝试使用NS词典 http
  • 迁移合约时耗尽 Gas

    我看过其他 没油了 的帖子 但他们没有解决我的问题 我正在使用 ganache cli 开始 ganache cli account 0xce2ddf7d4509856c2b7256d002c004db6e34eeb19b37cee04f7
  • 如何确定实体框架是否正在等待连接池中的连接?

    我看到一些间歇性的速度减慢 sql 超时错误 我无法确定原因 我已经拼凑了一些线索 但我需要一些帮助来确定可能的后续步骤 问题 我们有一个表 其中包含 10 多万条记录 我们从 Web 应用程序运行异步计数 该表经常被写入 有时计数需要 2
  • 安装svn:重启apache后出错

    我这样创建了我的存储库 须藤 svnadmin 创建 svn 重新启动 apache 后出现此错误 第 16 行语法错误 etc apache2 mods enabled dav svn conf 这里不允许 DAV dav svn con
  • 我尝试从此 HTML 中提取价格 2 890 000K 和 地址 有 12 个相同的 div class list items content list items content 1 div class list items conten
  • 如何使 Ember.js 与 Grails 控制器名称配合?

    Grails 非常强大 可以让您使用一条语句将 Domain 对象转换为 JSON object as JSON 不幸的是 由于一些原因 这不足以与 Ember js 交互 如何让 Grails 与 Ember js 完美配合 好问题 自我
  • 像 epub/ebook 一样显示动态 html 内容,而不将 html 转换为 epub 格式?

    我想创建一个响应式 移动优化的阅读体验 类似于 epub 电子书阅读器 如 Kindle 应用程序或 iBooks 使用动态 html 作为源 想象一下一篇长文章或博客文章需要大量垂直滚动才能阅读 尤其是在小型移动设备上 我想做的是将长页面
  • seaborn clustermap:subplots_adjust 取消颜色条重新定位

    我正在尝试使用seaborn制作侧面带有颜色条的热图 但是 在我的实际应用程序案例中 我有很长的列名称需要轮换 这需要使用plt subplots adjust 否则标签不适合图像 plt setp g ax heatmap get xti
  • Netbeans“未执行任何测试”

    我有一个包含单元测试的 php 项目 我使用 Netbeans 进行开发 并希望在我的 IDE 中集成 phpunit 如果我从命令行运行 phpunit 它就可以工作 如果我按 Alt F6 在 Netbeans 中运行测试 则不会运行任
  • 在 Python 中转义 JavaScript 字符串

    我有一个 Python 脚本 它构建一些 JavaScript 以 JSON 信封的形式发送到浏览器 我想转义 JavaScript 字符串并用单引号分隔它们 我不能使用json dumps因为它使用双引号作为分隔符 就像 JSON 规范所
  • 如何通过 ajax 刷新由 JSF 填充的 javascript 变量?

    我想做以下事情 从其中选择一个项目h selectOneMenu 通过 ajax 使用新值更新支持 bean 使用新值运行 Javascript 函数 但在下面的代码中 alert backingBean derivedValue 仍然包含
  • golang mqtt 发布和订阅

    有谁知道我可以在哪里获得一些在无限循环中发布和订阅的示例 MQTT 客户端 Go golang 代码 我正在与在 MacO 上运行的 Mosquitto 代理进行消息传递 更详细地 从网络获取消息 主题 根据该消息计算一些内容 将计算结果发
  • 使用 github api 从拉取请求号获取拉取请求合并提交 sha

    我正在尝试使用 github api 通过 githubothttps github com iangreenleaf githubot https github com iangreenleaf githubot 从拉取请求编号获取拉取请
  • 在反应中创建表单的最佳方法是什么?

    我是反应初学者 我有以下代码 import React useState useEffect from react import Card Form Button from react bootstrap import Axios from
  • 张量流梯度 - 获取所有 nan 值

    我正在使用带有 anaconda 的 python 3 以及带有 eager eval 的tensorflow 1 12 我正在使用它为暹罗网络创建三元组损失函数 并且需要计算不同数据样本之间的距离 我创建了一个函数来创建距离计算 但无论我
  • docker-compose 用于分离模式

    我有以下 docker 命令来运行容器 docker run d name test v etc hadoop conf etc hadoop conf v usr lib python2 7 dist packages hdinsight
  • 带有布尔值的 java.lang.NullPointerException

    我根据另一个问题编写了一个非常简单的代码 如下所示 它给我一个错误 java lang NullPointerException 第 5 行和第 17 行 我不知道我做错了什么 public class Main public static
  • 在 R 中获取每个多边形的多数像素值的区域统计?

    实际上 我尝试使用 SpatialPolygonsDataFrame 计算栅格的主要像素值 这是我发现的一些代码 可能会导致正确的方向 library raster Create interger class raster r lt ras
  • 在 LaTeX 格式的列联表的行标题和列标题中包含维度名称

    如果列联表中属性的类别仅仅是数字 仅使用这些数字作为列 行标题是不够的 需要描述数字的含义 下图显示了家庭样本中家庭规模与外国人数量的交叉分类 有人有使用 R LaTeX 制作此类表格的经验吗 我自己有一个相当黑客的解决方案 但我也希望看到