studio sirven que para paquetes paquete los llamar lenguaje instalar guardan donde crear como comando r r-forge

sirven - Actualiza automáticamente paquetes instalados desde R-forge



para que sirven los paquetes en r (1)

Recientemente instalé R-2.12.0 desde R-2.11.1 y actualicé todos los paquetes de CRAN a través de:

update.packages(checkBuilt=TRUE, ask=FALSE)

Ahora quiero actualizar todos los paquetes que he instalado desde R-forge, pero solo si no están disponibles en CRAN . En otras palabras, no puedo simplemente ejecutar:

update.packages(checkBuilt=TRUE, ask=FALSE, repos="http://r-forge.r-project.org")

porque instalaría la versión R-forge del paquete de survival sobre la versión que venía con R-2.12.0.

Probablemente podría utilizar alguna combinación de la información de old.packages y packageStatus para determinar qué paquetes existen solo en R-forge, pero quería preguntar si había una manera más fácil antes de construir una solución personalizada.


Qué tal esto:

# 1. Get the list of packages you have installed, # use priority to exclude base and recommended packages. # that may have been distributed with R. pkgList <- installed.packages(priority=''NA'')[,''Package''] # 2. Find out which packages are on CRAN and R-Forge. Because # of R-Forge build capacity is currently limiting the number of # binaries available, it is queried for source packages only. CRANpkgs <- available.packages( contriburl=contrib.url(''http://cran.r-project.org''))[,''Package''] forgePkgs <- available.packages( contriburl=contrib.url(''http://r-forge.r-project.org'', type=''source'') )[,''Package''] # 3. Calculate the set of packages which are installed on your machine, # not on CRAN but also present on R-Force. pkgsToUp <- intersect(setdiff(pkgList, CRANpkgs), forgePkgs) # 4. Update the packages, using oldPkgs to restrict the list considered. update.packages(checkBuilt=TRUE, ask=FALSE, repos="http://r-forge.r-project.org", oldPkgs=pkgsToUp) # 5. Profit?