On 9/6/2011 4:01 AM, eldor ado wrote:
I have a related question:

dataframe df contains values like

df
  .. "\\textbf{ 0.644 }" ..

and the line

print( xtable(df  , sanitize.text.function = function(x){x}))

sanitize.text.function is an argument of print.xtable, not xtable.  Try

print( xtable(df)  , sanitize.text.function = function(x){x})

or even shorter

print( xtable(df)  , sanitize.text.function = identity)


converts them to

  ..&  $\backslash$textbf\{ 0.644 \}&  ..
  escaping both double backslashes and brackes.

maybe somebody here knows how to prevent xtable from escaping the code?

best regards,
lukas kohl

On Wed, Jun 1, 2011 at 8:47 PM, Marc Schwartz<marc_schwa...@me.com>  wrote:
On Jun 1, 2011, at 1:33 PM, Walmes Zeviani wrote:

Hello list,

I'm doing a table with scores and I want include colors to represent status
of an individual. I'm using sweave<<results=tex>>= and xtable but I can't
get a result I want. My attemps are

#-----------------------------------------------------------------------------
# code R

da<- data.frame(id=letters[1:5], score=1:5*2)

col<- function(x){
  ifelse(x>7,
         paste("\textcolor{blue}{", formatC(x, dig=2, format="f"), "}"),
         paste("\textcolor{red}{", formatC(x, dig=2, format="f"), "}"))
}

da$score.string<- col(da$score)

require(xtable)
xtable(da[,c("id","score.string")])

#-----------------------------------------------------------------------------

actual result
#-----------------------------------------------------------------------------
\begin{tabular}{rll}
  \hline
&  id&  score.string \\
  \hline
1&  a&       extcolor\{red\}\{ 2.00 \} \\
  2&  b&       extcolor\{red\}\{ 4.00 \} \\
  3&  c&       extcolor\{red\}\{ 6.00 \} \\
  4&  d&       extcolor\{blue\}\{ 8.00 \} \\
  5&  e&       extcolor\{blue\}\{ 10.00 \} \\
   \hline
\end{tabular}
#-----------------------------------------------------------------------------

desired result (lines omited to save space)
#-----------------------------------------------------------------------------
1&  a&       \textcolor{red}{ 2.00 } \\
2&  b&       \textcolor{red}{ 4.00} \\
#-----------------------------------------------------------------------------

Any contribution will be useful. Thanks.
Walmes.


When the '\t' is being cat()'d to the TeX file (or console) by print.xtable(), 
it is being interpreted as a tab character. You need to escape it with 
additional backslashes and then adjust the sanitize.text.function in 
print.xtable() so that it does not touch the backslashes:


da<- data.frame(id=letters[1:5], score=1:5*2)

col<- function(x){
  ifelse(x>7,
        paste("\\textcolor{blue}{", formatC(x, dig=2, format="f"), "}"),
        paste("\\textcolor{red}{", formatC(x, dig=2, format="f"), "}"))
}

da$score.string<- col(da$score)


da
  id score               score.string
1  a     2   \\textcolor{red}{ 2.00 }
2  b     4   \\textcolor{red}{ 4.00 }
3  c     6   \\textcolor{red}{ 6.00 }
4  d     8  \\textcolor{blue}{ 8.00 }
5  e    10 \\textcolor{blue}{ 10.00 }


require(xtable)

print(xtable(da[,c("id","score.string")]), sanitize.text.function = 
function(x){x})


That will give you:

% latex table generated in R 2.13.0 by xtable 1.5-6 package
% Wed Jun  1 13:44:54 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rll}
  \hline
  &  id&  score.string \\
  \hline
1&  a&  \textcolor{red}{ 2.00 } \\
  2&  b&  \textcolor{red}{ 4.00 } \\
  3&  c&  \textcolor{red}{ 6.00 } \\
  4&  d&  \textcolor{blue}{ 8.00 } \\
  5&  e&  \textcolor{blue}{ 10.00 } \\
   \hline
\end{tabular}
\end{center}
\end{table}


HTH,

Marc Schwartz

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.




--
Brian S. Diggs, PhD
Senior Research Associate, Department of Surgery
Oregon Health & Science University

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to