Bing – porządkowanie polarności: zliczanie i przestawianie danych o białym wielorybie
W tym ćwiczeniu wykonasz kolejne inner_join() z użyciem leksykonu "bing".
Następnie przetransformujesz wyniki za pomocą count() z pakietu dplyr oraz pivot_wider() z pakietu tidyr, aby lepiej poznać analizowany tekst.
Funkcja pivot_wider() rozkłada dane na wiele kolumn. W tym przypadku wartości sentymentu oraz odpowiadające im wartości n reprezentują częstość występowania terminów pozytywnych i negatywnych w każdym wierszu tekstu. Użycie pivot_wider() przekształca dane tak, że każdy wiersz zawiera osobne wartości dla sentymentu pozytywnego i negatywnego – nawet jeśli wynoszą one 0.
To ćwiczenie jest częścią kursu
Analiza sentymentu w R
Instrukcje do ćwiczenia
W tej sesji R masz do dyspozycji obiekt m_dick_tidy zawierający książkę Moby Dick oraz obiekt bing z leksykonem – podobnie jak w poprzednim ćwiczeniu.
- Wykonaj
inner_join()na obiektachm_dick_tidyibing.- Tak jak wcześniej, połącz kolumnę
"term"zm_dick_tidyz kolumną"word"w leksykonie. - Zapisz wynik jako nowy obiekt
moby_lex_words.
- Tak jak wcześniej, połącz kolumnę
- Utwórz kolumnę
index, równą wynikowias.numeric()zastosowanego do kolumnydocument. Zrób to wewnątrzmutate()zgodnie z konwencją tidyverse. - Utwórz obiekt
moby_count, przekazującmoby_lex_wordspotokiem docount()z argumentamisentiment, index. - Utwórz obiekt
moby_wide, przekazującmoby_countpotokiem dopivot_wider(), gdzienames_fromwskazuje na kolumnęsentiment,values_fromna kolumnęn, a brakujące wartości są uzupełniane przezvalues_fill = 0. - Jako kolejny krok w potoku użyj
arrange, aby posortować wiersze według wartości kolumnyindex.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Inner join
moby_lex_words <- inner_join(___, ___, by = c("___" = "___"))
moby_lex_words <- moby_lex_words %>%
# Set index to numeric document
mutate(___ = as.numeric(___))
moby_count <- moby_lex_words %>%
# Count by sentiment, index
___(___, ___)
# Examine the counts
moby_count
moby_wide <- moby_count %>%
# Pivot the sentiments
pivot_wider(names_from = ___, values_from = ___, values_fill = ___) %>%
arrange(index)
# Review the pivoted data
moby_wide