with update studio code r upgrade packages

studio - update r ubuntu



Manera indolora de instalar una nueva versiĆ³n de R? (10)

Andrew Gelman lamentó recientemente la falta de un proceso de actualización fácil para R (probablemente más relevante en Windows que en Linux). ¿Alguien tiene un buen truco para hacer la actualización, desde la instalación del software hasta la copia de todas las configuraciones / paquetes?

Esta sugerencia fue contenida en los comentarios y es lo que he estado usando recientemente. Primero instala la nueva versión, luego ejecute esto en la versión anterior:

#--run in the old version of R setwd("C:/Temp/") packages <- installed.packages()[,"Package"] save(packages, file="Rpackages")

Seguido de esto en la nueva versión:

#--run in the new version setwd("C:/Temp/") load("Rpackages") for (p in setdiff(packages, installed.packages()[,"Package"])) install.packages(p)


Con respecto a la solución dada en la pregunta, puede que no sea fácil ejecutar su versión anterior de R si ya ha instalado la nueva versión. En este caso, aún puede volver a instalar todos los paquetes faltantes de la versión R anterior de la siguiente manera.

# Get names of packages in previous R version old.packages <- list.files("/Library/Frameworks/R.framework/Versions/3.2/Resources/library") # Install packages in the previous version. # For each package p in previous version... for (p in old.packages) { # ... Only if p is not already installed if (!(p %in% installed.packages()[,"Package"])) { # Install p install.packages(p) } }

(Tenga en cuenta que el argumento para list.files() en la primera línea de código debe ser la ruta al directorio de la biblioteca para su versión R anterior, donde están todas las carpetas de paquetes en la versión anterior. En mi caso actual, esto es "/Library/Frameworks/R.framework/Versions/3.2/Resources/library" . Esto será diferente si su versión R anterior no es 3.2, o si está en Windows).

La instrucción if se asegura de que un paquete no esté instalado si

  • Ya está instalado en la nueva versión R, o
  • Se ha instalado como una dependencia de un paquete instalado en una iteración previa del ciclo for .

Dos opciones:

  1. Implementa mi respuesta here
  2. Si usa R en Eclipse con StatET, abra Configuración de ejecución , haga clic en la pestaña Consola y en el cuadro denominado R snippet, ejecute después del inicio agregue esta línea con su elección de directorio: .libPaths("C:/R/library")

Dos sugerencias rápidas:

  1. Utilice los batchfiles por batchfiles de Gabor que se dice que comprenden herramientas que ayudan con, por ejemplo, estas reubicaciones masivas de la biblioteca. Advertencia: no los he usado.

  2. No instale bibliotecas dentro del ''filetree'' de la versión R instalada. En Windows, puedo poner R en la versión C: / opt / R / R- $ pero coloco todas las bibliotecas en C: / opt / R / library / usando el siguiente fragmento porque alivia el problema en primer lugar:

$ cat .Renviron # this is using MSys/MinGW which looks like Cygwin ## Example .Renviron on Windows R_LIBS="C:/opt/R/library"


El método sugerido anteriormente no funcionará completamente si tiene paquetes que no son de CRAN. Por ejemplo, un paquete personal o un paquete descargado de un sitio que no es CRAN.

