Использование xtable с R и Latex, математический режим в именах столбцов?

Я использую xtable для автоматической компиляции таблиц из R при компиляции моего документа TeX. У меня есть вопрос, как мне получить имена переменных в таблице (которые в моем случае являются именами столбцов в фрейме данных) в математическом режиме. Я сохранил свои результаты в фрейме данных adf.results, и, по сути, я хочу

colnames(adf.results) <- c(" ", "$m^r_t$", "$\delta p_t$",
                           "$R^r_t$", "$R^b_t$", "$y^r_t$")

но это просто вставляет $m^r_t$ ... в качестве имен столбцов, не интерпретируя их как находящиеся в математическом режиме. у кого-нибудь есть решение?


person hejseb    schedule 14.02.2013    source источник


Ответы (2)


как предлагается в виньетке xtable, вы должны использовать функция санитарной обработки (как и предложил уникум). Просто какой-то фиктивный код, как я заставил его работать с вашим примером:

library(xtable)
adf.results<-matrix(0,ncol=6,nrow=4)
colnames(adf.results) <- c(" ", "$m^r_t$", "$\\delta p_t$","$R^r_t$", "$R^b_t$", "$y^r_t$")
print(xtable(adf.results),sanitize.text.function=function(x){x})

Удачи с этим.

С уважением,

FM

person FM Kerckhof    schedule 14.02.2013
comment
Вы знаете, почему работает эта функция очистки? Он принимает аргумент x и возвращает x. - person Heisenberg; 17.03.2015
comment
это действительно интригующий вопрос. Запуск xtable без пользовательского sanitize.text.function (т. е. с ggetOption("xtable.sanitize.text.function"), возвращающим NULL) вызовет поведение по умолчанию print.xtable, которое заключается в удалении всех символов, имеющих особое значение в выходном формате. Конечно, в этом случае мы хотим сохранить именно эти символы и оценить их как TeX. Отсюда, казалось бы, бесполезное определение функции. - person FM Kerckhof; 24.03.2015

См. галерею xtable: раздел "Очистка" (стр. 7 и ниже).

person Artem Klevtsov    schedule 14.02.2013