gpt4 book ai didi

r - 使用 R xtable 在 latex 表中的行之间添加一条水平线

转载 作者:行者123 更新时间:2023-12-04 10:56:31 24 4
gpt4 key购买 nike

我有一个这样的示例 latex 表生成代码

df<-data.frame(name=rep(letters[1:7],each=24),salary=runif(24*7,100,200))
lst<-tapply(df$salary,df$name,matrix,nrow=4,byrow=T)
xlst<-lapply(lst,xtable)

现在我想在每个表中的每一行和 之后自动引入\hdashline也是\vspace{2em} 在 R 代码的表格之间
Wat我试过是这个
for(i in seq_along(lst)){
addtorow[i] <- list(pos = list(seq_len(nrow(lst[[i]])-1)),
command = "\\hdashline \n")
}

我需要在 for 循环中进行 wat 更改吗..它在我申请单个表但不在 for 循环中工作时有效......非常感谢任何帮助......

最佳答案

与其使用循环,不如考虑使用现有的 print.xtable功能与粘贴相结合。

  • 虚线:考虑使用 print.xtable参数。比如有一个参数hline.after控制表格线之间的水平线。
  • 虚拟空间:使用 paste 可能更简单.

  • 例如:
    library(xtable)
    df <- data.frame(name=rep(letters[1:3],each=24),salary=runif(24*3,100,200))
    lst <- tapply(df$salary,df$name,matrix,nrow=4,byrow=T)
    xlst <- lapply(lst,function(x)print(xtable(x), hline.after=1:nrow(x)))
    xlst <- lapply(xlst, paste, "\\vspace{2em}")
    xlst

    [1] "% latex table generated in R 2.13.1 by xtable 1.5-6 package\n% Tue Aug 23 13:36:41 2011\n\begin{table}[ht]\n\begin{center}\n\begin{tabular}{rrrrrrr}\n & 1 & 2 & 3 & 4 & 5 & 6 \\ \n 1 & 158.66 & 115.81 & 106.70 & 128.78 & 157.43 & 191.01 \\ \n \hline\n2 & 159.09 & 172.31 & 153.93 & 127.91 & 106.93 & 147.95 \\ \n \hline\n3 & 135.65 & 139.45 & 192.90 & 108.78 & 186.52 & 164.10 \\ \n \hline\n4 & 190.10 & 154.39 & 124.91 & 199.24 & 161.99 & 167.61 \\ \n
    \hline\n\end{tabular}\n\end{center}\n\end{table}\n \vspace{2em}"



    ?print.xtable更多细节。如 hline.after对您的目的来说不够灵活,然后查看 add.to.row您可以在其中指定要添加的位置和确切元素类型。

    关于r - 使用 R xtable 在 latex 表中的行之间添加一条水平线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7160754/

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