Lors du meetup du 25 mai « Utiliser R comme un pro » nous vous avons présenté une façon efficace de dupliquer le dépôt CRAN en local sur votre machine. Cela permet, entre autre, au service informatique d’une entreprise de sécuriser la gestion des packages, ou encore de gérer le versioning des packages dans un projet.

Voici le script qui résume la procédure à mettre en oeuvre.

 

###############################################################
#
# Vincent Guyader - vincent@thinkr.fr
# https://thinkr.fr
#
###############################################################


# permet de dupliquer le CRAN avec juste les paquets necessaires pour l'utiliser par la suite comme depot local
# à ne faire qu'une seule fois

getOption("repos")
options(repos=c(CRAN="http://cran.rstudio.com" ))
options(repos=c(CRAN="https://mran.revolutionanalytics.com/snapshot/2016-01-01" )) # pour avoir le dépot CRAN a une date données

# on charge / installe miniCRAN
if(!require(miniCRAN)){install.packages("miniCRAN")}
library("miniCRAN")

# liste des packages à rendre disponible
les_packages <- c("sudoku")

localCRAN <- "~/local-CRAN"
dir.create(localCRAN)

makeRepo(pkgDep(les_packages), path = localCRAN, type = "source")
makeRepo(pkgDep(les_packages), path = localCRAN, type = "win.binary")

list.files(path = localCRAN, recursive = TRUE)

mon_depot <- paste0("file:///", normalizePath(localCRAN))
mon_depot

# ensuite mettre ce depot local en tant que depot sur le serveur
options(repos = c(CRAN=mon_depot))
getOption("repos")

available.packages()
install.packages("sudoku")
install.packages("dplyr")


.libPaths()
browseURL(.libPaths()[1])
.libPaths("F:/monlibpath")
dupliquer le dépot CRAN en local

 

Nous vous avons aussi présenté l’usage du .Rprofile, en voici un exemple (il faut le mettre à la racine de votre projet R, ou de votre /home)


.First <- function(){
  library(dplyr)
  library(ggplot2)
  # library(R2HTML)
  cat("\nSalut - ", date(), "\n") 
}


.Last <- function(){ 
  cat("\nBye ", date(), "\n")
}




mdp <- new.env()
# Definition des user et mots de passe en local (evite l'affichage des valeurs en Rstudio)
local( 
  {
    # Profil
    user_profil = Sys.getenv("USER") 
    pwd_profil  = "mdpProfil"
    
    # oracle
    user_oracle = "vincent"
    pwd_oracle  = "monmotdepasse"},  env = mdp)


# changer le depot
local({
  r <- getOption("repos")
  r["CRAN"] <- "http://cran.revolutionanalytics.com"
  # r["CRAN"] <- "file:///C:\\thinkr\\local-CRAN"
  options(repos=r["CRAN"])
})
exemple de .Rprofile

Et ci-après vous trouverez quelques raccourcis clavier Rstudio que nous utilisons tout le temps :

(vous avez plus de détail dans l’aide mémoire en francais de Rstudio )

# Les raccourcis clavier

# commenter une ligne ou un bloc de ligne
Ctrl + shift + c

# copier la ligne vers le haut ou vers le bas
ctrl + shift + fleche Haut/bas

# déplacer une ou plusieurs lignes
alt + fleche haut/bas

# taper %>% encore plus vite
ctrl + shift + m

# supprimer la ligne
ctrl +d
raccourcis clavier Rstudio