[R-es] Guardar gráficos en eps con letras griegas en las leyendas

Beatriz Lacruz lacruz en unizar.es
Vie Nov 20 14:13:33 CET 2009


Hola,

Acabo de empezar a trabajar con R.

¿Me podríais recomendar algún texto en el que esté explicado cómo trabajar 
con gráficos?

Mi problema es que cuando guardo una gráfica desde la ventana en formato 
postscript las letras griegas que he incluido con expression en la leyendas 
de los ejes no se guardan como tales. Por ejemplo, en vez de la letra chi 
aparece una c.

Gracias de antemano,

Beatriz Lacruz Casaucau
______________________________________________________

Universidad de Zaragoza
Departamento de Métodos Estadísticos
Edificio de Matemáticas, 3ª planta
Pedro Cerbuna, 12
50009 Zaragoza (Spain)

Tel. 976 76 10 00 Ext. 3245
Fax. 976 76 11 15

http://metodosestadisticos.unizar.es/personales/lacruz/
______________________________________________________
----- Original Message ----- 
From: "Pablo Emilio Verde" <PabloEmilio.Verde en uni-duesseldorf.de>
To: "J. Miguel Marin" <jmmarin en est-econ.uc3m.es>; <r-help-es en r-project.org>
Sent: Friday, November 20, 2009 1:48 PM
Subject: Re: [R-es] Funcion para una tabla de frecuencias


