Aan de slagGa gratis aan de slag

Maak een Tidy Text Tibble!

Sinds je hebt geleerd over tidy-principes helpt deze code je gegevens te organiseren in een tibble, zodat je vervolgens binnen de tidyverse kunt werken!

Eerder leerde je dat het toepassen van tidy() op een TermDocumentMatrix()-object de TDM omzet naar een tibble. In deze oefening maak je de woordgegevens direct uit de reviewkolom comments.

Eerst gebruik je unnest_tokens() om de tekst naar kleine letters om te zetten en de reviews te tokenizen tot losse woorden.

Soms is het handig om de oorspronkelijke woordvolgorde binnen elke groep van een corpus vast te leggen. Gebruik daarvoor mutate(). In mutate() gebruik je seq_along() om een reeks getallen te maken van 1 tot de lengte van het object. Dit legt de woordvolgorde vast zoals die is geschreven.

In het tm-pakket zou je removeWords() gebruiken om stopwoorden te verwijderen. In de tidyverse laad je eerst het stopwoordenlexicon en pas je vervolgens een anti_join() toe tussen het tidy-tekstdataframe en de stopwoorden.

Deze oefening maakt deel uit van de cursus

Sentimentanalyse in R

Cursus bekijken

Oefeninstructies

  • Maak tidy_reviews door het oorspronkelijke reviews-object bos_reviews met een pipe (%>%) door te geven aan de functie unnest_tokens(). Geef een nieuwe kolomnaam word door en specificeer de kolom comments. Denk eraan: in de tidyverse heb je geen $ of aanhalingstekens nodig.
  • Maak op de tidy-manier een nieuwe variabele! Schrijf tidy_reviews opnieuw door tidy_reviews te pipen naar group_by met de kolom id. Pipe daarna opnieuw (%>%) naar mutate(). Maak binnen mutate een nieuwe variabele original_word_order gelijk aan seq_along(word).
  • Print de tibble tidy_reviews.
  • Laad de kant-en-klare "SMART"-stopwoorden in je R-sessie met data("stop_words").
  • Overschrijf tidy_reviews door het oorspronkelijke tidy_reviews met een %>% door te geven aan anti_join(). Geef binnen anti_join() het vooraf bepaalde stop_words-lexicon door.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Vector to tibble
tidy_reviews <- bos_reviews %>% 
  ___(___, ___)

# Group by and mutate
tidy_reviews <- tidy_reviews %>% 
  ___(___) %>% 
  ___(original_word_order = ___(___))

# Quick review
___

# Load stopwords
___

# Perform anti-join
tidy_reviews_without_stopwords <- tidy_reviews %>% 
  ___(___)
Code bewerken en uitvoeren