Exemple de table de données textuelles
library(dplyr)
##
## Attachement du package : 'dplyr'
## Les objets suivants sont masqués depuis 'package:stats':
##
## filter, lag
## Les objets suivants sont masqués depuis 'package:base':
##
## intersect, setdiff, setequal, union
library(nycflights13)
library(stringr)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.1 ✔ readr 2.1.6
## ✔ ggplot2 4.0.1 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.2
## ✔ purrr 1.2.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data_textuelle = tibble( nom = c("Mr Eric Legrand", "Mme
Anabelle Dupont", "Mme Fatou Slaoui"), adresse = c("12 rue
Archimède", "47 avenue de la Libération", "3 rue des Fleurs"), ville
= c("Niort", "Poitiers", "Marseille") )
en minuscules
mutate ( data_textuelle, adresse_M = str_to_upper(adresse),ville_M = str_to_upper(ville),nom_M = str_to_upper(nom))
## # A tibble: 3 × 7
## nom adresse ville nom_m adresse_M ville_M nom_M
## <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 "Mr Eric Legrand" "12 rue\nArchimède" Niort "mr … "12 RUE\… NIORT "MR …
## 2 "Mme\nAnabelle Dupont" "47 avenue de la L… Poit… "mme… "47 AVEN… POITIE… "MME…
## 3 "Mme Fatou Slaoui" "3 rue des Fleurs" Mars… "mme… "3 RUE D… MARSEI… "MME…
Exercice 2 : concaténer l’adresse et la ville, avec la ville en
majuscules
mutate(data_textuelle, concatenation = paste(nom,ville,adresse))
## # A tibble: 3 × 5
## nom adresse ville nom_m concatenation
## <chr> <chr> <chr> <chr> <chr>
## 1 "Mr Eric Legrand" "12 rue\nArchimède" Niort "mr … "Mr Eric Leg…
## 2 "Mme\nAnabelle Dupont" "47 avenue de la Libération" Poiti… "mme… "Mme\nAnabel…
## 3 "Mme Fatou Slaoui" "3 rue des Fleurs" Marse… "mme… "Mme Fatou S…
Exercice 3 : concaténer le nom, l’adresse et la ville avec : un
séparateur sep = “-” ou un argument collapse = “|”
mutate(data_textuelle, concatenation = paste(nom,ville,adresse, sep ="-"))
## # A tibble: 3 × 5
## nom adresse ville nom_m concatenation
## <chr> <chr> <chr> <chr> <chr>
## 1 "Mr Eric Legrand" "12 rue\nArchimède" Niort "mr … "Mr Eric Leg…
## 2 "Mme\nAnabelle Dupont" "47 avenue de la Libération" Poiti… "mme… "Mme\nAnabel…
## 3 "Mme Fatou Slaoui" "3 rue des Fleurs" Marse… "mme… "Mme Fatou S…
un argument collapse = “|”.
mutate(data_textuelle, concatenation = paste(nom,ville,adresse, collapse ="|"))
## # A tibble: 3 × 5
## nom adresse ville nom_m concatenation
## <chr> <chr> <chr> <chr> <chr>
## 1 "Mr Eric Legrand" "12 rue\nArchimède" Niort "mr … "Mr Eric Leg…
## 2 "Mme\nAnabelle Dupont" "47 avenue de la Libération" Poiti… "mme… "Mr Eric Leg…
## 3 "Mme Fatou Slaoui" "3 rue des Fleurs" Marse… "mme… "Mr Eric Leg…
Exercice 4 : À partir de l’adresse complète concaténée précédemment
avec le délimiteur “|”, créer une liste issue du découpage selon ce
séparateur.
mutate(data_textuelle, lst_decoupage = str_split(paste(nom, ville, adresse, sep = "|"), "\\|"))
## # A tibble: 3 × 5
## nom adresse ville nom_m lst_decoupage
## <chr> <chr> <chr> <chr> <list>
## 1 "Mr Eric Legrand" "12 rue\nArchimède" Niort "mr … <chr [3]>
## 2 "Mme\nAnabelle Dupont" "47 avenue de la Libération" Poiti… "mme… <chr [3]>
## 3 "Mme Fatou Slaoui" "3 rue des Fleurs" Marse… "mme… <chr [3]>
Exercice 5 : À partir de la colonne nom, créer trois nouvelles
colonnes : genre, prenom et nom.
separate(data_textuelle, nom, into = c("genre", "prenom", "nom"), sep = " ")
## Warning: Expected 3 pieces. Missing pieces filled with `NA` in 1 rows [2].
## # A tibble: 3 × 6
## genre prenom nom adresse ville nom_m
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 "Mr" Eric Legrand "12 rue\nArchimède" Niort "mr eri…
## 2 "Mme\nAnabelle" Dupont <NA> "47 avenue de la Libération" Poitiers "mme\na…
## 3 "Mme" Fatou Slaoui "3 rue des Fleurs" Marseille "mme fa…
Exercice 6 : Saisir La donnée
library(tidyverse)
library(stringr)
library(tidytext)
data_textuelle = tibble( id = 1 :3, texte = c( "La data science
est un domaine interdisciplinaire.", "Le text mining permet
d’analyser des documents.", "Les ingénieurs utilisent R et Python
pour le NLP." ) )
Exercice 7 : Passer le texte en minuscules
mutate ( data_textuelle, texte_m = str_to_lower (texte))
## # A tibble: 3 × 3
## id texte texte_m
## <int> <chr> <chr>
## 1 1 "La data science\nest un domaine interdisciplinaire." "la data science\…
## 2 2 "Le text mining permet\nd’analyser des documents." "le text mining p…
## 3 3 "Les ingénieurs utilisent R et Python\npour le NLP." "les ingénieurs u…
Exercice 7 : Supprimer la ponctuation
mutate ( data_textuelle, texte_ssp = str_remove_all(texte, "[:punct:]"))
## # A tibble: 3 × 3
## id texte texte_ssp
## <int> <chr> <chr>
## 1 1 "La data science\nest un domaine interdisciplinaire." "La data science\…
## 2 2 "Le text mining permet\nd’analyser des documents." "Le text mining p…
## 3 3 "Les ingénieurs utilisent R et Python\npour le NLP." "Les ingénieurs u…
Exercice 7 : Supprimer les chiffres
mutate ( data_textuelle, texte_sn =str_remove_all(texte, "[:digit:]"))
## # A tibble: 3 × 3
## id texte texte_sn
## <int> <chr> <chr>
## 1 1 "La data science\nest un domaine interdisciplinaire." "La data science\…
## 2 2 "Le text mining permet\nd’analyser des documents." "Le text mining p…
## 3 3 "Les ingénieurs utilisent R et Python\npour le NLP." "Les ingénieurs u…
Exercice 8 :