TP8

Ce TP permet de manipuler des fichiers texte dans R, d’effectuer des opérations sur des chaînes de caractères, puis d’écrire et d’enregistrer des données dans différents formats de fichiers. Il s’appuie sur un fichier texte contenant un résumé du film The Artist. Ce TP enseigne la lecture, la transformation et l’exportation de données textuelles en R.

D'après le document TP8

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

TP8

Document source

TP8

Programming, Data Handling, Text Files · PDF · 4 pages

Afficher l'aperçu du document

Consulter le document original →

Ce TP permet de manipuler des fichiers texte dans R, d’effectuer des opérations sur des chaînes de caractères, puis d’écrire et d’enregistrer des données dans différents formats de fichiers. Il s’appuie sur un fichier texte contenant un résumé du film The Artist. Ce TP enseigne la lecture, la transformation et l’exportation de données textuelles en R. Pour le réaliser, il faut avoir R installé et disposer du fichier The_Artist.txt.

Objectifs

  • Lire un fichier texte ligne par ligne ou mot par mot dans R.
  • Effectuer des opérations de base sur des chaînes de caractères (conversion en majuscules, minuscules, remplacement, découpage, tri, concaténation).
  • Exporter des données dans des fichiers texte, CSV, Excel et RData.
  • Utiliser des fonctions R natives et des bibliothèques externes pour manipuler et sauvegarder des données.

Prérequis et installation

  • Installation de R (version non spécifiée, mais compatible avec les fonctions utilisées).
  • Fichier texte The_Artist.txt disponible dans le répertoire de travail.
  • Connaissances de base sur la manipulation des vecteurs et des chaînes de caractères en R.
  • Pour l’export Excel, installation de la bibliothèque xlsx via install.packages("xlsx").

Lecture de fichiers texte

Commencez par lire le fichier The_Artist.txt avec la fonction readLines() qui lit le fichier ligne par ligne et retourne un vecteur de chaînes de caractères.

my_data <- readLines("The_Artist.txt")
my_data

Vérifiez le nombre d’éléments (lignes) dans ce vecteur :

length(my_data)

Vous devriez obtenir 5, indiquant que le fichier contient 5 lignes.

Pour vérifier la taille du fichier en octets, utilisez :

file.size("The_Artist.txt")

La sortie devrait être 1065, correspondant à la taille du fichier.

Alternativement, vous pouvez lire le fichier mot par mot avec la fonction scan() :

my_data1 <- scan("The_Artist.txt", "")
my_data1

Vérifiez la longueur de ce vecteur :

length(my_data1)

Cette valeur correspond au nombre total de mots dans le fichier.

Opérations sur chaînes de caractères

Voici quelques manipulations de base sur les chaînes extraites :

  • nchar() : nombre de caractères dans une chaîne. Exemple :
nchar(my_data[1])
  • toupper() : conversion en majuscules.
toupper(my_data[3])
  • tolower() : conversion en minuscules.
tolower(my_data[3])
  • chartr() : remplacement de caractères. Exemple pour remplacer les espaces par des traits d’union dans la première ligne :
chartr(" ", "-", my_data[1])
  • strsplit() : découpage d’une chaîne en mots selon un séparateur (ici l’espace). Exemple :
character_list <- strsplit(my_data[1], " ")
word_list <- unlist(character_list)
word_list

La fonction strsplit() retourne une liste, on utilise unlist() pour obtenir un vecteur simple de mots.

  • sort() : tri alphabétique des mots :
sorted_list <- sort(word_list)
sorted_list
  • paste() : concaténation des mots triés en une seule chaîne, séparés par des espaces :
paste(sorted_list, collapse = " ")
  • substr() : extraction d’une sous-chaîne. Exemple pour extraire les caractères de la 4e à la 50e position dans la première ligne :
sub_string <- substr(my_data[1], start = 4, stop = 50)
sub_string
  • trimws() : suppression des espaces en début et fin de chaîne :
trimws(sub_string)
  • str_sub() (bibliothèque stringr) : extraction de sous-chaînes à partir de la fin. Exemple :
library(stringr)
str_sub(my_data[1], -8, -1)

Cette commande extrait les 8 derniers caractères de la première ligne, ici donnant "talkies."

Écriture et enregistrement dans les fichiers

Après avoir manipulé les données, vous pouvez les sauvegarder dans différents formats.

Exportation en fichier texte

Créons une matrice et sauvegardons-la dans un fichier texte :

m <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3)
m
write(m, file = "my_text_file.txt", ncolumns = 3, sep = " ")

Pour écrire une chaîne de caractères (par exemple la première ligne de my_data) dans un fichier texte :

write(my_data[1], file = "my_text_file2.txt", ncolumns = 1, sep = " ")

Exportation en fichier CSV

Utilisez un jeu de données intégré, ici CO2, et exportez-le en CSV :

head(CO2)
write.csv(CO2, file = "my_csv.csv")

Pour ne pas inclure les numéros de ligne dans le fichier CSV :

write.csv(CO2, file = "my_csv.csv", row.names = FALSE)

Pour supprimer aussi les noms de colonnes, ajoutez col.names = FALSE (optionnel).

Exportation en fichier Excel

Installez la bibliothèque xlsx :

install.packages("xlsx")
library(xlsx)
write.xlsx(CO2, file = "my_excel.xlsx", row.names = FALSE)

Cette méthode est similaire à l’export CSV, mais nécessite une bibliothèque externe.

Exportation en fichier .RData

Créez des variables simples et sauvegardez-les dans un fichier .RData :

var1 <- "var1"
var2 <- "var2"
var3 <- "var3"
save(list = c("var1", "var2", "var3"), file = "variables.RData", safe = TRUE)

Le fichier variables.RData est créé et contient les objets R sauvegardés.

Résultats attendus

  • Lecture du fichier The_Artist.txt avec readLines() retourne un vecteur de 5 éléments (lignes).
  • La taille du fichier est de 1065 octets.
  • Lecture mot par mot avec scan() retourne un vecteur dont la longueur correspond au nombre total de mots.
  • Les fonctions de manipulation de chaînes retournent les résultats attendus : conversion majuscules/minuscules, remplacement d’espaces par des traits d’union, découpage en mots, tri alphabétique, concaténation, extraction de sous-chaînes.
  • Les fichiers texte, CSV, Excel et RData sont créés correctement avec les données spécifiées.

Erreurs courantes

  • Ne pas avoir le fichier The_Artist.txt dans le répertoire de travail, ce qui provoque une erreur de lecture.
  • Oublier d’installer ou de charger la bibliothèque stringr avant d’utiliser str_sub().
  • Ne pas spécifier correctement les arguments dans write() (par exemple, ncolumns et sep), ce qui peut entraîner un fichier mal formaté.
  • Dans l’export CSV, oublier de mettre row.names = FALSE entraîne l’ajout de numéros de ligne non désirés.
  • Pour l’export Excel, ne pas installer la bibliothèque xlsx provoque une erreur.
  • Confusion entre lecture ligne par ligne (readLines()) et mot par mot (scan()).
  • Utiliser des indices incorrects dans substr() ou str_sub() peut produire des sous-chaînes inattendues.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions