Estudando base dos agentes

Document Author

2025-02-27

library(tm);library(wordcloud2);library(RColorBrewer);library(readxl);library(ggplot2);library(dplyr);library(stringi)
dados <- read_excel("agentes.xlsx",col_names = TRUE)

colnames(dados)[59] = "colunaA"

Núvem de palavras da primeira linguagem/expressão que mais utiliza

texto = dados$`46. Qual é a linguagem/expressão artística-cultural que você mais utiliza/trabalha em sua atuação no campo: (Queremos saber um pouco mais sobre a linguagem ou expressão artístico-cultural que você MAIS utiliza ou trabalha. Responda com termos bem resumidos, como por exemplo: “teatro”, “capoeira”, “hip-hop”, “artesanato”, “cultura popular”, etc. Sabemos que dá vontade de colocar muitas coisas, mas por favor, coloque APENAS aquela que você considera a PRINCIPAL!)`

corpus <- Corpus(VectorSource(texto))
corpus <- tm_map(corpus, content_transformer(tolower))  
corpus <- tm_map(corpus, removePunctuation)  
corpus <- tm_map(corpus, removeNumbers) 
corpus <- tm_map(corpus, removeWords, stopwords("pt"))  
corpus <- tm_map(corpus, stripWhitespace) 

tdm <- TermDocumentMatrix(corpus)

m <- as.matrix(tdm)
word_freqs <- sort(rowSums(m), decreasing = TRUE) 
word_freq_df <- data.frame(word = names(word_freqs), freq = word_freqs)  

wordcloud2(word_freq_df, size=1.6)

Frequência dos 20 termos mais populares da primeira linguagem/expressão que mais utiliza

tdm <- TermDocumentMatrix(corpus)
matriz <- as.matrix(tdm)
frequencias <- rowSums(matriz)
tabela_frequencias <- data.frame(Palavra = names(frequencias), Frequencia = frequencias)
tabela_frequencias <- tabela_frequencias[order(-tabela_frequencias$Frequencia), ]
head(tabela_frequencias,20)
##                 Palavra Frequencia
## cultura         cultura        132
## popular         popular        111
## teatro           teatro         61
## dança             dança         47
## artesanato   artesanato         29
## música           música         27
## capoeira       capoeira         16
## audiovisual audiovisual         15
## artes             artes         14
## hiphop           hiphop         13
## fotografia   fotografia         12
## visuais         visuais         12
## hip                 hip         12
## hop                 hop         12
## percussão     percussão          9
## cultural       cultural          9
## cinema           cinema          8
## desenho         desenho          8
## digital         digital          8
## pintura         pintura          7
markdown_widget <- function(widget,path=getwd(),filename="file.png"){
  require(htmlwidgets)
  require(webshot)
  saveWidget(widget,"tmp.html",selfcontained = F)
  file <- paste(path,filename,sep = "/")
  webshot("tmp.html",file,delay = 5,vwidth = 1024,vheight = 768)
  file.remove("tmp.html")
  paste0("![",file,"](",file,")\n\n") %>% cat()
}

Núvem de palavras da segunda linguagem/expressão que mais utiliza

texto = dados$`47.Qual é segunda linguagem/expressão artística-cultural que você mais utiliza/trabalha em sua atuação no campo: (Se você ficou com vontade de inserir mais respostas na questão anterior, coloque aqui a linguagem ou expressão artístico-cultural que fica em SEGUNDO LUGAR na sua lista de importância.)`

corpus <- Corpus(VectorSource(texto))
corpus <- tm_map(corpus, content_transformer(tolower))  
corpus <- tm_map(corpus, removePunctuation)  
corpus <- tm_map(corpus, removeNumbers)  
corpus <- tm_map(corpus, removeWords, stopwords("pt"))  
corpus <- tm_map(corpus, stripWhitespace)  

tdm <- TermDocumentMatrix(corpus)

m <- as.matrix(tdm)
word_freqs <- sort(rowSums(m), decreasing = TRUE) 
word_freq_df <- data.frame(word = names(word_freqs), freq = word_freqs)  

wordcloud2(word_freq_df, size=1.6)

Frequência dos 20 termos mais populares da segunda linguagem/expressão que mais utiliza

tdm <- TermDocumentMatrix(corpus)
matriz <- as.matrix(tdm)
frequencias <- rowSums(matriz)
tabela_frequencias <- data.frame(Palavra = names(frequencias), Frequencia = frequencias)
tabela_frequencias <- tabela_frequencias[order(-tabela_frequencias$Frequencia), ]
head(tabela_frequencias,20)
##                 Palavra Frequencia
## cultura         cultura         73
## popular         popular         54
## dança             dança         49
## teatro           teatro         33
## artesanato   artesanato         23
## música           música         21
## audiovisual audiovisual         15
## capoeira       capoeira         11
## artes             artes         11
## literatura   literatura         11
## produção       produção          9
## arte               arte          9
## hip                 hip          8
## hop                 hop          8
## cultural       cultural          8
## hiphop           hiphop          8
## canto             canto          8
## fotografia   fotografia          8
## trabalho       trabalho          7
## musica           musica          7

