Comment lire les données d'Excel dans r

Si vous demandez aux utilisateurs de R ce que le meilleur moyen est d'importer des données directement à partir de Microsoft Excel, la plupart d'entre eux répondra probablement que votre meilleure option est de la première exportation à partir d'Excel dans un fichier CSV, puis utilisez read.csv () pour importer vos données à R.

En fait, cela est encore le conseil au chapitre 8 du manuel R importation et l'exportation, qui dit, “ Le premier conseil est d'éviter de le faire si possible ”!; La raison en est que la plupart des méthodes existantes pour l'importation de données à partir d'Excel dépendent de logiciels tiers ou des bibliothèques qui peuvent être difficiles à configurer, pas disponible sur tous les systèmes d'exploitation, ou peut-être avoir des conditions de licence restrictives.

Cependant, depuis Février 2011, il existe une nouvelle alternative: en utilisant le paquet XLConnect, disponible à partir de CRAN. Ce qui fait XLConnect différente est qu'il utilise une bibliothèque Java pour lire et écrire des fichiers Excel. Cela présente deux avantages:

  • Il fonctionne sur tous les systèmes d'exploitation qui supportent Java. XLConnect est écrit en Java et fonctionne sur Window, Linux et Mac OS.

  • Il n'y a rien d'autre à charger. XLConnect ne nécessite pas d'autres bibliothèques ou des logiciels. Si vous avez installé Java, cela devrait fonctionner.




XLConnect peut également écrire des fichiers Excel, y compris changer la mise en forme des cellules, dans les deux formats Excel 97-2003 et Excel 2007/10.

Pour en savoir plus sur XLConnect, vous pouvez lire l'excellent package vignette.

A présent, vous êtes probablement impatient de commencer avec un exemple. Supposons que vous voulez lire une feuille de calcul Excel dans votre répertoire utilisateur appelé Elements.xlsx. Tout d'abord, installer et charger le package- puis créer un objet avec le nom du fichier:

> Install.packages ("XLConnect")> bibliothèque ("XLConnect")> excel.file lt; - file.path ("~ / Elements.xlsx")

Maintenant vous êtes prêt à lire une feuille de ce classeur avec le readWorksheetFromFile () fonction. Vous devez passer au moins deux arguments:

  • fichier: Une chaîne de caractères avec un chemin d'accès valide .xls ou .xlsx fichier

  • feuille: Soit un nombre entier indiquant la position de la feuille de calcul (par exemple, feuille = 1) Ou le nom de la feuille de calcul (par exemple, feuille = "Feuil2")

Les deux lignes suivantes font exactement la même chose - ils ont tous deux importer les données dans la première feuille de calcul (appelés Sheet1):

> Éléments lt; - readWorksheetFromFile (excel.file, feuille = 1)> éléments lt; - readWorksheetFromFile (excel.file, feuille = "Sheet1")

» » » » Comment lire les données d'Excel dans r