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
Oefeninstructies
- Maak
tidy_reviewsdoor het oorspronkelijke reviews-objectbos_reviewsmet een pipe (%>%) door te geven aan de functieunnest_tokens(). Geef een nieuwe kolomnaamworddoor en specificeer de kolomcomments. Denk eraan: in de tidyverse heb je geen$of aanhalingstekens nodig. - Maak op de tidy-manier een nieuwe variabele! Schrijf
tidy_reviewsopnieuw doortidy_reviewste pipen naargroup_bymet de kolomid. Pipe daarna opnieuw (%>%) naarmutate(). Maak binnen mutate een nieuwe variabeleoriginal_word_ordergelijk aanseq_along(word). - Print de tibble
tidy_reviews. - Laad de kant-en-klare "SMART"-stopwoorden in je R-sessie met
data("stop_words"). - Overschrijf
tidy_reviewsdoor het oorspronkelijketidy_reviewsmet een%>%door te geven aananti_join(). Geef binnenanti_join()het vooraf bepaaldestop_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 %>%
___(___)