Ano de nascimento dos agentes (Formato sem padrão, ocasionando erros)

dados$Ano_Nascimento <- substr(dados$`5.Data de Nascimento:`, nchar(dados$`5.Data de Nascimento:`) - 3, nchar(dados$`5.Data de Nascimento:`))

frequencias_ano <- dados %>%
  filter(Ano_Nascimento >= 1900 & Ano_Nascimento < 2025) %>%
  group_by(Ano_Nascimento) %>%
  summarise(Frequencia = n()) %>%
  arrange(desc(Frequencia))

ggplot(frequencias_ano, aes(x = factor(Ano_Nascimento), y = Frequencia, fill = factor(Ano_Nascimento))) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = Frequencia), vjust = -0.3) +  
  theme_minimal() +
  labs(title = "Distribuição dos Anos de Nascimento", x = "Ano de Nascimento", y = "Frequência") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),  
        panel.grid = element_blank(), 
        legend.position = "none")

library(plotly)
library(dplyr)

dados_resumidos <- dados %>%
  count(`7. UF`, `9.Você reside em qual dessas áreas?`)

dados_resumidos <- dados_resumidos %>%
  add_row(`7. UF` = "AC", `9.Você reside em qual dessas áreas?` = "Rural", n = 0)


uf_options <- c("Todos", unique(dados_resumidos$`7. UF`))

filtrar_dados <- function(uf) {
  if (uf == "Todos") {
    df <- dados_resumidos %>%
      group_by(`9.Você reside em qual dessas áreas?`) %>%
      summarise(n = sum(n), .groups = "drop")
  } else {
    df <- dados_resumidos %>% filter(`7. UF` == uf)
  }

  return(df)
}

uf_inicial <- "Todos"
dados_iniciais <- filtrar_dados(uf_inicial)

fig <- plot_ly(dados_iniciais, 
               x = ~`9.Você reside em qual dessas áreas?`, 
               y = ~n, 
               type = "bar") %>%
  layout(
    title = paste("Distribuição de Áreas por UF -", uf_inicial),
    xaxis = list(title = "Área"),
    yaxis = list(title = "Frequência"),
    updatemenus = list(
      list(
        buttons = lapply(uf_options, function(uf) {
          dados_atualizados <- filtrar_dados(uf) 
          list(
            method = "update",
            args = list(
              list(
                x = list(dados_atualizados$`9.Você reside em qual dessas áreas?`),
                y = list(dados_atualizados$n)
              ),
              list(
                title = paste("Distribuição de Áreas por UF -", uf),
                xaxis = list(
                  tickvals = dados_atualizados$`9.Você reside em qual dessas áreas?`, 
                  ticktext = dados_atualizados$`9.Você reside em qual dessas áreas?`   
                )
              )
            ),
            label = uf
          )
        }),
        direction = "down",
        x = 0.1,
        y = 1.2
      )
    )
  )

fig
dados_resumidos <- dados %>%
  count(`19. Qual foi a sua principal motivação para se tornar Agente Cultura Viva?`)

fig <- plot_ly(data = dados_resumidos, 
               x = ~`19. Qual foi a sua principal motivação para se tornar Agente Cultura Viva?`, 
               y = ~n, 
               type = 'bar') %>%
  layout(
    xaxis = list(title = "Principal motivação para se tornar Agente Cultura Viva"),
    yaxis = list(title = "Frequência")
  )

fig
dados_resumidos <- dados %>%
  count(colunaA)

fig <- plot_ly(data = dados_resumidos, 
               x = ~colunaA, 
               y = ~n, 
               type = 'bar') %>%
  layout(
    xaxis = list(title = "Principal atuação no campo artístico cultural"),
    yaxis = list(title = "Frequência")
  )

fig
library(tidygeocoder);library(stringr);library(leaflet)

dados = dados %>% 
  mutate("CEP" = str_replace_all(`8.CEP:`, "[^0-9]", ""))



dadosGeocode = dados %>% 
  geocode("CEP",method='osm')

dadosGeocode$Country %>% table()
## .
##     Argentina        Belize        Brazil      Colombia    Costa Rica 
##             3             1           424             1             2 
##       Ecuador         Haiti        Israel        Mexico        Panama 
##             1             1             2             4             1 
##      Portugal United States 
##             1            14
mapa <- leaflet(dadosGeocode) %>%
  addTiles() %>%
  addMarkers(~long, ~lat, popup = ~paste(`2.Nome completo (Agente Cultura Viva)`,
                                         "<br>",
                                         "CEP: ", `CEP`,
                                         "<br>",
                                         `6.Cidade onde reside`))

mapa