web-dev-qa-db-fra.com

Installer des paquets dans R

Pour une raison quelconque, je ne parviens pas à installer des packages dans R (j'ai par la suite mis à jour la dernière version de R et exécute Windows 7). Par exemple, si je tape:

install.packages('beeswarm')

Installation du paquet dans ‘D:/Rlibs’ (car ‘lib’ n’est pas spécifié) --- Veuillez sélectionner un miroir CRAN à utiliser lors de cette session --- URL à essayer ' http://www.stats.bris.ac.uk/R/bin/windows/contrib/3.0/beeswarm_0.1.5.Zip ' Type de contenu 'text/html' longueur inconnue URL ouverte téléchargée 1859 octets

Erreur dans read.dcf (file.path (pkgname, "DESCRIPTION"), c ("Package", "Type")): impossible d'ouvrir la connexion De plus: Avertissement messages: 1: en décompression (zipname, exdir = dest): erreur 1 lors de l'extraction depuis le fichier Zip 2: dans read.dcf (file.path (pkgname, "DESCRIPTION"), c ("Package", "Type")): impossible d'ouvrir le fichier compressé 'beeswarm/DESCRIPTION', raison probable 'Aucun fichier ou répertoire de ce type'

J'ai lu que dans Windows 7, il peut y avoir d'importantes restrictions sur les droits d'écriture dans certains dossiers, etc., de sorte que je me suis donné beaucoup de mal pour installer des dossiers R et des bibliothèques dans des zones autres que celles par défaut de mon ordinateur, et pour me permettre d'utiliser certains dossiers, mais en vain. Peut-être aussi est important quand je tape:

.libPaths()

# [1] "D:/Rlibs"                                             
# [2] "C:/Users/L.Halsey/Documents/R/win-library/3.0"        
# [3] "C:/Users/L.Halsey/Documents/Documents/R-3.0.1/library"

J'ai créé plusieurs dossiers dans le but d'en créer un dans lequel je pourrais installer des bibliothèques et les configurer pour qu'ils soient reconnus par R à l'aide de 'variables d'environnement' à partir du bouton de démarrage. Cependant, je ne sais pas comment en supprimer - je ne sais pas si cela est pertinent pour mon problème général de ne pas pouvoir maintenant installer/mettre à jour des paquets pour une raison quelconque.

14
user2407346

L'erreur signalée est l'impossibilité d'ouvrir une connexion. Dans Windows, il s'agit de souvent un problème de pare-feu et se trouve dans Windows R FAQ) . La première tentative habituelle devrait être d’exécuter internet2.dll. A partir d'une session de console, vous pouvez utiliser:

setInternet2(TRUE)

(Vous avez raison de penser que cela n'est pas dû à la configuration de votre bibliothèque. L'erreur ne dit rien sur les autorisations.) Je ne pense pas que taper .libPaths devrait renvoyer ce vecteur de caractère car sur ma machine, il faudrait taper .libPaths() pour afficher cette. Si vous souhaitez réduire le nombre d'emplacements pour les bibliothèques, vous pouvez utiliser la fonction .libPaths pour définir les valeurs. Ce serait choisir les deuxième et troisième des chemins existants

 .libPaths( .libPaths()[2:3] )

L'appel interne récupère le vecteur de chemin et l'appel externe le définit sur un vecteur réduit.

10
42-

Je vais probablement dupliquer beaucoup d'autres réponses sur le stackoverflow, mais j'ai exactement la même erreur que OP, à savoir: Warning messages: 1: In unzip(zipname, exdir = dest) : error 1 in extracting from Zip file 2: In read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : cannot open compressed file 'Zoo/DESCRIPTION', probable reason 'No such file or directory'

En fait, alors que moi, en tant qu'utilisateur, j'avais l'autorisation d'écrire dans un certain répertoire, R n'en avait pas. Pour être sûr de ne pas avoir quelque chose de similaire, procédez comme suit:

  1. obtenir un lecteur usb, nommons-le E
  2. télécharger la source du paquet sous forme de fichier .Zip et la stocker sur un lecteur USB dans un répertoire, nommons-la E:/source
  3. Créez un répertoire pour les bibliothèques sur le lecteur USB, appelons-le E:/libs
  4. Installez les packages appelant la commande R install.package à partir de la console R et définissant tous les répertoires pertinents de manière à pointer sur votre lecteur usb:

    (ici j'utilise le paquet Zoo comme exemple) 

    install.packages("E:/source/Zoo_1.7-12.Zip", 
                     destdir = 'E:/source',  # no "/" after the path
                     lib = 'E:/libs', 
                     repos = NULL)
    
  5. Chargez le package à partir du répertoire où vous l'avez installé: library('Zoo', lib.loc = 'E:/libs')


Une fois que vous êtes sûr que cela fonctionne de cette façon sur votre lecteur USB, vous pouvez commencer à résoudre les autorisations des répertoires et essayer en modifiant les chemins dans le code ci-dessus.

update: Dans certains environnements Windows, même votre clé USB peut être protégée en lecture-écriture par le R. Assurez-vous de vérifier les permissions en utilisant la machine sur laquelle vous travaillez. 

3
Ufos

Exécuter RStudio en tant qu'administrateur a résolu le problème pour moi!

2
Malik Gwandu

Ce qui suit a fonctionné pour moi (basé sur la réponse ci-dessus)

install.packages ("clustvarsel", lib = "C:/Utilisateurs/dnentchev/Mes programmes/R-3.2.2/bibliothèque")

1
user3878033