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.)
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))))) } 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.)
Hola, dándole vueltas, llegué a esta función: freq <- function(x,datos){ attach(datos) cosaini <- table(cut(x, breaks=nclass.Sturges(x))) cosa <- cosaini dimnames(cosa) <- NULL freq.abs <- cosa[1:length(cosa)] freq.rel <- freq.abs/sum(freq.abs) freq.cum.rel <- cumsum(freq.rel) freq.cum.abs <- cumsum(freq.abs) list(data.frame(cosaini,freq.rel,freq.cum.abs,freq.cum.rel)) } Aunque no consigo detectar automáticamente que un objeto de ls() es un data.frame y me gustaría programarlo en RCommander. Disculpad por tanto correo :-/> 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))))) > } > > 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.) > _______________________________ > >jm~ _______________________________ J. Miguel Marin http://www.est.uc3m.es/jmmarin Dep. of Statistics University Carlos III of Madrid Spain (E.U.)
Una posible solucion es utilizar la funcion "hist()" que en definitiva hace lo que necesitas. Ademas, como es para docencia tendrias la posibilidad de explicar graficos y tablas de frecuencias conjuntamente. Aca va un ejemplo:> set.seed(123) > x <- rnorm(100, mean = 2, sd = 3) > tmp <- hist(x, plot = F) > names(tmp)[1] "breaks" "counts" "intensities" "density" "mids" [6] "xname" "equidist"> cbind(tmp$mids, tmp$counts)[,1] [,2] [1,] -5 1 [2,] -3 3 [3,] -1 15 [4,] 1 29 [5,] 3 26 [6,] 5 16 [7,] 7 7 [8,] 9 3>Pablo ----- Original Message ----- From: "J. Miguel Marin" <jmmarin en est-econ.uc3m.es> To: <R-help-es en r-project.org> Sent: Monday, November 16, 2009 12:12 PM Subject: [R-es] Funcion para una tabla de frecuencias 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
Hola, ¿qué tal? No sé si te valdría la función "describe" del paquete Hmisc. Por ejemplo: library( Hmisc ) describe( iris$Species ) describe( iris$Species )$values describe( iris ) Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.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))))) > } >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
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
Hola colegas: Acabo de instalar R sobre Ubuntu y no encuentro la forma de ejecutarlo, no me ha creado un lanzador en ningún lugar, en verdad no estoy muy relacionado ni con Ubuntu ni con R, Necesito saber como ejecutarlo. Saludos, Leonardo
escribe R (mayúscula) en un terminal (está en accesorios). El entorno de trabajo te lo guarda, si quieres, en la capeta en la que te encuentres. Saludos, Javier El día 16 de noviembre de 2009 15:17, Leonardo Hernández Pérez <leonardo.hernandez en etecsa.cu> escribió:> > Hola colegas: Acabo de instalar R sobre Ubuntu y no encuentro la forma de > ejecutarlo, no me ha creado un lanzador en ningún lugar, en verdad no estoy > muy relacionado ni con Ubuntu ni con R, Necesito saber como ejecutarlo. > > Saludos, > > Leonardo > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >
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@gmail.com>escribió:> Respono yo mismo, para eludivar cuan "evil" es attach() > > 2009/11/16 Kjetil Halvorsen <kjetil1001@gmail.com>: > > 2009/11/16 J. Miguel Marin <jmmarin@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@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@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@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@cnia.inta.gov.ar [[alternative HTML version deleted]]
Hola Leonardo. Cuando hablas de que has instalado R en Ubuntu supongo que te referirás a que los has instalado desde el gestor de paquetes (porque también se puede instar a "a mano"). Ubuntu trae, por defecto, activados unos repositorios de software. Ahí puedes encontrar R e instalarlo (y varios de los packages del CRAN) aunque yo te recomiendo que añadas manualmente el repositorio "deb http://crans.es.r-project.org/bin/linux/ubuntu karmic/" (sin las comillas) para que lea directamente del mirror español de R-Project y tengas una versión actualizada de R (y muchos más packages disponibles). Entre esos packages se encuentra Rcommander, que es el GUI que te recomiendo utilizar. Además de este GUI, existe uno más integrado con KDE que se llama RkWard... Pero no te lo recomiendo porque da algunos problemmillas con las últimas versiones de R (aunque están en ello e igual ya lo han solucionado). Como he comentado en alguna ocasión, hemos preparado una distro de Linux basada en Ubuntu (con KDE), llamada EpiLinux (www.galiciasaude.es/dxsp), que ya trae todo esto implementado (es una distro para bioestadística y estudios de salud). Enlace de descarga: www.galiciasaude.es/epilinux Nosotros, en un principio habíamos apostado por RkWard pero, al final, optamos por Rcommander. Una vez instalado, lanzar el programa es tan sencillo como ir al menú y buscar el icono de "R". En caso de que lo hayas instalado "a mano", simplemente abre una ventana de terminal y pon "R" (sin las comillas). Espero haberte ayudado. Un Saludo, Miguel. -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Leonardo Hernández Pérez Enviado el: lunes, 16 de noviembre de 2009 21:17 CC: r-help-es en r-project.org Asunto: [R-es] R en Ubuntu Hola colegas: Acabo de instalar R sobre Ubuntu y no encuentro la forma de ejecutarlo, no me ha creado un lanzador en ningún lugar, en verdad no estoy muy relacionado ni con Ubuntu ni con R, Necesito saber como ejecutarlo. Saludos, Leonardo Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm
Hola, ¿qué tal? Estoy con Kjetil en que el uso de "attach" no debería recomendarse. Hay que saber que existe (porque se usa en algunos lugares) pero hay que alojarlo en el mismo lugar de la memoria (del usuario) que almacena el comando "GOTO". "attach" no deja de ser un subterfugio para teclear menos ("syntactic sugar"). R tiene estructuras de datos y eso es una ventaja, no un inconveniente. A los datos atómicos dentro de una estructura de datos se accede de una manera u otra y la sintaxis en los distintos lenguajes viene a ser similar. Creo que lo más honrado y transparente es decir muy claramente: señores, a la columna "columna1" de la tabla "mi.tabla" se accede así: mi.tabla$columna1 (o mi.tabla[["columna1"]]) Es un mínimo nivel de complejidad que no se debe escamotear. Sigue siendo cierto que "with" (y "by", "apply" o "lapply" para ciertos usos) sigue siendo útil para prolongar la vida de los teclados. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com
Hola colegas: No había tenido oportunidad para responder, a todos gracias por sus respuestas, en estos momentos estoy probando todas las opciones que me brindaron, les comentaré los resultados y más adelante les estaré haciendo otras preguntas relacionadas con el tema, un abrazo a todos. Saludos, Leonardo miguel.angel.rodriguez.muinos en sergas.es escribió:> Hola Leonardo. > > Cuando hablas de que has instalado R en Ubuntu supongo que te referirás a que los has instalado desde el gestor de paquetes (porque también se puede instar a "a mano"). > > Ubuntu trae, por defecto, activados unos repositorios de software. Ahí puedes encontrar R e instalarlo (y varios de los packages del CRAN) aunque yo te recomiendo que añadas manualmente el repositorio "deb http://crans.es.r-project.org/bin/linux/ubuntu karmic/" (sin las comillas) para que lea directamente del mirror español de R-Project y tengas una versión actualizada de R (y muchos más packages disponibles). Entre esos packages se encuentra Rcommander, que es el GUI que te recomiendo utilizar. > > Además de este GUI, existe uno más integrado con KDE que se llama RkWard... Pero no te lo recomiendo porque da algunos problemmillas con las últimas versiones de R (aunque están en ello e igual ya lo han solucionado). > > Como he comentado en alguna ocasión, hemos preparado una distro de Linux basada en Ubuntu (con KDE), llamada EpiLinux (www.galiciasaude.es/dxsp), que ya trae todo esto implementado (es una distro para bioestadística y estudios de salud). > Enlace de descarga: www.galiciasaude.es/epilinux > Nosotros, en un principio habíamos apostado por RkWard pero, al final, optamos por Rcommander. > > Una vez instalado, lanzar el programa es tan sencillo como ir al menú y buscar el icono de "R". > > En caso de que lo hayas instalado "a mano", simplemente abre una ventana de terminal y pon "R" (sin las comillas). > > Espero haberte ayudado. > > Un Saludo, > Miguel. > > > > -----Mensaje original----- > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Leonardo Hernández Pérez > Enviado el: lunes, 16 de noviembre de 2009 21:17 > CC: r-help-es en r-project.org > Asunto: [R-es] R en Ubuntu > > > Hola colegas: Acabo de instalar R sobre Ubuntu y no encuentro la forma de ejecutarlo, no me ha creado un lanzador en ningún lugar, en verdad no estoy muy relacionado ni con Ubuntu ni con R, Necesito saber como ejecutarlo. > > Saludos, > > Leonardo > > > > Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. > > Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. > > See more languages: http://www.sergas.es/aviso_confidencialidad.htm > > >------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20091117/daab31fb/attachment.pl>
Saludos Leonardo: El ambiente en donde trabajo el R es en Ubuntu, y lo he instalado "a mano", es decir que lo he compilado desde el archivo fuente. Se requiere un poco de paciencia para agregar todos los componentes ".dev" que se necesitan para que trabaje con todas sus ventajas. También utilizo el Rkward (también compilo la última version 0.5.2 y requiere otros componentes adicionales), y hasta ahora me ha funcionado bien con la version 2.10.0 patched del R. Espero poder resolver dudas que te puedan surgir en la experiencia del R en el entorno Ubuntu. Feliz día. El mar, 17-11-2009 a las 16:21 -0500, Leonardo Hernández Pérez escribió:> Hola colegas: > > No había tenido oportunidad para responder, a todos gracias por sus > respuestas, en estos momentos estoy probando todas las opciones que me > brindaron, les comentaré los resultados y más adelante les estaré > haciendo otras preguntas relacionadas con el tema, un abrazo a todos. > > Saludos, > > Leonardo > > > > miguel.angel.rodriguez.muinos en sergas.es escribió: > > Hola Leonardo. > > > > Cuando hablas de que has instalado R en Ubuntu supongo que te referirás a que los has instalado desde el gestor de paquetes (porque también se puede instar a "a mano"). > > > > Ubuntu trae, por defecto, activados unos repositorios de software. Ahí puedes encontrar R e instalarlo (y varios de los packages del CRAN) aunque yo te recomiendo que añadas manualmente el repositorio "deb http://crans.es.r-project.org/bin/linux/ubuntu karmic/" (sin las comillas) para que lea directamente del mirror español de R-Project y tengas una versión actualizada de R (y muchos más packages disponibles). Entre esos packages se encuentra Rcommander, que es el GUI que te recomiendo utilizar. > > > > Además de este GUI, existe uno más integrado con KDE que se llama RkWard... Pero no te lo recomiendo porque da algunos problemmillas con las últimas versiones de R (aunque están en ello e igual ya lo han solucionado). > > > > Como he comentado en alguna ocasión, hemos preparado una distro de Linux basada en Ubuntu (con KDE), llamada EpiLinux (www.galiciasaude.es/dxsp), que ya trae todo esto implementado (es una distro para bioestadística y estudios de salud). > > Enlace de descarga: www.galiciasaude.es/epilinux > > Nosotros, en un principio habíamos apostado por RkWard pero, al final, optamos por Rcommander. > > > > Una vez instalado, lanzar el programa es tan sencillo como ir al menú y buscar el icono de "R". > > > > En caso de que lo hayas instalado "a mano", simplemente abre una ventana de terminal y pon "R" (sin las comillas). > > > > Espero haberte ayudado. > > > > Un Saludo, > > Miguel. > > > > > > > > -----Mensaje original----- > > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Leonardo Hernández Pérez > > Enviado el: lunes, 16 de noviembre de 2009 21:17 > > CC: r-help-es en r-project.org > > Asunto: [R-es] R en Ubuntu > > > > > > Hola colegas: Acabo de instalar R sobre Ubuntu y no encuentro la forma de ejecutarlo, no me ha creado un lanzador en ningún lugar, en verdad no estoy muy relacionado ni con Ubuntu ni con R, Necesito saber como ejecutarlo. > > > > Saludos, > > > > Leonardo > > > > > > > > Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. > > > > Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. > > > > See more languages: http://www.sergas.es/aviso_confidencialidad.htm > > > > > > > --- > Este mensaje fue revisado por Kaspersky Mail Gateway en el servidor imx2.etecsa.cu > Visite nuestros sitios: <http://www.kaspersky.com>, <http://www.viruslist.com> > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola Colegas: Ahora tengo otras dudas. Instalé Rkward, sin problemas, me ha trabajado bien, y me aparece un lanzador sin problemas. Instalé Rcommander desde la consola pero no me aparece ningún lanzador ¿Que debo hacer para ejecutarlo? Añadí a sources.list # deb http://cran.es.r-project.org/bin/linux/ubuntu karmic/, actualicé pero no vi nada que hablara de R en el proceso de actualización, ¿Como puedo comprobar que está tomando las actualizaciones desde esa ubicación? Un saludo a todos, Leonardo [[alternative HTML version deleted]]
Hola Leonardo: RCommander es un paquete para R. Debes cargarlo como cargas cualquier paquete en R library(RCommander) #No recuerdo si las mayúsculas están bien pero sino cámbialo por minúsculas. Respecto a lo otro no tengo idea. Saludos Luciano El día 19 de noviembre de 2009 12:26, Leonardo Hernández Pérez <leonardo.hernandez en etecsa.cu> escribió:> Hola Colegas: > > Ahora tengo otras dudas. > > Instalé Rkward, sin problemas, me ha trabajado bien, y me aparece un > lanzador sin problemas. > Instalé Rcommander desde la consola pero no me aparece ningún lanzador > ¿Que debo hacer para ejecutarlo? > Añadí a sources.list # deb > http://cran.es.r-project.org/bin/linux/ubuntu karmic/, actualicé pero no > vi nada que hablara de R en el proceso de actualización, ¿Como puedo > comprobar que está tomando las actualizaciones desde esa ubicación? > > Un saludo a todos, > > Leonardo > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >
Ya lo hice, el comando es library(Rcmdr), un millón de gracias Luciano. Saludos, Leonardo Luciano Selzer escribió:> Hola Leonardo: > RCommander es un paquete para R. Debes cargarlo como cargas cualquier > paquete en R > library(RCommander) #No recuerdo si las mayúsculas están bien pero > sino cámbialo por minúsculas. > > Respecto a lo otro no tengo idea. > Saludos > Luciano > > > > El día 19 de noviembre de 2009 12:26, Leonardo Hernández Pérez > <leonardo.hernandez@etecsa.cu> escribió: > >> Hola Colegas: >> >> Ahora tengo otras dudas. >> >> Instalé Rkward, sin problemas, me ha trabajado bien, y me aparece un >> lanzador sin problemas. >> Instalé Rcommander desde la consola pero no me aparece ningún lanzador >> ¿Que debo hacer para ejecutarlo? >> Añadí a sources.list # deb >> http://cran.es.r-project.org/bin/linux/ubuntu karmic/, actualicé pero no >> vi nada que hablara de R en el proceso de actualización, ¿Como puedo >> comprobar que está tomando las actualizaciones desde esa ubicación? >> >> Un saludo a todos, >> >> Leonardo >> >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >> > > >[[alternative HTML version deleted]]
> Añadí a sources.list # deb > http://cran.es.r-project.org/bin/linux/ubuntu karmic/, actualicé pero no > vi nada que hablara de R en el proceso de actualización, ¿Como puedo > comprobar que está tomando las actualizaciones desde esa ubicación?Hola, ¿qué tal? "apt" gestiona las prioridades a la hora de instalar paquetes cuando están presentes en varios repositorios. Hay formas de priorizar unas fuentes sobre otras. Creo que la política por defecto cuando no se establecen (a mano) tal tipo de prioridades es la de cargar el paquete más actual. Durante casi todo el tiempo, las fuentes de los repositorios de CRAN y los de Ubuntu coinciden. Sólo es durante una ventana de tiempo que las fuentes de CRAN pueden disponer de una versión más reciente que las de Ubuntu. En el peor de los casos, siempre puedes consultar qué versión de cada paquete están disponibles en uno y otro de los repositorios. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com
Hola Leonardo. Entiendo que has añadido ese repositorio y actualizado la lista de paquetes. Si cargas algún gestor gráfico (tipo Synaptics o similar) te aparecerán (aunque algunos de ellos ya estaban con los repositorios por defecto de Ubuntu) una serie de paquetes llamados "r-base.loquesea" y "r-cran.loquesea". El primero es R y los demás son packages instalables (uno de ellos el r-cran-rcmdr (creo recordar que se llama así). Seleccionando lo que te interesa instalar (r-base es primordial) tendrás R instalado en el sistema y el conjunto de packages adicionales que necesites. Una vez terminada la instalación, te aparece un icono de acceso directo en el menú (la ubicación dependerá del GUI que uses). El Rcommander tienes que lanzarlo desde dentro de R (una vez cargado) con library(Rcmdr). Si quieres que cargue automáticamente al iniciar R, simplemente edita el fichero Rprofile.site (de la carpeta etc, centro de la carpeta de instalación de R) y añádele al final la instrucción "library(Rcmdr)" (sin las comillas, of course). Un Saludo, Miguel. -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Leonardo Hernández Pérez Enviado el: jueves, 19 de noviembre de 2009 16:27 Para: r-help-es en r-project.org Asunto: Re: [R-es] R en Ubuntu Hola Colegas: Ahora tengo otras dudas. Instalé Rkward, sin problemas, me ha trabajado bien, y me aparece un lanzador sin problemas. Instalé Rcommander desde la consola pero no me aparece ningún lanzador ¿Que debo hacer para ejecutarlo? Añadí a sources.list # deb http://cran.es.r-project.org/bin/linux/ubuntu karmic/, actualicé pero no vi nada que hablara de R en el proceso de actualización, ¿Como puedo comprobar que está tomando las actualizaciones desde esa ubicación? Un saludo a todos, Leonardo Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm XACOBEO 2010: http://www.xacobeo.org
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.)
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 lafunció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() deobjetos,>> >>> 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 maneraasequible?>> 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
Beatriz Lacruz
2009-Nov-20 13:13 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
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 >
Hola Miguel Angel: Gracias por tu ayuda, funciona perfecto, solo me costó un poco de trabajo encontrar el fichero "profile", su ubicación es "/usr/lib/R/library/base/R" Un saludo a todos, Leonardo miguel.angel.rodriguez.muinos en sergas.es escribió:> Hola Leonardo. > > Entiendo que has añadido ese repositorio y actualizado la lista de paquetes. Si cargas algún gestor gráfico (tipo Synaptics o similar) te aparecerán (aunque algunos de ellos ya estaban con los repositorios por defecto de Ubuntu) una serie de paquetes llamados "r-base.loquesea" y "r-cran.loquesea". El primero es R y los demás son packages instalables (uno de ellos el r-cran-rcmdr (creo recordar que se llama así). Seleccionando lo que te interesa instalar (r-base es primordial) tendrás R instalado en el sistema y el conjunto de packages adicionales que necesites. Una vez terminada la instalación, te aparece un icono de acceso directo en el menú (la ubicación dependerá del GUI que uses). El Rcommander tienes que lanzarlo desde dentro de R (una vez cargado) con library(Rcmdr). Si quieres que cargue automáticamente al iniciar R, simplemente edita el fichero Rprofile.site (de la carpeta etc, centro de la carpeta de instalación de R) y añádele al final la instrucción "library(Rcmdr)" (sin las comillas, of course). > > Un Saludo, > Miguel. > > > -----Mensaje original----- > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Leonardo Hernández Pérez > Enviado el: jueves, 19 de noviembre de 2009 16:27 > Para: r-help-es en r-project.org > Asunto: Re: [R-es] R en Ubuntu > > Hola Colegas: > > Ahora tengo otras dudas. > > Instalé Rkward, sin problemas, me ha trabajado bien, y me aparece un lanzador sin problemas. > Instalé Rcommander desde la consola pero no me aparece ningún lanzador ¿Que debo hacer para ejecutarlo? > Añadí a sources.list # deb > http://cran.es.r-project.org/bin/linux/ubuntu karmic/, actualicé pero no vi nada que hablara de R en el proceso de actualización, ¿Como puedo comprobar que está tomando las actualizaciones desde esa ubicación? > > Un saludo a todos, > > Leonardo > > > > Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. > > Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. > > See more languages: http://www.sergas.es/aviso_confidencialidad.htm > > XACOBEO 2010: http://www.xacobeo.org > > > >------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20091120/125825cb/attachment.pl>
Carlos J. Gil Bellosta
2009-Nov-20 13:56 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
plot( 1:10, 1:10, xlab = expression("Esto es"~chi) ) El día 20 de noviembre de 2009 14:13, Beatriz Lacruz <lacruz en unizar.es> escribió:> 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
Carlos J. Gil Bellosta
2009-Nov-20 14:02 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
plot( 1:10, 1:10, xlab = expression("Esto es"~chi) ) El día 20 de noviembre de 2009 14:13, Beatriz Lacruz <lacruz en unizar.es> escribió:> 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
Jorge Ivan Velez
2009-Nov-20 14:12 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
Buenos dias Beatriz, En Windows, esta es una manera de generar el gráfico en formato eps con letras griegas en las leyendas: plot(1:10, xlab = expression(chi^2), ylab = expression(sigma^2) ) savePlot(''C:/ejemplo.eps'', type = ''eps'', device = dev.cur()) Como verás, todo funciona sin problemas tanto en la ventana gráfica de R como en el archivo eps generado. Cómo generaste tu gráfico? Qué instrucción utilizaste para guardarlo? Sobre qué plataforma (Wndows, Mac, Linux) estás trabajando? Qué versión de R utilizas? Esta simple información podría ayudarnos a ayudarte. Espero sea de utilidad, Jorge Ivan Velez 2009/11/20 Beatriz Lacruz <>> 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/ >_______________________________________________> R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
2009/11/20 Pablo Emilio Verde <PabloEmilio.Verde@uni-duesseldorf.de>> 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. >Esto no es necesariamente correcto. Una función como "attach" que ha existido mucho tiempo, y que esta mencionado en muchos libros, es muy dificil de remover del sistema. Kjetil> > 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@est-econ.uc3m.es> > To: <r-help-es@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@gmail.com>escribió: > > > >> Respono yo mismo, para eludivar cuan "evil" es attach() > >> > >> 2009/11/16 Kjetil Halvorsen <kjetil1001@gmail.com>: > >> > 2009/11/16 J. Miguel Marin <jmmarin@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@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@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@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@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@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > _______________________________________________ > R-help-es mailing list > R-help-es@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 [[alternative HTML version deleted]]
Beatriz Lacruz
2009-Nov-20 15:13 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
Gracias por vuestras respuestas. Me valen todas, excepto legend("topleft",substitute(chi)) que no funciona. El problema ahora es que al abrir el .eps tiene las letras griegas, pero al compilarlo dentro de un archivo latex se vuelven latinas. Pero supongo que me tendré que ir a un foro de LaTex a preguntar. Por si sirve para algo, mi función es: curve(dchisq(x, 2), 0, 16,ylab="",lwd=2) curve(dchisq(x, 4), 0, 16, add=TRUE, lwd=2,lty=2) curve(dchisq(x, 8), 0, 16, add=TRUE, lwd=2,lty=3) text(0.7,0.5,"n=2") text(4.5,0.15,"n=4") text(12,0.07,"n=8") legend("center",expression({chi^2}[n]),bty="n",cex=2) Le he añadido para probar: legend("topleft",substitute(chi)) #que no funciona legend("topright",expression("Esto es"~chi)) savePlot(''chi.eps'', type = ''eps'', device = dev.cur()) Mi plataforma es Windows y la versión de R 2.9.2. Muchas gracias por responder tan rápido. 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: Jorge Ivan Velez To: Beatriz Lacruz Cc: r-help-es@r-project.org Sent: Friday, November 20, 2009 3:12 PM Subject: Re: [R-es] Guardar gráficos en eps con letras griegas en las leyendas Buenos dias Beatriz, En Windows, esta es una manera de generar el gráfico en formato eps con letras griegas en las leyendas: plot(1:10, xlab = expression(chi^2), ylab = expression(sigma^2) ) savePlot(''C:/ejemplo.eps'', type = ''eps'', device = dev.cur()) Como verás, todo funciona sin problemas tanto en la ventana gráfica de R como en el archivo eps generado. Cómo generaste tu gráfico? Qué instrucción utilizaste para guardarlo? Sobre qué plataforma (Wndows, Mac, Linux) estás trabajando? Qué versión de R utilizas? Esta simple información podría ayudarnos a ayudarte. Espero sea de utilidad, Jorge Ivan Velez 2009/11/20 Beatriz Lacruz <> 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/ _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Beatriz Lacruz
2009-Nov-20 15:13 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
Gracias por vuestras respuestas. Me valen todas, excepto legend("topleft",substitute(chi)) que no funciona. El problema ahora es que al abrir el .eps tiene las letras griegas, pero al compilarlo dentro de un archivo latex se vuelven latinas. Pero supongo que me tendré que ir a un foro de LaTex a preguntar. Por si sirve para algo, mi función es: curve(dchisq(x, 2), 0, 16,ylab="",lwd=2) curve(dchisq(x, 4), 0, 16, add=TRUE, lwd=2,lty=2) curve(dchisq(x, 8), 0, 16, add=TRUE, lwd=2,lty=3) text(0.7,0.5,"n=2") text(4.5,0.15,"n=4") text(12,0.07,"n=8") legend("center",expression({chi^2}[n]),bty="n",cex=2) Le he añadido para probar: legend("topleft",substitute(chi)) #que no funciona legend("topright",expression("Esto es"~chi)) savePlot(''chi.eps'', type = ''eps'', device = dev.cur()) Mi plataforma es Windows y la versión de R 2.9.2. Muchas gracias por responder tan rápido. 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: Jorge Ivan Velez To: Beatriz Lacruz Cc: r-help-es@r-project.org Sent: Friday, November 20, 2009 3:12 PM Subject: Re: [R-es] Guardar gráficos en eps con letras griegas en las leyendas Buenos dias Beatriz, En Windows, esta es una manera de generar el gráfico en formato eps con letras griegas en las leyendas: plot(1:10, xlab = expression(chi^2), ylab = expression(sigma^2) ) savePlot(''C:/ejemplo.eps'', type = ''eps'', device = dev.cur()) Como verás, todo funciona sin problemas tanto en la ventana gráfica de R como en el archivo eps generado. Cómo generaste tu gráfico? Qué instrucción utilizaste para guardarlo? Sobre qué plataforma (Wndows, Mac, Linux) estás trabajando? Qué versión de R utilizas? Esta simple información podría ayudarnos a ayudarte. Espero sea de utilidad, Jorge Ivan Velez 2009/11/20 Beatriz Lacruz <> 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/ _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Basicamente, la funcion "attach()" es un componente estable del lenguage y por eso hay que mantenerla. Pero, el tema de discusion es si a futuros usuarios se les debe o no enseñar el uso de "attach()". Lo mismo vale para gente que no tiene mucha experiencia dando cursos de R y tiene que tomar esta decision. Mi opinion es que *SI* hay que enseñar el uso de "attach()" y contrastarla con "with()". Pablo ----- Original Message ----- From: "Kjetil Halvorsen" <kjetil1001 en gmail.com> To: "Pablo Emilio Verde" <PabloEmilio.Verde en uni-duesseldorf.de> Cc: <r-help-es en r-project.org> Sent: Friday, November 20, 2009 3:52 PM Subject: Re: [R-es] Funcion para una tabla de frecuencias 2009/11/20 Pablo Emilio Verde <PabloEmilio.Verde en uni-duesseldorf.de>> 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. >Esto no es necesariamente correcto. Una función como "attach" que ha existido mucho tiempo, y que esta mencionado en muchos libros, es muy dificil de remover del sistema. Kjetil> > 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()". Delo> contrario si la asignacion es local "with()" es mas efectivo. > > El peligro de utilizar "attach()" en forma indescriminada, es que sepueden> 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ónde> >> 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 >-- "... an entire human genome would fit on a music CD." --- www.thinkgene.com [[alternative HTML version deleted]] ---------------------------------------------------------------------------- ---- _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Jorge Ivan Velez
2009-Nov-20 15:41 UTC
[R-es] Guardar gráficos en eps con letras griegas en las leyendas
Buenos dias Beatriz, Para las leyendas puedes adaptar lo siguiente: n <- c(2, 4, 8) curve(dchisq(x, 2), 0, 16,ylab="f(x, n)",lwd=2, las=1, xlab ''x'') curve(dchisq(x, 4), 0, 16, add=TRUE, lwd=2,lty=2) curve(dchisq(x, 8), 0, 16, add=TRUE, lwd=2,lty=3) # text(0.7,0.5,"n=2") # text(4.5,0.15,"n=4") # text(12,0.07,"n=8") legend(8.5, .5, paste(''n='', n, sep=""), bty = ''n'', lty = 1:3, title expression(chi[n]^2), ncol = 3) savePlot(''chi.eps'', type = ''eps'', device = dev.cur()) En cuanto al problema que tienes con LaTeX, has intentado generando el archivo en PDF y luego compilando en este formato? Saludos, Jorge Ivan Velez 2009/11/20 Beatriz Lacruz <>> Gracias por vuestras respuestas. > Me valen todas, excepto legend("topleft",substitute(chi)) que no funciona. > > El problema ahora es que al abrir el .eps tiene las letras griegas, pero al > compilarlo dentro de un archivo latex se vuelven latinas. Pero supongo que > me tendré que ir a un foro de LaTex a preguntar. > > Por si sirve para algo, mi función es: > > curve(dchisq(x, 2), 0, > 16,ylab="",lwd=2) > curve(dchisq(x, 4), 0, 16, add=TRUE, lwd=2,lty=2) > curve(dchisq(x, 8), 0, 16, add=TRUE, lwd=2,lty=3) > text(0.7,0.5,"n=2") > text(4.5,0.15,"n=4") > text(12,0.07,"n=8") > legend("center",expression({chi^2}[n]),bty="n",cex=2) > Le he añadido para probar: > legend("topleft",substitute(chi)) #que no funciona > legend("topright",expression("Esto es"~chi)) > savePlot(''chi.eps'', type = ''eps'', device = dev.cur()) > > Mi plataforma es Windows y la versión de R 2.9.2. > > Muchas gracias por responder tan rápido. > > 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:* Jorge Ivan Velez <jorgeivanvelez@gmail.com> > *To:* Beatriz Lacruz <lacruz@unizar.es> > *Cc:* r-help-es@r-project.org > *Sent:* Friday, November 20, 2009 3:12 PM > *Subject:* Re: [R-es] Guardar gráficos en eps con letras griegas en las > leyendas > > Buenos dias Beatriz, > > En Windows, esta es una manera de generar el gráfico en formato eps con > letras griegas en las leyendas: > > plot(1:10, xlab = expression(chi^2), ylab = expression(sigma^2) ) > savePlot(''C:/ejemplo.eps'', type = ''eps'', device = dev.cur()) > > Como verás, todo funciona sin problemas tanto en la ventana gráfica de R > como en el archivo eps generado. > > Cómo generaste tu gráfico? Qué instrucción utilizaste para guardarlo? > Sobre qué plataforma (Wndows, Mac, Linux) estás trabajando? Qué versión de R > utilizas? Esta simple información podría ayudarnos a ayudarte. > > Espero sea de utilidad, > > Jorge Ivan Velez > > > 2009/11/20 Beatriz Lacruz <> > >> 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/ >> > > > > > _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > >[[alternative HTML version deleted]]