Vidéo: Tutoriel 04 R bis - Manipuler des vecteurs. R, un langage vectorisé 2024
Parfois, vous pouvez écrire un script dans R qui va traverser un dossier donné et effectuer des actions sur toutes les données dans les fichiers ou un sous-ensemble de fichiers ce dossier.
Pour obtenir la liste des fichiers dans un dossier spécifique, utilisez la liste. fichiers () ou dir (). Ces deux fonctions font exactement la même chose, mais pour des raisons de compatibilité descendante, la même fonction a deux noms:
liste. fichiers (fichier.chemin ("F:", "git", "roxygen2")) [1] "roxygen2" "roxygen2.Rcheck" [3] "roxygen2_2. 0. tar.gz" "roxygen2_2. gz "
Fonction | Description |
---|---|
Iist. files | Répertorie les fichiers dans un répertoire. |
liste. dirs | Répertorie les sous-répertoires d'un répertoire. |
fichier. exists | Teste si un fichier spécifique existe dans un emplacement. |
fichier. create | Crée un fichier. |
fichier. remove | Supprime les fichiers (et répertoires dans les systèmes d'exploitation Unix). |
tempfile | Renvoie un nom pour un fichier temporaire. Si vous créez un fichier
- par exemple, avec un fichier. create () ou écrire. table () utilisant ce nom retourné - R créera un fichier dans un dossier temporaire. |
tempdir | Renvoie le chemin du fichier d'un dossier temporaire sur votre système de fichiers
. |
Ensuite, vous pouvez exercer toutes vos connaissances sur l'utilisation des fichiers. Dans l'exemple suivant, vous créez d'abord un fichier temporaire, puis enregistrez une copie de la trame de données iris dans ce fichier. Pour tester que le fichier est sur le disque, vous lisez le fichier nouvellement créé dans une nouvelle variable et inspectez cette variable. Enfin, vous supprimez le fichier temporaire du disque.
Commencez par utiliser la fonction tempfile () pour renvoyer un nom à une chaîne de caractères avec le nom d'un fichier dans un dossier temporaire de votre système:
Notez que le résultat est purement une chaîne de caractères, pas un fichier. Ce fichier n'existe encore nulle part. Ensuite, vous enregistrez une copie de l'image du cadre de données dans mon. fichier en utilisant l'écriture. Fonction csv (). Ensuite, utilisez la liste. files () pour voir si R a créé le fichier: >> write. csv (iris, fichier = mon fichier.)> liste. files (tempdir ()) [1] "file14d4366b6095"
Comme vous pouvez le voir, R a créé le fichier. Maintenant, vous pouvez utiliser lire. csv () pour importer les données dans une nouvelle variable appelée fichier. iris:
>> fichier. iris <- lire. csv (mon fichier)
Utilise str () pour étudier la structure du fichier. iris. Comme le fichier attendu. iris est une donnée. cadre de 150 observations et six variables. Six variables, dites-vous? Oui, six, bien que l'iris original n'ait que cinq colonnes.
Ce qui s'est passé ici était la valeur par défaut de la ligne d'argument. noms de lire. csv () est une ligne.names = VRAI. (Vous pouvez le vérifier en regardant de près l'aide de? Read.csv ().) Ainsi, R a sauvegardé les noms de lignes d'iris d'origine dans une nouvelle colonne appelée X: >> str (fichier.iris) ' Les données. cadre ': 150 obs. de 6 variables: $ X: int 1 2 3 4 5 6 7 8 9 10 … $ Sepal. Longueur: num 5. 1 4. 9 4. 7 4. 6 5 5. 4 4. 6 5 4. 4 4. 9 … $ Sepal. Largeur: num 3. 5 3 3. 2 3. 1 3. 6 3. 9 3. 4 3. 4 2. 9 3. 1 … $ Pétale. Longueur: num 1. 4 1. 4 1. 3 1. 5 1. 4 1. 7 1. 4 1. 5 1. 4 1. 5 … $ Pétale. Largeur: num 0. 2 0. 2 0. 2 0. 2 0. 2 0. 4 0. 3 0. 2 0. 2 0. 1 … $ Espèce: Facteur avec 3 niveaux "setosa", "versicolor", …: 1 1 1 1 1 1 1 1 1 1 …Pour laisser votre système de fichiers dans son ordre d'origine, vous pouvez utiliser un fichier. remove () pour supprimer le fichier temporaire:
Comme vous pouvez le voir, le résultat de la liste. files () est une chaîne de caractères vide, car le fichier n'existe plus dans ce dossier.