#préparation des données Viellissement <- file.path("chemin_vers_corpus")#indiquer le chemin vers le corpus Viellissement library(NLP)#entrer le package NLP library(tm)#entrer le package tm docs <- Corpus(DirSource(Viellissement))#lire le corpus summary(docs) docs <- tm_map(docs, toSpace, "/|@|\\|")#éliminer certains signaux spéciaux docs <- tm_map(docs,content_transformer(tolower))#transmettre en minuscule docs <- tm_map(docs,removeNumbers)#éliminer le nombre docs <- tm_map(docs,removePunctuation)#éliminer la ponctuation docs <- tm_map(docs,removeWords,stopwords("english")) #ajout de stopword proposé par package tm docs <- tm_map(docs,removeWords,c("age","studies","study","use","study","fig","may","a..","also","among","can","..m")) #ajout de stopword proprement défini docs <- tm_map(docs,stripWhitespace)#éliminer des espèces dtm <- DocumentTermMatrix(docs)#transformer le corpus en matrice de fréquence de mot(les documents comme la première ligne et les mots comme la première colonne ) dtm #classement library(topicmodels) ap_lda <- LDA(dtm, k = 20, control = list(seed = 1234))#k est le nombre de thématiques ap_lda library(tidytext) ap_topics <- tidy(ap_lda,matrix="beta")#beta est une matrice (thématiques et leurs listes de mots avec le poids) ap_topics #visualisation library(ggplot2)#entrer le package ggplot2 library(dplyr)#entrer le package dplyr ap_top_terms <- ap_topics %>% group_by(topic) %>% top_n(10,beta) %>% ungroup() %>% arrange(topic,-beta) ap_top_terms <- ap_topics %>% group_by(topic) %>% top_n(10,beta) %>% ungroup() %>% arrange(topic,-beta) ap_top_terms %>% ggplot(aes(term,beta,fill=factor(topic)))+geom_col(show.legend = FALSE)+facet_wrap(~ topic,scales = "free")+coord_flip()