Вместо того, чтобы использовать цикл, рассмотрите возможность использования существующей функциональности print.xtable
в сочетании с вставкой.
hdashlines: Рассмотрите возможность использования параметров print.xtable
. Например, есть параметр hline.after
, который управляет горизонтальными линиями между строками таблицы.
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] "% латексная таблица, сгенерированная в R 2.13.1 пакетом xtable 1.5-6 \ n%
Вт 23 августа 13:36:41
2011 \ п \ BEGIN {таблица} [ХТ] \ п \ {начать центр} \ п \ {начать табличной} {RRRRRRR} \ п
& 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
, где вы можете указать и позицию, и тип добавляемого элемента.