Matriz DTM vs. tidytext
O tidyverse é um conjunto de pacotes R que compartilham filosofias em comum e foram projetados para funcionar juntos. Este capítulo aborda algumas funções do tidyverse para manipular dados. Neste exercício, você vai comparar um DTM com um data frame de texto no formato tidy, chamado de tibble.
No tidyverse, cada observação é uma única linha em um data frame. Isso torna o trabalho em diferentes pacotes muito mais fácil, já que a estrutura de dados fundamental é a mesma. Partes deste curso se baseiam fortemente no pacote tidytext, que usa essa organização dos dados.
Por exemplo, você talvez já conheça o operador %>% do pacote magrittr. Ele encaminha um objeto no lado esquerdo como o primeiro argumento da função no lado direito.
No exemplo abaixo, você está encaminhando o objeto data para function1(). Note como os parênteses estão vazios. Em seguida, isso é encaminhado para function2(). Na última função, você não precisa adicionar o objeto data porque ele foi repassado pela saída de function1(). Porém, você adiciona um parâmetro fictício, some_parameter, como TRUE. Esses encadeamentos por pipe acabam criando o object.
object <- data %>%
function1() %>%
function2(some_parameter = TRUE)
Para usar o operador %>%, você não precisa necessariamente carregar o pacote magrittr, pois ele também está disponível no pacote dplyr.
dplyr também contém as funções inner_join() (que você vai conhecer melhor depois) e count() para contagem de dados. A última função de que você vai precisar é mutate() para criar novas variáveis ou modificar as existentes.
object <- data %>%
mutate(new_Var_name = Var1 - Var2)
ou para modificar uma variável
object <- data %>%
mutate(Var1 = as.factor(Var1))
Você também vai usar a função pivot_wider() do tidyr para organizar os dados, com cada linha sendo uma linha do livro e os valores positivos e negativos como colunas.
| index | negative | positive |
|---|---|---|
| 42 | 2 | 0 |
| 43 | 0 | 1 |
| 44 | 1 | 0 |
Para transformar um DTM em formato tidy, use tidy() do pacote broom.
tidy_format <- tidy(Document_Term_Matrix)
Este exercício usa texto da tragédia grega, Agamemnon. Agamemnon é uma história sobre infidelidade conjugal e assassinato. Você pode baixar uma cópia aqui.
Este exercicio faz parte do curso
Análise de Sentimentos em R
Instruções do exercicio
Nós já criamos um DTM limpo chamado ag_dtm para este exercício.
- Crie
ag_dtm_maplicandoas.matrix()aag_dtm. - Usando colchetes,
[e], indexeag_dtm_mpara a linha2206. - Aplique
tidy()aag_dtm. Chame o novo objeto deag_tidy. - Examine
ag_tidynas linhas[831:835, ]para comparar com o formato tidy. Você verá uma palavra comum à parte examinada deag_dtm_mno passo 2.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# As matrix
ag_dtm_m <- ___
# Examine line 2206 and columns 245:250
ag_dtm_m[___, 245:250]
# Tidy up the DTM
ag_tidy <- ___
# Examine tidy with a word you saw
ag_tidy[___, ]