Mi método preferido en Windows (actualizando 2.10.1 a 2.11.0):

  1. Instalar R-2.11.0
  2. Copie R-2.10.0/library/* a R-2.11.0/library/
  3. Responda "no" a las indicaciones preguntándole si está bien sobreescribir.
  4. Inicie R 2.11.0
  5. Ejecute el comando R update.packages()

Esta es una vieja pregunta, por supuesto, pero podría haber una nueva respuesta fácil (que funcione solo para Windows), que acabo de encontrar.

install.packages("installr") require(installr) updateR()

La mejor forma de hacerlo es desde el sistema RGui. Todos sus paquetes serán transferidos a la nueva carpeta y los viejos serán eliminados o guardados (puede elegir cualquiera). Luego, una vez que abre RStudio nuevamente, inmediatamente reconoce que está usando una versión actualizada. Para mí esto funcionó como un encanto,

Más información sobre {installr} aquí .

Simon


Estoy en Windows 8 y por alguna extraña razón, nunca puedo instalar paquetes usando mis conexiones a internet.

Generalmente lo instalo usando el archivo .zip de CRAN.

Después de pasar de R 3.2.5 a R 3.3.1.

Simplemente copié los paquetes de

C:/Path/to/packa/R/win-library/3.2 a C:/Path/to/packa/R/win-library/3.3 .

Y luego reinicié la sesión R. Funcionó perfectamente No he comprobado si TODOS los paquetes están funcionando bien. Pero, los que revisé están funcionando perfectamente bien. Espero que este truco funcione para todos.

Aclamaciones.


La respuesta aceptada podría funcionar si tienes previsión, pero ya me había deshecho de la versión anterior, por lo que no pude seguir estas instrucciones. Los pasos que se describen a continuación funcionaron para la actualización OSX de 2.1 y 3.1.

ACTUALIZADO: para obtener el directorio de su última versión (en lugar de escribir en 3.1 o 3.2) puede usar los siguientes comandos. El segundo se convierte directamente en la variable R, omitiendo . y .. y .DS_Store , use:

OLD=$(ls -d /Library/Frameworks/R.framework/Versions/*.* |tail -n 2 | head -n 1)Resources/library/ echo "packages = c(/"`ls $OLD | tail +4| paste -s -d '','' - | sed -E ''s|,|/",/"|''g`/")" | tr -d "/"

Luego, dentro de R puede pegar esa variable que se genera (add |pbcopy hasta el final para copiarla directamente. Una vez que se define en la nueva versión de R, puede recorrer los paquetes instalados siguiendo las instrucciones anteriores ...

for (p in setdiff(packages, installed.packages()[,"Package"])) install.packages(p, dependencies=TRUE, quiet=TRUE, ask=FALSE)



Solo para completar, hay algunas formas de evitar que tengas este problema. Como dijo Dirk, guarde sus paquetes en otro directorio en su computadora.

install.packages("thepackage",lib="/path/to/directory/with/libraries")

Puede cambiar el valor predeterminado de .Library con la función .libPaths también

.libPaths("/path/to/directory/with/libraries")

Esto colocará esta ruta como primer valor en la variable .Library , y lo convertirá en el valor predeterminado.

Si desea automatizar esto más a fondo, puede especificar esto en el archivo Rprofile.site, que encontrará en el directorio / etc / de su compilación R. Luego se cargará automáticamente cada vez que se cargue R, y ya no tendrá que preocuparse por eso. Puede simplemente instalar y cargar paquetes desde el directorio especificado.

Finalmente, tengo un pequeño código incluido en mi Rprofile.site que me permite reinstalar todos los paquetes cuando instalo una nueva versión R. Solo tiene que listarlos antes de actualizar a la nueva versión R. Lo hago usando un archivo .RData que contiene una lista actualizada con todos los paquetes.

library(utils) ## Check necessary packages load("G:/Setinfo/R/packagelist.RData") # includes a vector "pkgs" installed <- pkgs %in% installed.packages()[, ''Package''] if (length(pkgs[!installed]) >=1){ install.packages(pkgs[!installed]) }

Realizo el packagelist.RData especificando .Last() en mi Rprofile.site. Esto actualiza la lista de paquetes si instalé algunos:

.Last <- function(){ pkgs <- installed.packages()[,1] if (length(pkgs) > length(installed)){ save(pkgs,file="G:/Setinfo/R/packagelist.RData") } }

Cuando instalo una nueva versión R, solo agrego los elementos necesarios al archivo Rprofile.site y vuelvo a instalar todos los paquetes. Tengo que ajustar el Rprofile.site de todos modos (usando contrastes de suma, agregando el código adicional para Tinn-R, estas cosas), así que no es realmente un trabajo extra. Solo lleva más tiempo instalar todos los paquetes de nuevo.

Este último bit es equivalente a lo que se da en la pregunta original como una solución. Simplemente no necesito preocuparme por obtener la lista "instalado" primero.

Nuevamente, esto no funciona sin problemas si tiene paquetes que no están instalados desde CRAN. Pero este código es fácilmente extensible para incluir esos también.

Editar: Hubo un paréntesis perdido en el código


para mí esta página es buena https://www.r-statistics.com/2013/03/updating-r-from-r-on-windows-using-the-installr-package/ u otra opción es simplemente instalar la nueva opción y al final pones, por ejemplo, en windows en mi pc

.libPaths (c ("D: /Documents/R/win-library/3.2", "C: / Archivos de programa / R / R-3.2.3 / library", "C: / Archivos de programa / R / R-3.2 .0 / library "," D: /Documents/R/win-library/2.15 ")

cada ruta de la última versión en mi caso siempre puse la primera ruta es "D: /Documents/R/win-library/3.2" que está arreglado y luego puse el otro porque no necesita copiar o mover ningún paquete, en mi sugest solo llámalo