

Hola,

Marcelino, voy a utilizar este método que me habías indicado. Como en mi caso hago uso de addtable2plot y utilizo el parámetro xpad (para que la tabla creada con addtable2plot no quede más estrecha que el plot que tiene encima), me surge la necesidad de conocer el "width" de dicha tabla en tiempo de ejecución.

¿Sabéis cómo puedo conocer ese valor?.

Gracias.

Eva
--- El mar, 5/3/13, Marcelino de la Cruz <marcelino.delacruz@upm.es> escribió:

De: Marcelino de la Cruz <marcelino.delacruz@upm.es>
Asunto: Re: [R-es] Sencilla tabla de resultados : cómo construirla?
Para: "Carlos Ortega" <cof@qualityexcellence.es>
CC: "Eva Prieto Castro" <evapcastro@yahoo.es>, "Lista R" <r-help-es@r-project.org>
Fecha: martes, 5 de marzo, 2013 20:59


  

    
  
  
    Otra opción es emplear strwidth

      

      

      # Imagina esta tabla "sa"

      

      > sa

           v1     v2      v3       v4        v5         v6

      1 abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij

      2 abcde abcdef abcdefg abcdefgh abcdefghi abcdefghij

      

      # Calcula la anchura de cada celda. Las unidades por defecto son
      usr units, con un cex=1

      > apply(sa, 2, strwidth)

                 v1        v2       v3       v4       v5      v6

      [1,] 0.800959 0.8737735 1.037606 1.183235 1.256049 1.31066

      [2,] 0.800959 0.8737735 1.037606 1.183235 1.256049 1.31066

      

      # la anchura que tendrá cada fila de la tabla:

      > apply(apply(sa, 2, strwidth),1,sum)

      [1] 6.462283 6.462283

      

      # la anchura que tendría si empleásemos un cex=2

      > apply(apply(sa, 2, strwidth, cex=2),1,sum)

      [1] 12.68792 12.68792

      

      # eso quiere decir que si el fragmento de mi layout tiene una
      anchura de 10  unidades usr, con un cex = 1 me sobraría espacio
      (la fila más ancha sería 6.46 unidades) y con un cex = 2 me
      pasaría (12.69 > 10)

      

      Puedo probar diferentes cex, por ejemplo 1.3 me daría una tabla
      más ajustada.

      

      > apply(apply(sa, 2, strwidth, cex=1.3),1,sum)

      [1] 8.428273 8.428273

      

      

      

      

      

      El 05/03/2013 20:37, Carlos Ortega escribió:

    
    
      Hola Eva,
        

          
        Haz una prueba, incluye un
            texto con varias palabras y vas viendo si se descuadra o
            no. 
        Cuando se descuadre,
            cambias el cex hasta que quede ajustado.
        Y repites con
            otras palabras (más cantidad o menos cantidad y con
            diferente tipo de longitud de palabras: cortas y largas)...
        Con estos
            experimentos tendrás una heurística del tipo de cex que
            mejor se puede ajustar para cada caso.
        

          
        Y con esta
            heurística construyes tu función...
        

          
        Saludos,
        Carlos Ortega
        www.qualityexcellence.es
        

        
      
      
        

        

        El 5 de marzo de 2013 20:14, Eva Prieto
          Castro <evapcastro@yahoo.es>
          escribió:

          
            

            Gracias, Marcelino. ¿Y qué criterio utilizo para ajustar ese
            cex?.

            

            Un saludo

            

            --- El mar, 5/3/13, Marcelino de la Cruz <marcelino.delacruz@upm.es>
            escribió:

            

            De: Marcelino de la Cruz <marcelino.delacruz@upm.es>

            Asunto: Re: [R-es] Sencilla tabla de resultados : cómo
            construirla?

            Para: "Eva Prieto Castro" <evapcastro@yahoo.es>

            CC: "Lista R" <r-help-es@r-project.org>

            Fecha: martes, 5 de marzo, 2013 19:08

            
              

                

                

                

                

                

                

                    Podrías hacerte una función que 1)

                      evalúe la máxima longitud del texto que aparecerá
                en las filas y

                      que 2) modifique el cex de aaddtable2plot ó 3)
                "abrevie" lo que

                      finalmente se escribirá.

                

                

                

                      El 05/03/2013 18:41, Eva Prieto Castro escribió:

                

                

                

                      Hola,

                

                Por favor, ¿alguien me puede auxiliar?. Tengo un layout
                con varias regiones/zonas en la ventana gráfica. En cada
                una pongo un plot (en unos casos el plot es visible y en
                otros sólo lo utilizo como comodín para escribir algo en
                los márgenes). En una de las regiones tengo que mostrar
                datos numéricos en una tabla con bordes (y con líneas
                que separen las filas y las columnas). Es una tabla
                simple (p.e. 2 filas y 6 columnas). El problema está en
                que si utilizo la función addtable2plot del paquete
                plotrix, dependiendo de lo extenso que sea el texto de
                las filas, puede haber casos en los cuales aparezca
                cortada por la derecha la tabla, porque no hay manera de
                pasarle un x inicial y un x final al cual la función se
                ajuste.

                

                ¿Se os ocurre alguna idea?.

                

                Gracias.

                

                Eva

                

                        [[alternative HTML version deleted]]

                

                

                

                

                

                

                

                      _______________________________________________

                R-help-es mailing list

                R-help-es@r-project.org

                https://stat.ethz.ch/mailman/listinfo/r-help-es

                

                

                

                

                

                

                    --

                Marcelino de la Cruz Rot

                Depto. de Biología Vegetal

                Universidad Politécnica de Madrid

                Madrid, España

                

                

                

                

                        [[alternative HTML version deleted]]

                

              
            
            

            _______________________________________________

            R-help-es mailing list

            R-help-es@r-project.org

            https://stat.ethz.ch/mailman/listinfo/r-help-es

            

          
        
        

        

        

        
        -- 

        Saludos,

        Carlos Ortega

        www.qualityexcellence.es
      
    
    

    

    -- 
Marcelino de la Cruz Rot
Depto. de Biología Vegetal
Universidad Politécnica de Madrid
Madrid, España

  


	[[alternative HTML version deleted]]

