Hola de nuevo: Veamos... Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. Gracias. Eva [[alternative HTML version deleted]]
No sé si me expliqué bien. Lo que me gustaría sería poder realizar el Load sin necesidad de que el usuario teclee "source("Load.R")"; es decir, ofrecerle la misma comodidad que cuando lanza una función más de las que le disponibilizo. No sé si pido demasiado o si es algo obvio, aunque yo lo ignore. Ya me contaréis. Un saludo Eva --- El lun, 16/7/12, Eva Prieto Castro <evapcastro@yahoo.es> escribió: De: Eva Prieto Castro <evapcastro@yahoo.es> Asunto: Cómo hacer un source de manera "elegante" Para: r-help-es@r-project.org Fecha: lunes, 16 de julio, 2012 17:19 Hola de nuevo: Veamos... Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. Gracias. Eva [[alternative HTML version deleted]]
Hola Eva, Has considerado crear un paquete? Creo que, ademas de "elegante", esa seria la mejor solucion. Saludos, Jorge.- * * 2012/7/16 Eva Prieto Castro <>> Hola de nuevo: > > Veamos... > > Tengo mi aplicación organizada en varios módulos .r, de tal modo que una > vez que los tengo cargados (mediante source("Load.R")) el usuario puede > disfrutar de las funcionalidades llamando directamente a una serie de > funciones que realizan análisis y generan resultados (numéricos y gráficos). > > El caso es que me gustaría "elegantizar" esa carga inicial que realizo > mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito > que la solución sea independiente del sistema operativo. > > Gracias. > > Eva > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Hola Eva, En el paquete devtools, la función load_all carga todos los módulos del directorio que se la pasa como argumento. Es una forma de tenerlo en forma de paquete, sin llegar a ser paquete (requeriría tenerlo bien documentado, etc.). Te recomiendo que le eches un ojo a este curso y sus correspondientes apuntes de Hadley Wicham: http://courses.had.co.nz/12-devtools/ https://github.com/hadley/devtools/wiki Un saludo, Emilio L. Cano El día 16 de julio de 2012 17:19, Eva Prieto Castro <evapcastro en yahoo.es> escribió:> Hola de nuevo: > > Veamos... > > Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). > > El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. > > Gracias. > > Eva > > [[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 >-- _____________________________________ Emilio L. Cano +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos -- _____________________________________ Emilio L. Cano +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos
Como otros han comentado lo idea es organizar tus desarrollos en un paquete pero si tienes prisa, una alternativa "nada elegante" y no muy recomendable, es introducir codigo en un fichero denominado ".RProfile" que este en el mismo directorio donde se ejecute abra R. El codigo que hay en este fichero se ejecutara al arrancar R y hay podria incluir todos los source("") que quisieras. El 16/07/2012 17:19, Eva Prieto Castro escribió:> Hola de nuevo: > > Veamos... > > Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). > > El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. > > Gracias. > > Eva > > [[alternative HTML version deleted]] > > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es-- +-------------------------------------------------------------- | Francisco J. Viciana Fernández | Coordinador del Registro de Población | Servicio de Estadísticas Demográficas y Sociales | Instituto de Estadística y Cartografía de Andalucía | Leonardo Da Vinci, nº 21. Isla de La Cartuja. | 41071 SEVILLA. | franciscoj.viciana@juntadeandalucia.es | Tlf.: +(34) 95 503 38 21 +-------------------------------------------------------------- [[alternative HTML version deleted]]
Gracias. Lo he organizado en un paquete (sin llegar a hacer el check y el build, sino sólo el package.skeleton), pero me da errores después de hacer el load_all, cuando empiezo a lanzar las funciones. El problema está en que no encuentra la variable global que manejo, que es una lista. Ayyy, qué puedo hacer???. Un saludo Eva --- El mar, 17/7/12, Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> escribió: De: Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: r-help-es@r-project.org Fecha: martes, 17 de julio, 2012 10:26 Como otros han comentado lo idea es organizar tus desarrollos en un paquete pero si tienes prisa, una alternativa "nada elegante" y no muy recomendable, es introducir codigo en un fichero denominado ".RProfile" que este en el mismo directorio donde se ejecute abra R. El codigo que hay en este fichero se ejecutara al arrancar R y hay podria incluir todos los source("") que quisieras. El 16/07/2012 17:19, Eva Prieto Castro escribió:> Hola de nuevo: > > Veamos... > > Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). > > El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. > > Gracias. > > Eva > > [[alternative HTML version deleted]] > > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es-- +-------------------------------------------------------------- | Francisco J. Viciana Fernández | Coordinador del Registro de Población | Servicio de Estadísticas Demográficas y Sociales | Instituto de Estadística y Cartografía de Andalucía | Leonardo Da Vinci, nº 21. Isla de La Cartuja. | 41071 SEVILLA. | franciscoj.viciana@juntadeandalucia.es | Tlf.: +(34) 95 503 38 21 +-------------------------------------------------------------- [[alternative HTML version deleted]] -----Adjunto en línea a continuación----- _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
prueba globalVariables(nombre) en el script dondes estén las funciones, antes de crearlas. En teoría esto solo afecta al check. Si es una variable que utilizas dentro de las funciones, igual tienes que crearla en cada script ... El día 17 de julio de 2012 12:28, Eva Prieto Castro <evapcastro en yahoo.es> escribió:> Gracias. > > Lo he organizado en un paquete (sin llegar a hacer el check y el build, sino sólo el package.skeleton), pero me da errores después de hacer el load_all, cuando empiezo a lanzar las funciones. El problema está en que no encuentra la variable global que manejo, que es una lista. > > Ayyy, qué puedo hacer???. > > Un saludo > Eva > > --- El mar, 17/7/12, Francisco Viciana <franciscoj.viciana en juntadeandalucia.es> escribió: > > > De: Francisco Viciana <franciscoj.viciana en juntadeandalucia.es> > Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" > Para: r-help-es en r-project.org > Fecha: martes, 17 de julio, 2012 10:26 > > > Como otros han comentado lo idea es organizar tus desarrollos en un > paquete pero si tienes prisa, una alternativa "nada elegante" y no muy > recomendable, es introducir codigo en un fichero denominado ".RProfile" > que este en el mismo directorio donde se ejecute abra R. El codigo que > hay en este fichero se ejecutara al arrancar R y hay podria incluir > todos los source("") que quisieras. > > > El 16/07/2012 17:19, Eva Prieto Castro escribió: >> Hola de nuevo: >> >> Veamos... >> >> Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). >> >> El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. >> >> Gracias. >> >> Eva >> >> [[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 > > > -- > +-------------------------------------------------------------- > | Francisco J. Viciana Fernández > | Coordinador del Registro de Población > | Servicio de Estadísticas Demográficas y Sociales > | Instituto de Estadística y Cartografía de Andalucía > | Leonardo Da Vinci, nº 21. Isla de La Cartuja. > | 41071 SEVILLA. > | franciscoj.viciana en juntadeandalucia.es > | Tlf.: +(34) 95 503 38 21 > +-------------------------------------------------------------- > > > [[alternative HTML version deleted]] > > > -----Adjunto en línea a continuación----- > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > [[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 >-- _____________________________________ Emilio L. Cano +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos
He probado y no hay manera... Lo que me rompe los esquemas es ésto: lGlo <<- list() #globalVariables(lGlo) Load <- function() { lGlo <<- Load2(lGlo) cat("Libraries have been loaded and lGlo has been initialized.\n") } Reset <- function() { lGlo <<- Load2(lGlo) cat("The list lGlo has been initialized.\n") } Load2 <- function(l.glo) { l.glo$cRefDate <- -1 return (l.glo) } Dos funciones iguales, Load y Reset. Ejecuto primero el Load y funciona, ejecuto a continuación el Reset y no altera el lGlo. ¿Vosotros lo entendéis?. --- El mar, 17/7/12, Emilio López <emilio.lopez@urjc.es> escribió: De: Emilio López <emilio.lopez@urjc.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: "Eva Prieto Castro" <evapcastro@yahoo.es> CC: r-help-es@r-project.org, "Francisco Viciana" <franciscoj.viciana@juntadeandalucia.es> Fecha: martes, 17 de julio, 2012 12:49 prueba globalVariables(nombre) en el script dondes estén las funciones, antes de crearlas. En teoría esto solo afecta al check. Si es una variable que utilizas dentro de las funciones, igual tienes que crearla en cada script ... El día 17 de julio de 2012 12:28, Eva Prieto Castro <evapcastro@yahoo.es> escribió:> Gracias. > > Lo he organizado en un paquete (sin llegar a hacer el check y el build, sino sólo el package.skeleton), pero me da errores después de hacer el load_all, cuando empiezo a lanzar las funciones. El problema está en que no encuentra la variable global que manejo, que es una lista. > > Ayyy, qué puedo hacer???. > > Un saludo > Eva > > --- El mar, 17/7/12, Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> escribió: > > > De: Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> > Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" > Para: r-help-es@r-project.org > Fecha: martes, 17 de julio, 2012 10:26 > > > Como otros han comentado lo idea es organizar tus desarrollos en un > paquete pero si tienes prisa, una alternativa "nada elegante" y no muy > recomendable, es introducir codigo en un fichero denominado ".RProfile" > que este en el mismo directorio donde se ejecute abra R. El codigo que > hay en este fichero se ejecutara al arrancar R y hay podria incluir > todos los source("") que quisieras. > > > El 16/07/2012 17:19, Eva Prieto Castro escribió: >> Hola de nuevo: >> >> Veamos... >> >> Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). >> >> El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. >> >> Gracias. >> >> Eva >> >> [[alternative HTML version deleted]] >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > > -- > +-------------------------------------------------------------- > | Francisco J. Viciana Fernández > | Coordinador del Registro de Población > | Servicio de Estadísticas Demográficas y Sociales > | Instituto de Estadística y Cartografía de Andalucía > | Leonardo Da Vinci, nº 21. Isla de La Cartuja. > | 41071 SEVILLA. > | franciscoj.viciana@juntadeandalucia.es > | Tlf.: +(34) 95 503 38 21 > +-------------------------------------------------------------- > > > [[alternative HTML version deleted]] > > > -----Adjunto en línea a continuación----- > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- _____________________________________ Emilio L. Cano +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos [[alternative HTML version deleted]]
Bueno, me olvidé de decir que entre la ejecución del Load y la del Reset alteré yo el lGlo desde línea de comandos, para verificar si el Reset actualizaba el valor. --- El mar, 17/7/12, Eva Prieto Castro <evapcastro@yahoo.es> escribió: De: Eva Prieto Castro <evapcastro@yahoo.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: "Emilio López" <emilio.lopez@urjc.es> CC: r-help-es@r-project.org, "Francisco Viciana" <franciscoj.viciana@juntadeandalucia.es> Fecha: martes, 17 de julio, 2012 13:11 He probado y no hay manera... Lo que me rompe los esquemas es ésto: lGlo <<- list() #globalVariables(lGlo) Load <- function() { lGlo <<- Load2(lGlo) cat("Libraries have been loaded and lGlo has been initialized.\n") } Reset <- function() { lGlo <<- Load2(lGlo) cat("The list lGlo has been initialized.\n") } Load2 <- function(l.glo) { l.glo$cRefDate <- -1 return (l.glo) } Dos funciones iguales, Load y Reset. Ejecuto primero el Load y funciona, ejecuto a continuación el Reset y no altera el lGlo. ¿Vosotros lo entendéis?. --- El mar, 17/7/12, Emilio López <emilio.lopez@urjc.es> escribió: De: Emilio López <emilio.lopez@urjc.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: "Eva Prieto Castro" <evapcastro@yahoo.es> CC: r-help-es@r-project.org, "Francisco Viciana" <franciscoj.viciana@juntadeandalucia.es> Fecha: martes, 17 de julio, 2012 12:49 prueba globalVariables(nombre) en el script dondes estén las funciones, antes de crearlas. En teoría esto solo afecta al check. Si es una variable que utilizas dentro de las funciones, igual tienes que crearla en cada script ... El día 17 de julio de 2012 12:28, Eva Prieto Castro <evapcastro@yahoo.es> escribió:> Gracias. > > Lo he organizado en un paquete (sin llegar a hacer el check y el build, sino sólo el package.skeleton), pero me da errores después de hacer el load_all, cuando empiezo a lanzar las funciones. El problema está en que no encuentra la variable global que manejo, que es una lista. > > Ayyy, qué puedo hacer???. > > Un saludo > Eva > > --- El mar, 17/7/12, Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> escribió: > > > De: Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> > Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" > Para: r-help-es@r-project.org > Fecha: martes, 17 de julio, 2012 10:26 > > > Como otros han comentado lo idea es organizar tus desarrollos en un > paquete pero si tienes prisa, una alternativa "nada elegante" y no muy > recomendable, es introducir codigo en un fichero denominado ".RProfile" > que este en el mismo directorio donde se ejecute abra R. El codigo que > hay en este fichero se ejecutara al arrancar R y hay podria incluir > todos los source("") que quisieras. > > > El 16/07/2012 17:19, Eva Prieto Castro escribió: >> Hola de nuevo: >> >> Veamos... >> >> Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). >> >> El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. >> >> Gracias. >> >> Eva >> >> [[alternative HTML version deleted]] >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > > -- > +-------------------------------------------------------------- > | Francisco J. Viciana Fernández > | Coordinador del Registro de Población > | Servicio de Estadísticas Demográficas y Sociales > | Instituto de Estadística y Cartografía de Andalucía > | Leonardo Da Vinci, nº 21. Isla de La Cartuja. > | 41071 SEVILLA. > | franciscoj.viciana@juntadeandalucia.es > | Tlf.: +(34) 95 503 38 21 > +-------------------------------------------------------------- > > > [[alternative HTML version deleted]] > > > -----Adjunto en línea a continuación----- > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- _____________________________________ Emilio L. Cano +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos [[alternative HTML version deleted]]
Hola de nuevo: Lo que sucede, en definitiva, es que desde el momento en que altero el lGlo por línea de comando, deja de surtir efectos cualquier lanzamiento que realice de las funciones del paquete creado. ¿No debería poder simultanear ambas modificaciones? Gracias. Eva --- El mar, 17/7/12, Eva Prieto Castro <evapcastro@yahoo.es> escribió: De: Eva Prieto Castro <evapcastro@yahoo.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: "Emilio López" <emilio.lopez@urjc.es> CC: r-help-es@r-project.org, "Francisco Viciana" <franciscoj.viciana@juntadeandalucia.es> Fecha: martes, 17 de julio, 2012 13:13 Bueno, me olvidé de decir que entre la ejecución del Load y la del Reset alteré yo el lGlo desde línea de comandos, para verificar si el Reset actualizaba el valor. --- El mar, 17/7/12, Eva Prieto Castro <evapcastro@yahoo.es> escribió: De: Eva Prieto Castro <evapcastro@yahoo.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: "Emilio López" <emilio.lopez@urjc.es> CC: r-help-es@r-project.org, "Francisco Viciana" <franciscoj.viciana@juntadeandalucia.es> Fecha: martes, 17 de julio, 2012 13:11 He probado y no hay manera... Lo que me rompe los esquemas es ésto: lGlo <<- list() #globalVariables(lGlo) Load <- function() { lGlo <<- Load2(lGlo) cat("Libraries have been loaded and lGlo has been initialized.\n") } Reset <- function() { lGlo <<- Load2(lGlo) cat("The list lGlo has been initialized.\n") } Load2 <- function(l.glo) { l.glo$cRefDate <- -1 return (l.glo) } Dos funciones iguales, Load y Reset. Ejecuto primero el Load y funciona, ejecuto a continuación el Reset y no altera el lGlo. ¿Vosotros lo entendéis?. --- El mar, 17/7/12, Emilio López <emilio.lopez@urjc.es> escribió: De: Emilio López <emilio.lopez@urjc.es> Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" Para: "Eva Prieto Castro" <evapcastro@yahoo.es> CC: r-help-es@r-project.org, "Francisco Viciana" <franciscoj.viciana@juntadeandalucia.es> Fecha: martes, 17 de julio, 2012 12:49 prueba globalVariables(nombre) en el script dondes estén las funciones, antes de crearlas. En teoría esto solo afecta al check. Si es una variable que utilizas dentro de las funciones, igual tienes que crearla en cada script ... El día 17 de julio de 2012 12:28, Eva Prieto Castro <evapcastro@yahoo.es> escribió:> Gracias. > > Lo he organizado en un paquete (sin llegar a hacer el check y el build, sino sólo el package.skeleton), pero me da errores después de hacer el load_all, cuando empiezo a lanzar las funciones. El problema está en que no encuentra la variable global que manejo, que es una lista. > > Ayyy, qué puedo hacer???. > > Un saludo > Eva > > --- El mar, 17/7/12, Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> escribió: > > > De: Francisco Viciana <franciscoj.viciana@juntadeandalucia.es> > Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" > Para: r-help-es@r-project.org > Fecha: martes, 17 de julio, 2012 10:26 > > > Como otros han comentado lo idea es organizar tus desarrollos en un > paquete pero si tienes prisa, una alternativa "nada elegante" y no muy > recomendable, es introducir codigo en un fichero denominado ".RProfile" > que este en el mismo directorio donde se ejecute abra R. El codigo que > hay en este fichero se ejecutara al arrancar R y hay podria incluir > todos los source("") que quisieras. > > > El 16/07/2012 17:19, Eva Prieto Castro escribió: >> Hola de nuevo: >> >> Veamos... >> >> Tengo mi aplicación organizada en varios módulos .r, de tal modo que una vez que los tengo cargados (mediante source("Load.R")) el usuario puede disfrutar de las funcionalidades llamando directamente a una serie de funciones que realizan análisis y generan resultados (numéricos y gráficos). >> >> El caso es que me gustaría "elegantizar" esa carga inicial que realizo mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito que la solución sea independiente del sistema operativo. >> >> Gracias. >> >> Eva >> >> [[alternative HTML version deleted]] >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > > -- > +-------------------------------------------------------------- > | Francisco J. Viciana Fernández > | Coordinador del Registro de Población > | Servicio de Estadísticas Demográficas y Sociales > | Instituto de Estadística y Cartografía de Andalucía > | Leonardo Da Vinci, nº 21. Isla de La Cartuja. > | 41071 SEVILLA. > | franciscoj.viciana@juntadeandalucia.es > | Tlf.: +(34) 95 503 38 21 > +-------------------------------------------------------------- > > > [[alternative HTML version deleted]] > > > -----Adjunto en línea a continuación----- > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- _____________________________________ Emilio L. Cano +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos [[alternative HTML version deleted]]
No tienes que tener Load2 antes de Load y Reset? El 17 de julio de 2012 13:11, Eva Prieto Castro <evapcastro@yahoo.es>escribió:> He probado y no hay manera... > > Lo que me rompe los esquemas es ésto: > > lGlo <<- list() > #globalVariables(lGlo) > Load <- function() { > lGlo <<- Load2(lGlo) > cat("Libraries have been loaded and lGlo has been initialized.\n") > } > > Reset <- function() { > lGlo <<- Load2(lGlo) > cat("The list lGlo has been initialized.\n") > } > > Load2 <- function(l.glo) { > > l.glo$cRefDate <- -1 > return (l.glo) > } > > Dos funciones iguales, Load y Reset. Ejecuto primero el Load y funciona, > ejecuto a continuación el Reset y no altera el lGlo. > > ¿Vosotros lo entendéis?. > > > --- El *mar, 17/7/12, Emilio López <emilio.lopez@urjc.es>* escribió: > > > De: Emilio López <emilio.lopez@urjc.es> > > Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" > Para: "Eva Prieto Castro" <evapcastro@yahoo.es> > CC: r-help-es@r-project.org, "Francisco Viciana" < > franciscoj.viciana@juntadeandalucia.es> > Fecha: martes, 17 de julio, 2012 12:49 > > > prueba globalVariables(nombre) en el script dondes estén las > funciones, antes de crearlas. En teoría esto solo afecta al check. Si > es una variable que utilizas dentro de las funciones, igual tienes que > crearla en cada script ... > > El día 17 de julio de 2012 12:28, Eva Prieto Castro > <evapcastro@yahoo.es<http://es.mc296.mail.yahoo.com/mc/compose?to=evapcastro@yahoo.es>> > escribió: > > Gracias. > > > > Lo he organizado en un paquete (sin llegar a hacer el check y el build, > sino sólo el package.skeleton), pero me da errores después de hacer el > load_all, cuando empiezo a lanzar las funciones. El problema está en que no > encuentra la variable global que manejo, que es una lista. > > > > Ayyy, qué puedo hacer???. > > > > Un saludo > > Eva > > > > --- El mar, 17/7/12, Francisco Viciana < > franciscoj.viciana@juntadeandalucia.es<http://es.mc296.mail.yahoo.com/mc/compose?to=franciscoj.viciana@juntadeandalucia.es>> > escribió: > > > > > > De: Francisco Viciana <franciscoj.viciana@juntadeandalucia.es<http://es.mc296.mail.yahoo.com/mc/compose?to=franciscoj.viciana@juntadeandalucia.es> > > > > Asunto: Re: [R-es] Cómo hacer un source de manera "elegante" > > Para: r-help-es@r-project.org<http://es.mc296.mail.yahoo.com/mc/compose?to=r-help-es@r-project.org> > > Fecha: martes, 17 de julio, 2012 10:26 > > > > > > Como otros han comentado lo idea es organizar tus desarrollos en un > > paquete pero si tienes prisa, una alternativa "nada elegante" y no muy > > recomendable, es introducir codigo en un fichero denominado ".RProfile" > > que este en el mismo directorio donde se ejecute abra R. El codigo que > > hay en este fichero se ejecutara al arrancar R y hay podria incluir > > todos los source("") que quisieras. > > > > > > El 16/07/2012 17:19, Eva Prieto Castro escribió: > >> Hola de nuevo: > >> > >> Veamos... > >> > >> Tengo mi aplicación organizada en varios módulos .r, de tal modo que > una vez que los tengo cargados (mediante source("Load.R")) el usuario puede > disfrutar de las funcionalidades llamando directamente a una serie de > funciones que realizan análisis y generan resultados (numéricos y gráficos). > >> > >> El caso es que me gustaría "elegantizar" esa carga inicial que realizo > mediante el source("Load.R"). ¿Qué opción puedo tener?. Eso sí, necesito > que la solución sea independiente del sistema operativo. > >> > >> Gracias. > >> > >> Eva > >> > >> [[alternative HTML version deleted]] > >> > >> > >> > >> _______________________________________________ > >> R-help-es mailing list > >> R-help-es@r-project.org<http://es.mc296.mail.yahoo.com/mc/compose?to=R-help-es@r-project.org> > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > > +-------------------------------------------------------------- > > | Francisco J. Viciana Fernández > > | Coordinador del Registro de Población > > | Servicio de Estadísticas Demográficas y Sociales > > | Instituto de Estadística y Cartografía de Andalucía > > | Leonardo Da Vinci, nº 21. Isla de La Cartuja. > > | 41071 SEVILLA. > > | franciscoj.viciana@juntadeandalucia.es<http://es.mc296.mail.yahoo.com/mc/compose?to=franciscoj.viciana@juntadeandalucia.es> > > | Tlf.: +(34) 95 503 38 21 > > +-------------------------------------------------------------- > > > > > > [[alternative HTML version deleted]] > > > > > > -----Adjunto en línea a continuación----- > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org<http://es.mc296.mail.yahoo.com/mc/compose?to=R-help-es@r-project.org> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org<http://es.mc296.mail.yahoo.com/mc/compose?to=R-help-es@r-project.org> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > -- > _____________________________________ > > Emilio L. Cano > +34 665 676 225 > Department of Statistics and Operations Research > Universidad Rey Juan Carlos > >-- _____________________________________ *Emilio L. Cano* +34 665 676 225 Department of Statistics and Operations Research Universidad Rey Juan Carlos <http://www.urjc.es> <http://www.urjc.es> <http://www.urjc.es> [[alternative HTML version deleted]]