,使用R xtable添加行之间的水平线在胶乳的表

问题描述 投票:7回答:2

我有这样一个样本乳胶表生成代码

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)

现在我想在每一个表中的每一行,也是一个\ {VSPACE 2em的}在与R代码笏我曾尝试表之间后自动引入\ hdashline是这样

for(i in seq_along(lst)){
  addtorow[i] <- list(pos = list(seq_len(nrow(lst[[i]])-1)),
                      command = "\\hdashline \n")
}

做什么样的变化我需要在loop..It当我申请了一个表,但是在for循环中不能正常工作的作品...任何帮助是非常赞赏...

r latex xtable
2个回答
10
投票

而不是使用一个循环,可以考虑使用现有的print.xtable功能与粘贴结合。

  1. hdashlines:考虑使用print.xtable参数。例如,有一个参数hline.after,其控制表线之间的水平线。
  2. VSPACE:这可能是简单的使用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]“通过xtable 1.5-6包\ N%中的R 2.13.1产生星期二年08月23 13点36分41秒2011 \ n \ BEGIN {表} [HT]%胶乳表\ n \ BEGIN {中心} \ n \开始{片状} {RRRRRRR} \ n&1&2&3&4&5&6 \\ \ n 1 158.66&115.81 106.70&128.78&157.43&191.01&\\ \ n \ HLINE \ N 2 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 \ {端片状} \ n \ {端中心} \ n \ {端表} \ n \ VSPACE {2em的}”


?print.xtable了解更多详情。如果hline.after是不是你的目的不够灵活,然后看看add.to.row在那里你可以同时指定位置和详细的元素类型的补充。


0
投票

如果您正在使用print.xtable,请尝试以下内print.xtable

hline.after = rep(c(1:nrow(df)),2)# repeating horizontal lines in xtable

© www.soinside.com 2019 - 2024. All rights reserved.