gpt4 book ai didi

r - 如何从 Hmisc 中的 latex() 获取 LaTeX 表以对齐列

转载 作者:行者123 更新时间:2023-12-04 06:25:24 30 4
gpt4 key购买 nike

我在让 align 在我的 latex 表中工作时遇到了一些问题,这是一个例子:

library(Hmisc)
set.seed(1)
x <- matrix(round(runif(6*3)*10, 2), ncol=6)
x[1, 2] <- -round(x[1, 2], 0)
x[3, 3] <- -round(x[1, 2], 1)
x[3, 5] <- round(x[1, 2], 1)

ci1 <- apply(x[,2:3], 1, FUN=function(x){
ret <- paste(min(x), "-", max(x))
return(ret)
})
ci2 <- apply(x[,5:6], 1, FUN=function(x){
ret <- paste(min(x), "-", max(x))
return(ret)
})

x <- cbind(x[,1], ci1, x[,4], ci2)
colnames(x) <- c("A", "interval", "B", "interval")
rownames(x) <- sapply(letters[1:3], FUN=function(x){ return(paste("Var_", x, sep=""))})

latex(x, file="", align="rcrc", rowlabel.just="r",
cgroup = c("First", "Second"),
n.cgroup = c(2, 2),
rgroup=c("Grup A and B", "Group C"),
n.rgroup=c(2, NROW(x) - 2),
ctable=T)

这产生:
% latex.default(x, file = "", align = "rcrc", rowlabel.just = "r",      cgroup = c("First", "Second"), n.cgroup = c(2, 2), rgroup = c("Grup A and B",          "Group C"), n.rgroup = c(2, NROW(x) - 2), ctable = T) 
%
\ctable[ label=x, pos=!tbp, ]{rllcll} {} {\FL\multicolumn{1}{c}{\bfseries x}&
\multicolumn{2}{c}{\bfseries First}&
\multicolumn{1}{c}{\bfseries }&
\multicolumn{2}{c}{\bfseries Second}
\NN \cline{2-3} \cline{5-6}
\multicolumn{1}{r}{}&\multicolumn{1}{c}{A}&\multicolumn{1}{c}{interval}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{B}&\multicolumn{1}{c}{interval}\NN
\ML
{\bfseries Grup A and B}&&&&&\NN
Var_a&2.66&-9 - 9.45&&0.62&4.98 - 6.87\NN
Var_b&3.72&2.02 - 6.61&&2.06&3.84 - 7.18\NN
\ML
{\bfseries Group C}&&&&&\NN
Var_c&5.73&8.98 - 9&&1.77&-9 - 9.92\NN
\LL
}

错误在这里:
\ctable[ label=x, pos=!tbp, ]{rllcll}

我要 rllcll 成为 rrccrc 但它不会那样做。我已经为 aling 和 halign 参数尝试了所有可能的替代方案。手动做这件事有点烦人......

最佳答案

这是这样做的方法。代码的主要变化是使用col.just = c('r', 'c', 'r', 'c')而不是 align .此外,您的行名称有下划线,这会导致 latex抛出错误。所以使用 latexTranslate逃避你的下划线并防止错误

latex(x, file="", col.just = strsplit("rcrc", "")[[1]], rowlabel.just="r", 
cgroup = c("First", "Second"), n.cgroup = c(2, 2),
rgroup = c("Grup A and B", "Group C"), n.rgroup=c(2, NROW(x) - 2),
booktabs = T, rowname = latexTranslate(rownames(x)))

enter image description here

关于r - 如何从 Hmisc 中的 latex() 获取 LaTeX 表以对齐列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280256/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com