2009-09-24 19 views
283

Un amigo me envió a lo largo de este gran tutorial en webscraping NYtimes with R. Realmente me encantaría probarlo. Sin embargo, el primer paso es instalar un paquete llamado RJSONIO desde la fuente.¿Cómo instalo un paquete R desde el origen?

Sé R bastante bien, pero no tengo idea de cómo instalar un paquete desde el código fuente.

Estoy ejecutando Mac OSX.

+0

Esto está muy estrechamente relacionada: http://stackoverflow.com/questions/11105131/can not-install-r-forge-package-using-install-packages – GSee

Respuesta

337

Si tiene el archivo localmente, y utilice install.packages() y establecer el repos=NULL:

install.packages(path_to_file, repos = NULL, type="source") 

Dónde path_to_file representaría la ruta y el nombre completo:

  • En Windows que se verá algo así como esto: "C:\\RJSONIO_0.2-3.tar.gz".
  • En UNIX se verá así: "/home/blah/RJSONIO_0.2-3.tar.gz".
+0

Esto también funciona si 'file_name_and_path' es el repositorio fuente local de un paquete R. –

+0

Tenga en cuenta que la opción 'INSTALL_opts' se puede usar para pasar opciones a' R CMD INSTALL'. Por ejemplo, "--no-multiarch" –

+7

Esto no parece funcionar con archivos comprimidos. – Cerin

64

Descargar el paquete fuente, abierta Terminal.app, vaya al directorio donde se encuentra actualmente tiene el archivo, y luego ejecutar:

R CMD INSTALL RJSONIO_0.2-3.tar.gz 

tenga en cuenta que esto sólo tendrá éxito cuando: a) el paquete no necesita compilación o b) las herramientas de sistema necesarias para la compilación están presentes. Ve: https://cran.r-project.org/bin/macosx/tools/

+2

Intenté esto y obtuve un error: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD INSTALAR RJSONIO_0.2-3.tar.gz Advertencia: paquete no válido 'RJSONIO_0.2-3.tar.gz' Error: ERROR: no se han especificado paquetes –

+0

Tiene que especificar la ruta correcta al .ta Se requiere el archivo r.gz y las herramientas XCode (http://developer.apple.com/TOOLS/Xcode/). – rcs

+0

¿Hay alguna manera de construir el .zip binario desde la fuente? – haridsv

42

Se puede instalar directamente desde el repositorio (nótese el type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source") 
+1

yo probamos este y tiene un error: * Instalación * fuente * paquete 'RJSONIO' ... libs ** ** arco - i386 sh: Marca: comando no encontrado ERROR: compilación falló para el paquete 'RJSONIO ' RMate detuvo en la línea 3 * Desactivar el condensador '/Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO' Los paquetes descargados están en \t'/private/var/carpetas/Ey/EyzhYjoKESmsmsZ6K87PeU + ++ TI/-Tmp-/Rtmpe3C96p/loaded_packages ' Actualizar el índice HTML de paquetes en' .Library ' Mensaje de advertencia: En install.packages ("RJSONIO", repos = "http : //www.omegahat.org/R ",: instalación del paquete 'RJSONIO' tenía un estado de salida distinto de cero –

+5

¿Tiene las herramientas de desarrollador instaladas? Vienen en el DVD de instalación Mac OS X. Como este paquete tiene código C, necesitará un compilador para instalarlo desde el origen. –

+0

Sospecho que no tengo las herramientas de desarrollador instaladas. Al menos, no recuerdo haberlos instalado. ¡Gracias! –

6

Además, se puede construir el paquete binario usando la opción --binary.

R CMD build --binary RJSONIO_0.2-3.tar.gz 
+17

'R CMD build --binary' está en desuso; use 'R CMD INSTALL --build' en su lugar – f3lix

14

Una sugerencia suplementariamente útil (pero trivial) para instalar una versión anterior de los paquetes de la fuente.

En primer lugar, si llama a "install.packages", siempre instala el último paquete del repositorio. Si desea instalar la versión anterior de los paquetes, digamos por compatibilidad, puede llamar a install.packages ("url_to_source", repo = NULL, type = "source"). Por ejemplo:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source") 

sin necesidad de descargar manualmente los paquetes en el disco local y el cambio a la línea de comandos o la instalación desde un disco local, he encontrado que es muy conveniente y simplificar la llamada (una etapa).

Plus: se puede utilizar este truco con dev_mode de devtools biblioteca, con el fin de gestionar diferentes versiones de los paquetes:

Referencia: doc devtools

3

From cran, puede instalar directamente desde una dirección de repositorio GitHub. Así que si desea que el paquete en https://github.com/twitter/AnomalyDetection:

library(devtools) 
install_github("twitter/AnomalyDetection") 

hace el truco.

-3

Prefiero instalar un paquete de R cran project.Buscaré el nombre del paquete y, si está disponible, ejecutaré el comando desde mi shell R para instalarlo directamente desde el proyecto R cran. Su paquete está disponible en el directorio R. Así que esto es lo que haré

install.packages("RJSONIO") 

Bono - Carga de un paquete en la sesión actual de R

library(RJSONIO) 
+2

Esto no responde a la pregunta, no se trata de sus preferencias, sino de cómo instalarlas desde el origen. – GolDDranks

Cuestiones relacionadas