Как экспортировать таблицу из R в latex и включить имена измерений?

у меня есть простая таблица с именами измерений, которые я хочу экспортировать из R в LaTeX. Я ищу простой способ сделать это, который не требует дополнительного редактирования в latex. Кажется, это должно быть легко, но я нашел ряд других нерешенных вопросов по этой теме.

Я пытался использовать Hmisc после этот пост. Он уступает ! LaTeX Error: Illegal character in array arg. как говорится в OP, но вопрос остается нерешенным. этот пост есть куча вариантов, но я не вижу, что имена измерений решаются.

R-кода

library(Hmisc) 
latex(table(state.division, state.region), rowlabel = "X", collabel =  "Y", file = "") 

выход

%latex.default(table(state.division, state.region), rowlabel = "X",     collabel = "Y", file = "")%
begin{table}[!tbp]
begin{center}
begin{tabular}{lrrrr}
hlinehline
multicolumn{1}{l}{X}&multicolumn{1}{Y}{Northeast}&multicolumn{1}{l}{South}&multicolumn{1}{Y}{North Central}&multicolumn{1}{l}{West}tabularnewline
hline
New England&$&$&$&$tabularnewline
Middle Atlantic&$&$&$&$tabularnewline
South Atlantic&$&$&$&$tabularnewline
East South Central&$&$&$&$tabularnewline
West South Central&$&$&$&$tabularnewline
East North Central&$&$&$&$tabularnewline
West North Central&$&$&$&$tabularnewline
Mountain&$&$&$&$tabularnewline
Pacific&$&$&$&$tabularnewline
hline
end{tabular}end{center}

end{table}


Сообщения Об Ошибках После Рендеринга Latex

Errors:

./test.tex:9: LaTeX Error: Illegal character in array arg. [...lumn{1}{l}{X}&multicolumn{1}{Y}{Northeast}]
./test.tex:9: LaTeX Error: Illegal character in array arg. [...l}{South}&multicolumn{1}{Y}{North Central}]

устранение ошибок путем добавления выравнивания &multicolumn{1} {l}{Y}{Northeast} дает таблицу, которая не имеет имен измерений в соответствующем место.

Нужный Выход

                    state.region
_____________________________________________________________
state.division       Northeast South North Central West
_____________________________________________________________
  New England                6     0             0    0
  Middle Atlantic            3     0             0    0
  South Atlantic             0     8             0    0
  East South Central         0     4             0    0
  West South Central         0     4             0    0
  East North Central         0     0             5    0
  West North Central         0     0             7    0
  Mountain                   0     0             0    8
  Pacific                    0     0             0    5

также попытался с помощью memisc пакета, который так же дает Illegal character ошибки.

1 ответов


можно использовать xtable для этого (с xtable пакета):

# create your table
tab <- table(state.division, state.region)

# reassemble to put things where they need to be
tab2 <- cbind(rownames(tab), tab)
tab3 <- rbind(c("","\multicolumn{4}{l}{state.region}", rep("",ncol(tab2)-2)),
              c("state.division",colnames(tab2)[-1]), 
              tab2)

# print as xtable
library("xtable")
print(xtable(tab3), include.rownames = FALSE, include.colnames = FALSE, sanitize.text.function = I, hline.after = c(0,1,2,11))

можно использовать