Comece agoraComece grátis

AFINN: I'm your Huckleberry

Agora vamos passar para o léxico AFINN. O léxico AFINN atribui valores numéricos de 5 a -5, não apenas positivo ou negativo. Diferente da coluna sentiment do léxico Bing, no AFINN a coluna de pontuação de sentimento se chama value.

Como antes, você aplica inner_join() e depois count(). Em seguida, para somar as pontuações de cada linha, usamos as funções group_by() e summarize() do dplyr. A função group_by() pega um data frame existente e o converte em um data frame agrupado, onde as operações são realizadas "por grupo". Depois, summarize() permite calcular um valor para cada grupo do seu data frame usando uma função que agrega dados, como sum() ou mean(). No nosso caso, podemos fazer algo como:

data_frame %>% 
    group_by(book_line) %>% 
    summarize(total_value = sum(book_line))

Na versão tidy de Huckleberry Finn, a linha 9703 contém as palavras "best", "ever", "fun", "life" e "spirit". "best" e "fun" têm pontuações AFINN de 3 e 4, respectivamente. Após a agregação, a linha 9703 terá uma pontuação total de 7.

No tidyverse, filter() é preferido a subset() porque reúne a funcionalidade de subset() com uma sintaxe mais simples. Aqui está um exemplo que aplica filter() a data_frame onde algum valor em column1 é igual a 24. Observe que o nome da coluna não está entre aspas.

filter(data_frame, column1 == 24)

O objeto afinn contém o léxico AFINN. O objeto huck é uma versão tidy de Adventures of Huckleberry Finn, de Mark Twain, para análise.

A linha 5400 é All the loafers looked glad; I reckoned they was used to having fun out of Boggs. As stopwords e a pontuação já foram removidas do conjunto de dados.

Este exercicio faz parte do curso

Análise de Sentimentos em R

Ver curso

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# See abbreviated line 5400
huck %>% filter(line == 5400)

# What are the scores of the sentiment words?
afinn %>% filter(word %in% c("fun", "glad"))

huck_afinn <- huck %>% 
  # Inner Join to AFINN lexicon
  inner_join(___, by = c("___" = "___")) %>%
  # Count by value and line
  ___(___, ___)
Editar e Executar Código