Comece agoraComece grátis

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

Ver curso

Instruções do exercicio

Nós já criamos um DTM limpo chamado ag_dtm para este exercício.

  • Crie ag_dtm_m aplicando as.matrix() a ag_dtm.
  • Usando colchetes, [ e ], indexe ag_dtm_m para a linha 2206.
  • Aplique tidy() a ag_dtm. Chame o novo objeto de ag_tidy.
  • Examine ag_tidy nas linhas [831:835, ] para comparar com o formato tidy. Você verá uma palavra comum à parte examinada de ag_dtm_m no 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[___, ]
Editar e Executar Código