2017-01-08 20 views
0

Hmisc :: latex(), кажется, игнорирует все аргументы, которые я им даю, кроме object. Трудно указать на конкретный вопрос, на который мне нужно ответить, кроме как «Как я могу получить Hmisc :: latex()» для распознавания аргументов, о которых говорит его документация?Как использовать 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(), это вступает в силу (изменяет форматирование таблицы).

+0

Я не использую этот пакет, но я довольно доволен пакетом 'xtable' с точки зрения форматирования. Большая часть форматирования выполняется с помощью функции 'print.xtable', поэтому, возможно, существует аналогичный метод с' Hmisc'. – lmo

+0

Я люблю 'xtable', но в этом случае мне нужно создать таблицу со своего рода« вложенной »структурой, поэтому опции формулы из' tabular' - огромная помощь. (Мне также нужно сделать ~ 8 таких таблиц и, возможно, придется переделать их несколько раз). – rcorty

ответ

1

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

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

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