[R-es] Texto en color rojo en celdas especificas de una tabla

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Jue Mayo 9 02:14:49 CEST 2013


Hola

Yo supe realizar eso, no recuerdo bien donde lo tengo, pero en la lista está 
(entre todos llegamos).

Voy a ver si lo encuentro.

-----Mensaje original----- 
From: Rubén Gómez Antolí
Sent: Wednesday, May 08, 2013 9:00 PM
To: r-help-es
Subject: [R-es] Texto en color rojo en celdas especificas de una tabla

Hola a todos:

Estoy intentando poner algunos valores en rojo de una tabla que estoy
construyendo con xtable y, aunque lo tengo al alcance de los dedos, no
lo consigo.

Voy por aquí:

# Datos a poner en tabla. Contiene valores perdidos.
#
Tabla<-structure(c(4.2, 2.5, 2.5, 2.9, 2.9, 4.1, 6, 6.1, 6.8, 6.6, 6.1,
5.3, 3.9, NA, 2.3, 2.6, 3.1, 4.3, 5.1, 5.2, 6.6, 5.9, 5.8, 4.7,
3.9, 2.4, 2.4, 2.5, 2.9, 4.4, 5.7, 6.2, 6.8, 6.5, 5.7, 4.4, 3.9,
2.6, 2.2, 2.6, 3.6, 3.9, 5.7, 6.2, 6.1, 5.9, 5.9, 5.1, 2.9, 2.5,
2.3, 2.5, 3.7, 5.6, 5.3, 5.8, 6.6, 6, 5.7, 5, 3.4, 2.8, 2.1,
1.3, 3.5, NA, 6, 6.4, 6.5, 6.7, 5.5, 4.6, 3.4, 2.5, 2.6, 2.2,
2.9, 4, 5.2, 5.7, 6.8, 6.1, 5.9, 4.7, 4, 2.4, 1.9, 2.6, 3.6,
4, 5.6, 6.3, 6.8, 6.3, 5.8, 4.5, 3.8, 3, 2.1, 2.1, 2.9, 4.6,
6.3, 7, 7.8, 7.7, 6.7, 6, 3.9, 3.1, 2.2, 2.6, 3.5, 4.3, 5.7,
6.7, 6.6, 6.7, 6.3, 4.7, 4, 3, 2.4, 2.7, 3.1, 4.5, 6, 6.9, 7.4,
7.1, 6.1, 5.6, 3.7, 2.2, 2.2, 2.5, 3.5, 4.4, 5.7, 6.4, 7.2, 6.2,
5.6, 5.1, 3.2, 2.5, 2.3, 2.5, 3.2, 4.4, 5.9, 6.3, 6.3, 6.8, 5.7,
4.9, 3.6, 2.4, 2.1, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4.3,
2.9, 2, 2.2, 4.1, 5.8, 5.6, 6.9, 8.3, 8, 6.8, 5.5, 4, 2.9, 1.9,
2.4, NA, 5, 6.3, 6, 7.5, NA, NA, NA, 4.4, 3.1, 2.7, 2.7, 3.8,
5.1, 7, 7, 7.7, 7.4, 6.7, 5.5, 3.7, 3.3, 2.61, 3, 4, 5.26, 6.53,
6.56, 7.94, 7.58, 6.93, 5.53, 4.1, 2.94, 2.24, 3.11, 4.14, 5.15,
6.32, 6.98, 7.98, 7.16, 6.03, 5.01, 4, 2.66, 2.2, 2.84, 3.94,
4.77, 6.13, 7.02, 6.83, 7.1, 6.63, 5.46, 4.03, 2.74, 2.47, 2.95,
3.12, 4.13, 5.84, 6.83, 7.39, 7.13, 6.79, 5.64, 3.45, 2.69, 2.52,
2.91, 3.24, 3.97, 6.17, 6.41, 7.41, 7.2, 6.68, 5.03, 4.2, 2.93,
2.48, 3.01, 3.52, 4.68, 6.27, 6.97, 7.72, 7.39, 6.34, 5.52, 3.95,
2.88, 2.41, 2.24, 3.7, 5.23, 5.63, 5.64, 7.03, 7.13, 6.42, 5.3,
3.88, 2.81, 2.48, 2.68, 3.49, 4.91, 5.19, 7.02, 7.52, 7.37, 6.15,
4.75, 3.79, 3.1, 2.52, 2.75, 3.24, 5.15, 6.29, 6.77, 7.5, 7.13,
6.44, 4.97, 3.55, 3.13, 2.37, 2.53, 3.75, 4.96, 6.27, 7.18, 7.38,
7.23, 6.5, 4.94, 4.27, 3.04, 2.09, 2.52, 2.89, 4.1, 5.97), .Tsp =
c(1982.75,
2010.25, 12), class = "ts")
#
# Cambiamos el "NA" por ROJO
Tabla[which(is.na(Tabla))]<-rep("ROJO",
     length(which(is.na(Tabla))))
#
aux.tabla<-capture.output(print.xtable(xtable(Tabla)))
#
# Valores con los que vamos a rellenar, además incluye la
# expresión de Latex que los pondrá en rojo
aux.valesc<-c("\\textcolor{rojo}{ 2.85 }", "\\textcolor{rojo}{ 4.64 }",
"\\textcolor{rojo}{ 2.58 }",
"\\textcolor{rojo}{ 3.47 }", "\\textcolor{rojo}{ 4.64 }",
"\\textcolor{rojo}{ 5.81 }",
"\\textcolor{rojo}{ 6.7 }", "\\textcolor{rojo}{ 7.09 }",
"\\textcolor{rojo}{ 6.9 }",
"\\textcolor{rojo}{ 6.17 }", "\\textcolor{rojo}{ 5.07 }",
"\\textcolor{rojo}{ 3.47 }",
"\\textcolor{rojo}{ 6.9 }", "\\textcolor{rojo}{ 6.17 }",
"\\textcolor{rojo}{ 5.07 }"
)
#

Y aquí estoy, no se como sustituir los valores de aux.valesc en
aux.tabla, he probado con:

gsub("ROJO",aux.valesc,aux.tabla1)

pero no funciona ya que solo reemplaza ROJO con el primer valor de
aux.valesc.

Ya había intentado introducir el \textcolor en la variable Tabla, pero
al pasarla por xtable cambia la barra por «backslash».

La idea de hacerlo así la he sacado de aquí:

http://stackoverflow.com/questions/12148770/changing-the-color-of-negative-numbers-to-red-in-a-table-generated-with-xtable/12148962#12148962

¡Hum! ¿Quizás con el paquete Hmisc?:

http://r.789695.n4.nabble.com/Hmisc-latex-cell-background-color-td790064.html

Acepto ideas y consejos.

Gracias por vuestra atención.

Salud y Revolución.

Lobo.
-- 
Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux,
para no atar mis manos con las cadenas del soft propietario.
Porque la libertad no es tu derecho, es tu responsabilidad.
http://www.mucharuina.com
---------
Desde El Ejido, en Almería, usuario registrado Linux #294013
http://www.counter.li.org

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es