2013-02-08 6 views
2

У меня есть кадр данных в R, который, к сожалению, имеет строки в нем, содержащие знаки доллара. Когда функция latex() из пакета Hmisc преобразует этот фрейм данных в таблицу LaTeX, знаки доллара не экранируются. Это делает LaTeX несовместимым. Есть ли способ в пределах Hmisc, чтобы избежать знаков доллара при форматировании значений из фрейма данных?Экранирование символов управления LaTeX в Hmisc :: latex

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

Минимальный пример:

> latex("test$test",file="") 
# returns: 
\begin{table}[!tbp] 
% [...] 
test$test\tabularnewline 
% [...] 
\end{table} 

# should return: 
\begin{table}[!tbp] 
% [...] 
test\$test\tabularnewline 
% [...] 
\end{table} 

ответ

4

Вы можете посмотреть на функции latexTranslate из Hmisc:

R> latexTranslate("3%") 
[1] "3\\%" 
+0

кажется полезным, спасибо. Может ли это быть интегрировано с «латексом»? Или только через 'sapply' заранее? – roelandvanbeek

+0

Вы можете использовать 'latex (latexTranslate (« test $ test »))' например. Или, может быть, я не понял ваш вопрос? – juba

+0

К сожалению, я хотел применить его к ячейкам фрейма данных при вызове 'latex (df)'. Но я думаю, что 'latex (as.data.frame (sapply (df, latexTranslate)))' будет делать. – roelandvanbeek

Смежные вопросы