> Hola,
>
> Si, el tema es fundamental para las clases de estadistica introductoria.
>
> Algo que note es lo siguiente, la funcion "graph.freq()" del paquete
> "agricolae" es la funcion "hist()" del paquete "graphics" standard.
> Exactamente la misma! La funcion "table.freq()" te agrega la tabla
> que necesitabas.
>
> Podes probar:
>
> library(agricolae)
> set.seed(123)
>  x <- rnorm(100, mean = 2, sd=1)
> tmp <- hist(x, plot=FALSE)
> table.freq(tmp)
>
> Como tema marginal salio la discusion del uso de "with()" o "attach()".
> Indudablemente, ni uno ni otro es mejor, ni uno ni otro es arcaico. 
> Entiendo
> que, si deberian estar en desuso, entonces no formarian parte del sistema.
>
> El tema pasa, por el contexto en el que se utiilzan. Claramente, si
> necesitamos
> la asignacion de un data.frame en forma global utilizanos "attach()". De 
> lo
> contrario si la asignacion es local "with()" es mas efectivo.
>
> El peligro de utilizar "attach()" en forma indescriminada, es que se 
> pueden
> enmascarar variables que no necesitamos en un analisis y entiendo que R
> no siempre nos avisa! Asi que su uso requiere de mas cuidado y el uso
> conjunto de "detach()".
>
> Cuando hago un analisis de datos de mucha responsabilidad, no utilizo
> ni uno ni otro. Para mi, lo mas importante es que el uso de variables sea
> absolutamente explicito y uso "$". No es muy elegante, pero almenos es
> una decision "mini-max".
>
> Pablo
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ----- Original Message -----
> From: "J. Miguel Marin" <jmmarin en est-econ.uc3m.es>
> To: <r-help-es en r-project.org>
> Sent: Friday, November 20, 2009 11:57 AM
> Subject: Re: [R-es] Funcion para una tabla de frecuencias
>
>
> Hola,
>
> muchas gracias por vuestra ayuda.
> Quizás lo que dice Teresa es lo que mejor se adapta a lo que yo
> buscaba: tablas introductorias como aparecen en los textos básicos y
> que suelen recoger los programas comerciales como opciones inmediatas.
>
> También eran muy interesantes los consejos sobre programación aunque mi
> idea era tratar de introducir el R de una manera competitiva respecto a
> los programas comerciales, aunque eso implique tomar opciones menos
> ortodoxas.
>
> Un saludo
>
>> Hola, yo te respondo sobre las tablas de frecuencia: en la libreria
>> agricolae hay una función muy simple que hace las tablas como se suelen
>> enseñar en los cursos introductorios, ademas podes asociarle facilmente 
>> el
>> histograma correspondiente, acá va del ejemplo del paquete:
>>
>>
>> library(agricolae)
>> data(growth)
>> attach(growth)
>> h2<-graph.freq(height,plot=FALSE)
>> table.freq(h2)
>>
>>
>> saludos, teresa
>>
>>
>> El 16 de noviembre de 2009 16:25, Kjetil Halvorsen
>> <kjetil1001 en gmail.com>escribió:
>>
>>> Respono yo mismo, para eludivar cuan "evil" es attach()
>>>
>>> 2009/11/16 Kjetil Halvorsen <kjetil1001 en gmail.com>:
>>> > 2009/11/16 J. Miguel Marin <jmmarin en est-econ.uc3m.es>:
>>> >> Bueno,
>>> >>
>>> >> obviamente, la solución inmediata es poner attach(dataframe)
>>> >>
>>> >> es decir,
>>> >>
>>> >> freq <- function(x,cosa){
>>> >> attach(cosa)
>>> >> list(data.frame(table(cut(x, breaks=nclass.Sturges(x)))))
>>> >> }
>>>
>>> despues de usar freq(y, cosa)
>>> una vez, una copia de cosa esta en la lista de busqueda (tipea
>>> search() para verlo)
>>>
>>> despues de llamar freq(y2, cosa, dos copias de cosa ... tipea serch()
>>> para ver!
>>> despues de usarlo la tercera vez, etc .......
>>>
>>> Como un mínimo la función tenía que ser definida como esto:
>>>
>>> >> freq <- function(x,cosa){
>>> >> attach(cosa)
>>> >> ans <- list(data.frame(table(cut(x, breaks=nclass.Sturges(x)))))
>>>     detach(cosa)
>>>     ans
>>> >> }
>>>
>>> Pero: Lo mejor es olvidarse de attach() y usar with()
>>>
>>> Kjetil
>>>
>>>
>>> >>
>>> >
>>> > Lo último que hacer es enseñar a futuros usuarios de usar attach(),
>>> pertenece
>>> > a la parte arqueológico de R!
>>> > Tienes que usar with():
>>> > with(cosa, lo_que_quiere_hacer_con_cosa)
>>> > por ejemplo:
>>> > en lugar de definir la funcion freq (que en realidad es una versión de
>>> with()):
>>> > with(cosa, table(x))
>>> > o
>>> > with(cosa,data.frame(table(cut(x,breaks=nclass.Sturges(x)))))
>>> >
>>> > with() necesita más propaganda!!!
>>> >
>>> > Para la pregunta original, talves:
>>> > library(Hmisc)  # paquete muy extenso de Frank Harrel
>>> > ?describe
>>> > example(describe)
>>> >
>>> > Kjetil
>>> >
>>> >
>>> >> Pero estaría mejor no tener que poner el segundo argumento en la
> función
>>> si
>>> >> eso fuera posible...
>>> >> Y mejor aún: incluir un submenú en RCommander.
>>> >>
>>> >>
>>> >>
>>> >>>
>>> >>> Hola,
>>> >>>
>>> >>> me gustaría hacer una función que fuera bastante automática (para
>>> >>> docencia)
>>> >>> y que hiciera tablas de frecuencias.
>>> >>>
>>> >>> La primera idea que funciona es ésta
>>> >>>
>>> >>> freq <- function(x){
>>> >>> list(data.frame(table(cut(x, breaks=nclass.Sturges(x)))))
>>> >>> }
>>> >>>
>>> >>> Sin embarg,o hay que poner (en general) en x algo así como
>>> >>> el_dataframe$x
>>> >>> para que funcione y la gente se lía si les dices que lo pongan así.
>>> >>>
>>> >>> Si escribo la función como
>>> >>>
>>> >>> freq <- function(x,dataframe){
>>> >>> list(data.frame(table(cut(dataframe$x,
>>> >>> breaks=nclass.Sturges(dataframe$x)))))
>>> >>> }
>>> >>>
>>> >>> NO funciona con una tabla de datos dada.
>>> >>>
>>> >>> Por otro lado, también estaría bien que si se hace un ls() de
> objetos,
>>> >>> detectase
>>> >>> aquél que fuese un data frame y lo tomase por defecto. Pero no sé
> cómo
>>> >>> hacerlo.
>>> >>>
>>> >>> Todo ello para hacer una función automática un poco para la gente 
>>> >>> que
>>> no
>>> >>> se aclara
>>> >>> demasiado con RCommnader
>>> >>>
>>> >>> Finalmente ¿esto se podría programar en RCommander de manera
> asequible?
>>> Me
>>> >>> temo que no viene incluída ninguna función para hacer las típicas
>>> tablas de
>>> >>> frecuencias para variables cuantitativas...
>>> >>>
>>> >>> Un saludo
>>> >>>
>>> >>>
>>> >>> jm~
>>> >>>
>>> >>> _______________________________
>>> >>>
>>> >>>       J. Miguel Marin
>>> >>>
>>> >>> http://www.est.uc3m.es/jmmarin
>>> >>>
>>> >>>   Dep. of Statistics
>>> >>> University Carlos III of Madrid
>>> >>>       Spain (E.U.)
>>> >>>
>>> >>> _______________________________________________
>>> >>> R-help-es mailing list
>>> >>> R-help-es en r-project.org
>>> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> jm~
>>> >>
>>> >> _______________________________
>>> >>
>>> >>       J. Miguel Marin
>>> >>
>>> >> http://www.est.uc3m.es/jmmarin
>>> >>
>>> >>   Dep. of Statistics
>>> >> University Carlos III of Madrid
>>> >>       Spain (E.U.)
>>>  >>
>>> >> _______________________________________________
>>> >> R-help-es mailing list
>>> >> R-help-es en r-project.org
>>> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > "... an entire human genome would fit on a music CD."
>>> >
>>> > --- www.thinkgene.com
>>> >
>>>
>>>
>>>
>>> --
>>> "... an entire human genome would fit on a music CD."
>>>
>>> --- www.thinkgene.com
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es en r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>>
>>
>> --
>> Ing. Agr. M.Sc.Teresa Boca
>> Instituto de Clima y Agua INTA Castelar.
>> Las Cabañas y Los Reseros s/n°
>> 1712 Castelar Pcia de Buenos Aires, Argentina
>> Cel: 01115-3572-9584
>> Tel: (54-11)-4621-0125/1684
>> Fax:(54-11)-4621-5663
>> tboca en cnia.inta.gov.ar
>>
>> [[alternative HTML version deleted]]
>>
>>
>
>
>
>
> jm~
>
> _______________________________
>
>        J. Miguel Marin
>
> http://www.est.uc3m.es/jmmarin
>
>    Dep. of Statistics
> University Carlos III of Madrid
>        Spain (E.U.)
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> 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