studio - r project
Instale un paquete R directamente desde una URL para el origen del paquete (3)
Me gustaría instalar un paquete directamente desde una URL para el origen del paquete. Quiero hacer esto para que a las personas les resulte más fácil probar una versión preliminar del paquete que no debería estar disponible de forma generalizada o permanente. This es una pregunta similar pero es diferente porque solo describe cómo instalar desde archivos locales, no URL generales.
Por el bien de esta pregunta, usaré un enlace a la fuente del paquete de boot
. ?install.packages
Leyendo ?install.packages
particularmente la descripción del argumento pkgs
sugiere:
install.packages(
"http://cran.r-project.org/src/contrib/Archive/boot/boot_1.3-7.tar.gz",
repos = NULL, type = "source"
)
Sin embargo esto falla con:
Warning in install.packages :
installation of package
‘http://cran.r-project.org/src/contrib/Archive/boot/boot_1.3-7.tar.gz’
had non-zero exit status
Lo que sugiere que la URL se interpreta como el nombre del paquete, no su ubicación. Podemos solucionar esto con el siguiente procedimiento de dos pasos:
download.file(
"http://cran.r-project.org/src/contrib/Archive/boot/boot_1.3-7.tar.gz",
"boot"
)
install.packages("boot", repos = NULL, type = "source")
Pero preferiría hacer esto con una sola llamada a install.packages
solamente; y dado que install.packages
es capaz de descargar archivos de todas formas, creo que esto debería ser posible.
¿Por qué no configurar el directorio en el que almacena el paquete fuente como un repositorio?
Aquí hay un ejemplo (aunque es probable que desee sustituir type="source"
por type="win.binary"
en el código de ese enlace).
Ver ?install_url
Install_url en el paquete devtools.
install.packages
ahora funciona con las URL de http (aún no https) a partir de 3.1.1. Esto funciona para mí:
install.packages("http://www.lepem.ufc.br/jaa/colorout_1.1-0.tar.gz", repos=NULL)
Edición: A partir de R 3.2.0, https
está integrado a través de libcurl. Esto debería funcionar ahora:
install.packages("https://github.com/hadley/devtools/archive/v1.7.0.tar.gz",
repos=NULL, method="libcurl")
Edición: a partir de R 3.2.2, https
debería funcionar con las opciones predeterminadas, suponiendo que se compiló el soporte de libcurl.
Edición 2016-04-20: puede haber algunos problemas al descargar paquetes alojados en S3, pero method=''wget''
parece funcionar para aquellos por ahora.