R: Partage & Echange

text data

Contexte

  • Nous vivons dans un monde connecté où les donneées ont des formes multiples
  • A la banque nous travaillons en majorité avec des données numériques
  • Plus les technologies avancent, plus l’analyse d’autres types de données est accessible

Pourquoi analyser du texte?

  • Automatiser des réponses?
  • Automatiser des processus de regulation?
  • Identifier des tendences en Marketing?

Cas Pratique

Tweet de Donald Trump de 2009 à 2016

Dataset

Les données ont le format suivant:

#reactable(head(tweet,2))
datatable(head(tweet,3),  rownames = FALSE, options = list(pageLength = 3, dom = 't') )

Après transformation via
des Expressions Régulère (RegEx):

tidy_tweet <- tweet %>% 
  distinct() %>% 
  rename(message=Tweet) %>% 
  mutate(date_time =  ymd_hms(paste(Date, Time)),
         message_punctuationless= str_replace_all(message, '[[^@\\w\\s]]', ' '),
         user=str_extract_all(message_punctuationless, '@(\\w){1,15}'),
         is_rt = ifelse( str_detect(message, '^ RT @|^RT @|"@'),1,0),
         rt_user = ifelse(is_rt, str_extract(message, '@(\\w){1,15}'), NA),
         message2 = str_remove_all(message, '(http|https):\\/\\/([\\w\\d\\.\\:]*)(\\/?)(.*)'),
         text = ifelse(is_rt & ((str_detect(message,'^"') & str_count(message2,'"')==1|str_detect(message2,'^RT'))),'', 
                       ifelse(is_rt , str_remove_all(message2, '".*"'), message2)),
         hashtag = str_extract_all(message, '#(\\w){1,30}'))  %>% 
  select(-message_punctuationless, -message2)

Les personnes les plus mentionées

Vocabulaire Utilisé

FoxNews vs CNN

Les nombre de fois que les mots suivants sont mentionnés

Résultat

Résultat

Récapitulatif

map()

  • peut etre utilisé avec %>%
  • peut retourner differents types d’objets
  • peut prendre plusieurs arguments

Merci pour votre attention

Questions?

  • Pourquoi utiliser les fonctions de {purrr} si les fonctions de type apply font la même chose?
  • Est-ce que map fait les calculs en parallele?