2013-07-03 3 views
2

Я создаю серию таблиц в R, которые будут включать фракции, как только я сообщу их в латексе. Для этого я использую функцию paste(), чтобы применить команду фракции в r, однако, когда я ее перейду, она теряет «\ f» в начале. Ниже приведен код. Вы знаете, как сохранить полную функцию? Thanksxtable(), чтобы сохранить функцию латекса в R

x <- as.vector(rbind(1, paste("\frac{",1, "}{", 2, "}", sep =""))) 
y <- as.vector(rbind(2, paste("\frac{", 2, "}{", 3, "}", sep ="")))  
table<- cbind(x,y) 
xtable(table) 

ответ

4

Необходимы две вещи; во-первых, удвоить обратную косую черту, а во-вторых, отключить обычную функцию дезинфекции текста, передав identity (который просто возвращает ввод).

> x <- as.vector(rbind(1, paste("\\frac{",1, "}{", 2, "}", sep =""))) 
> y <- as.vector(rbind(2, paste("\\frac{",2, "}{", 3, "}", sep ="")))  
> print(xtable(cbind(x,y)), sanitize.text.function=identity) 
% latex table generated in R 3.0.1 by xtable 1.7-1 package 
% Wed Jul 3 10:17:21 2013 
\begin{table}[ht] 
\centering 
\begin{tabular}{rll} 
    \hline 
& x & y \\ 
    \hline 
1 & 1 & 2 \\ 
    2 & \frac{1}{2} & \frac{2}{3} \\ 
    \hline 
\end{tabular} 
\end{table} 
Смежные вопросы