[R-es] Cómo descargar librerías automáticamente?

Carlos J. Gil Bellosta cgb en datanalytics.com
Vie Mayo 22 01:40:44 CEST 2009


Hola, ¿qué tal?

Lo que puedes hacer es utilizar "installed.packages" para obtener una
lista de los paquetes instalados. 

Si el que necesitas no es uno de ellos, usa "install.packages".

De todos modos, ése es un procedimiento "primitivo" y sin garantía
universal de éxito. Por ejemplo, en Linux, deberías poder ser
administrador para que R te dejase instalar un paquete (vale, lo sé,
esto sólo es cierto al 50%). No sé cuál es la situación en ese otro
sistema operativo que usa tanta gente...

La manera más robusta de lograr tu objetivo es crear paquetes con las
funciones que vayas a utilizar. Puedes entonces establecer las
dependencias de tus paquetes de antemano, de manera que éstos se
instalen recursivamente.

Crear paquetes puede, al principio, parecer un proceso pesado pero uno
se acaba acostumbrando (yo, en dos semanas, he creado cuatro) y, además,
adquiere, aunque sea a las malas, el sano hábito de documentar el
código.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com



On Thu, 2009-05-21 at 16:03 -0400, Jorge Ivan Velez wrote:
> Buenas tardes para todos,
> Me gustara automatizar la descarga de librerias cuando ejecuto una funcin
> que estoy por terminar. Supongamos que la funcin se llama foo y require las
> librerias A y B. Una manera fcil de cargar las librerias dentro de foo es:
> 
> foo <- function(argumentos){
>             require(A)
>             require(B)
>            # hacer transformaciones, clculos y grficos aqu
>                }
> 
> Por supuesto, require() hace su trabajo si y solo si A y B han sido
> descargadas previamente. Si no es as, el usuario tendra que descargarlas
> (lo cual NO me gustara) via los mtodos ya conocidos.
> 
> Lo que quisiera hacer, dentro de foo (y agradezco de antemano cualquier
> sugerencia), es chequear si una libreria en particular ya ha sido
> descargada. Si esto no lo ha sido, entonces que R la descargue
> automticamente y la cargue en el espacio de trabajo para luego ejecutar el
> resto de las cosas dentro de foo. Con ello quiero "ahorrarle" el proceso de
> bsqueda y descarga al usuario.
> 
> En lenguaje R sera algo como:
> 
>    if(  A est instalada  ) require(A)   else   "descargarla
> automticamente"
> 
> El problema es que no s cmo preguntar si "A est instalada". El resto es
> "fcil" de hacer.
> 
> Estoy trabajando con R 2.9.0 Pactched en Windows XP.
> 
> Muchas gracias por su ayuda,
> 
> Jorge Ivan Velez
> 
> 	[[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



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