[R-es] ¿Pasar parámetros por referencia?
Ramon Diaz-Uriarte
rdiaz02 en gmail.com
Mie Sep 28 14:17:03 CEST 2011
On Wed, 28 Sep 2011 13:53:19 +0200,Servicio de Estadísticas Demográficas y Sociales <seds.ive en gmail.com> wrote:
> [1 <text/plain (quoted-printable)>]
> ¿Hay alguna manera de pasar a parámetros por referencia?
> El problema es que tengo una matriz muy grande (unos 6 Gb) que al pasarla
> como parámetro a una función (que, además debe modificarla) R internamente
> trata de copiarla y se genera un error de "imposible ubicar un vector de 6
> Gb)
Hay varios paquetes en CRAN que implementan diversas formas de acceso por
referencia. Pero, en tu caso, quizás el paquete "ff" (que deja las cosas
en disco, y accede sólo ---pero de forma muy rápida--- a lo necesario) te
sea más útil.
> Aunque sé que no es buena práctica, también me valdría si pudieran definirse
> variables "globales".
Puedes imitar parcialmente el comportamiento de variables globales usando
las reglas del scope, si no redefines la variable en el conjunto de
environments anidados, y si no la pasas como parámetro de tu función. Y
pudes cambiar esas variables globales con assign, y similares.
Pero generalmente suele dar lugar a código difícil de mantener y debuggear.
Un saludo,
R.
> Un saludo.
> Seds
> [[alternative HTML version deleted]]
> [2 <text/plain; iso-8859-1 (quoted-printable)>]
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Ramon Diaz-Uriarte
Department of Biochemistry
Universidad Autónoma de Madrid
Spain
http://ligarto.org/rdiaz
Temporarily at:
Structural Biology and Biocomputing Programme
Spanish National Cancer Centre (CNIO)
Phone: +34-91-732-8000 ext. 3019
Fax: +-34-91-224-6972
Más información sobre la lista de distribución R-help-es