Почему функция R print.xtableFtable игнорирует мои параметры?

#r #latex #output

#r #Латекс #вывод

Вопрос:

У меня есть следующий код, и print.xtableFtable игнорирует дополнительные параметры для latex.

 ##### Contingency tables - 34Y
library(xtable)
B <- ftable(prereg34Y_sub$employmentStatus34Y, prereg34Y_sub$ethnicity34Y, dnn=c("Unemployed", "NonBritish"))
sink("CTFemaleNonBrit34Y.tex", type="output")
print.xtableFtable(xtableFtable(B, method = "compact"), table.placement = "h!")
sink()
  

Результатом является:

 % latex table generated in R 3.3.1 by xtable 1.8-2 package
% Sat Oct 22 18:08:35 2016
begin{table}[ht]
centering
begin{tabular}{l |rr}
hline
Unemployed $vert$ NonBritish amp; multicolumn{1}{l}{    0} amp; multicolumn{1}{l}{    1} \ 
hline
0                              amp; 2065 amp;   68 \ 
1                              amp;   31 amp;    2 \ 
hline
end{tabular}
end{table}
  

Позиция таблицы равна ht вместо h!. У кого-нибудь есть идея, почему?

Ответ №1:

Не похоже, что table.placement аргумент передается от print.xtableFtable к print.xtable , но вы можете установить необязательный глобальный options(xtable.table.placement = "h!") параметр перед запуском print(xtableFtable(B))

Пример

 library(xtable)

# table.placement doesnt seem to work
B <- ftable(mtcars$am, mtcars$cyl, dnn=c("Unemployed", "NonBritish"))
print(xtableFtable(B), table.placement = "h!")     
# % latex table generated in R 3.3.1 by xtable 1.8-2 package
# % Sat Oct 22 18:00:52 2016
# begin{table}[ht]
# ---
# ---

# But works for other data types
B2 <- table(mtcars$am, mtcars$cyl, dnn=c("Unemployed", "NonBritish"))
print(xtable(B2), table.placement = "h!")
# % latex table generated in R 3.3.1 by xtable 1.8-2 package
# % Sat Oct 22 18:00:52 2016
# begin{table}[h!]
# ---
# ---  
  

Так что устанавливайте параметры глобально

 options(xtable.table.placement = "h!")
print(xtableFtable(B))
# % latex table generated in R 3.3.1 by xtable 1.8-2 package
# % Sat Oct 22 18:00:52 2016
# begin{table}[h!]
# ---
# ---
  

Комментарии:

1. Теперь это работает. Сегодня я узнал кое-что новое: настройка параметров глобально.