Kom igångKom igång gratis

Lådagram

Ett enkelt sätt att jämföra flera fördelningar är med ett lådagram. Den här koden hjälper dig att skapa flera lådagram för en kompakt visualisering.

I den här övningen är objektet all_book_polarity redan inläst. Dataramen innehåller två kolumner, book och polarity. Den omfattar alla böcker med qdap:s funktion polarity() applicerad. Här är de tre första raderna i det stora objektet.

book polarity
14 huck 0.2773501
22 huck 0.2581989
26 huck -0.5773503

Den här övningen introducerar tapply(), som låter dig applicera funktioner över en ojämn array. Du matar in en vektor med värden och sedan en vektor med faktorer. För varje kombination av faktor och värde appliceras den tredje parametern – en funktion som min(). Här är ett exempel med tapply() på två vektorer.

f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)

Resultatet är en array där Group1 har värdet 2 (1+1) och Group2 har värdet 4 (2+2).

Den här övningen är en del av kursen

Sentimentanalys i R

Visa kurs

Övningsinstruktioner

  • Eftersom det redan är inläst, undersök all_book_polarity med str().
  • Använd tapply() och skicka in all_book_polarity$polarity, all_book_polarity$book och funktionen summary(). Det skriver ut sammanfattande statistik för de 4 böckerna utifrån deras polarity()-poäng. Du bör förvänta dig att Oz och Huck Finn har högre genomsnitt än Agamemnon eller Moby Dick. Lägg särskilt märke till medianen.
  • Skapa ett lådagram med ggplot() och skicka in all_book_polarity.
    • Estetiken ska vara aes(x = book, y = polarity).
    • Lägg till geom_boxplot() med + och sätt col = "darkred". Lägg särskilt märke till den mörka linjen i varje lådagram som representerar medianen.
    • Lägg sedan till ytterligare ett lager med geom_jitter() för att visa punkter för vart och ett av orden.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Examine
___

# Summary by document
___

# Box plot
ggplot(___, aes(x = ___, y = ___)) +
  ___(fill = c("#bada55", "#F00B42", "#F001ED", "#BA6E15"), col = "___") +
  ___(position = position_jitter(width = 0.1, height = 0), alpha = 0.02) +
  theme_gdocs() +
  ggtitle("Book Polarity")
Redigera och kör kod