Как использовать Hmisc::latex()

Hmisc::latex(), кажется, игнорирует все аргументы, которые я ему даю, кроме object. Трудно указать на конкретный вопрос, на который мне нужно ответить, кроме -- "Как я могу заставить Hmisc::latex()" распознавать аргументы, о которых говорится в его документации?

Например, эти две команды выдают один и тот же результат:

library(Hmisc)
library(tables)

t <- tabular(Species ~ (Sepal.Length + Sepal.Width)*(mean + sd), data = iris)

latex(object = t)
latex(object = t, booktabs = TRUE, align = rep('r', 5))

Вывод, который я получаю от обеих этих команд:

\begin{tabular}{lcccc}
\hline
 & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\ 
Species  & mean & sd & mean & \multicolumn{1}{c}{sd} \\ 
\hline
setosa  & $5.006$ & $0.3525$ & $3.428$ & $0.3791$ \\
versicolor  & $5.936$ & $0.5162$ & $2.770$ & $0.3138$ \\
virginica  & $6.588$ & $0.6359$ & $2.974$ & $0.3225$ \\
\hline 
\end{tabular}

Я использую Hmisc 4.0-2 и таблицы 0.8 на R 3.2.2.

Изменить: аргументы caption и caption.loc также игнорируются. Но если я запускаю booktabs() до запуска latex(), это вступает в силу (меняет форматирование таблицы).


person rcorty    schedule 08.01.2017    source источник
comment
Я не использую этот пакет, но меня вполне устраивает пакет xtable с точки зрения форматирования. Большая часть форматирования выполняется с помощью функции print.xtable, поэтому, возможно, есть аналогичный метод с Hmisc.   -  person lmo    schedule 09.01.2017
comment
Мне нравится xtable, но в этом случае мне нужно сгенерировать таблицу со своего рода «вложенной» структурой, поэтому параметры формулы из tabular очень помогают. (Мне также нужно сделать ~ 8 таких таблиц и, возможно, потребуется переделать их несколько раз.)   -  person rcorty    schedule 09.01.2017


Ответы (1)


@rcorty два дня назад - вы неправильно понимаете, что делает R, когда вы вызываете latex() для своего объекта класса tabular. Вы считаете, что он использует Hmisc::latex(), метод S3 по умолчанию для универсального latex. Но на самом деле происходит то, что R запускает tables::latex(), метод S3 для объектов класса tabular, который является классом объектов, которые у вас есть.

Взгляните на документацию по tables::latex(), и вы увидите, какие аргументы можно использовать.

Хотя немного странно, что вы не получаете никаких ошибок о неиспользуемых аргументах.

person rcorty    schedule 09.01.2017