Функция латекса latex.default
не использует аргумент группы столбцов, когда rownames=NULL
. В функции мы имеем:
if (length(rowname)) {
cx <- cbind(rowname, cx)
col.just <- c(rowlabel.just, col.just)
if (length(extracolheads))
extracolheads <- c("", extracolheads)
collabel.just <- c(rowlabel.just, collabel.just)
if (length(cgroup) == 0L)
colheads <- c(rowlabel, colheads)
else {
colheads <- c("", colheads)
cgroup <- c(rowlabel, cgroup)
rlj <- ifelse(rowlabel.just == "l", "l", "c")
cgroup.just <- c(rlj, cgroup.just)
n.cgroup <- c(1, n.cgroup)
cgroup.cols <- 1 + cgroup.cols
cline <- paste(sl, "cline{", cgroup.cols[, 1], "-", cgroup.cols[,
2], "}", sep = "", collapse = " ")
}
nc <- 1 + nc
}
с cgroup.cols как первые и последними столбцы, вычисленных из n.cgroup
аргумента
first.col last.col
[1,] 1 5
[2,] 7 12
Я думаю, что это ошибка. Так в настоящее время единственный путь, чтобы изменить выход текс вручную, используя эту функцию, в которой ваше повторение аргументы, которые вы прошли на ваш латекс для имени вашего tex file
и n.cgroup
:
change_cline <- function(file,n.cgroup){
file_to_edit <-readLines(file)
pos <- grep("cline",file_to_edit) # get the position of cline in the tex file
cgroup.cols <- matrix(c(1,n.cgroup[2]+1,n.cgroup[1],sum(n.cgroup)+1), nrow=2)
file_to_edit[pos]<- paste("\\cline{", cgroup.cols[, 1], "-", cgroup.cols[,
2], "}", sep = "", collapse = " ")
cat(file_to_edit, file = file,sep="\n")
return(invisible(NULL))
}
Заключительный сценарий:
data(mtcars)
la<-latex(mtcars, file ='mtcars2.tex', cgroup = c("Group 1", "Group 2"), n.cgroup = c(5, 6), rowname = NULL)
change_cline(file='mtcars2.tex',n.cgroup = c(5 ,6))
, который производит правильный формат

@ тире Я посмотрел на github, это выглядит великолепно. – Cedric