Os dados

Dados vêm do Rotten Tomatoes: https://www.rottentomatoes.com/. Selecionei os filmes com participação da atriz Charlize Theron.

Cada item nos dados representa um filme. As colunas que cada item tem são as seguintes:

$ avaliacao      <int> Avaliação dos críticos (0-100)
$ nota_audiencia <num> Nota dada pelo público geral (0-100)
$ filme          <chr> Nome do filme
$ papel          <chr> Papel desempenhado pelo ator/atriz
$ bilheteria     <num> Bilheteria em milhões de doláres
$ ano            <int> Ano de lançamento do filme.
filmes = read_imported_data("charlize_theron")

Explorando os dados

No gráfico abaixo percebemos que a atriz Charlize Theron ao longo dos anos aumentou sua participação em grandes produções que são sucesso de bilheteria, bem diferente dos seus primeiros filmes que tiveram baixa arrecadação.

filmes %>% 
    ggplot(aes(x = ano, y = bilheteria)) + 
    geom_point(size = 3, color = 'salmon') +
  labs(
    x="Ano de lançamento",
    y="Bilheteria em (milhões de dólares)"
  )

Ao observarmos a arrecadação dos filmes percebemos que Charlize Theron participou de mais filmes com baixa bilheteria do que em produções com grande audiência.

filmes %>% 
    ggplot(aes(x = bilheteria)) + 
    geom_histogram(binwidth = 10, fill = paleta[2], alpha=0.4, color="black") + 
    geom_rug(size = .5) + 
    labs(
        x="Bilheteria em (milhões de dólares)",
        y=""
    )

No quesito avaliação pela crítica podemos observar, pelo boxplot abaixo, que as notas dos filmes não são simetricas. Há filmes bem aclamados pela crítica e outros que não agradaram, consequentemente tendo uma nota baixa.

filmes %>% 
    ggplot(aes(x ="", y=avaliacao)) + 
    geom_boxplot(width = .2) +
    labs(
      x="",
      y="Avaliação"
    )

O gráfico a seguir é interativo, nele podemos observar quais os filmes que são bem avaliados pela crítica, como também os que tiveram maior bilheteria.

f <- list(
  family = "Courier New, monospace",
  size = 18,
  color = "#7f7f7f"
)

x <- list(
  title = "Avaliação",
  titlefont = f
)
y <- list(
  title = "Bilheteria",
  titlefont = f
)
fig <- plot_ly(data = filmes,type="scatter",mode="markers", size=12,x = ~avaliacao, y = ~bilheteria,colors = c("#132B43", "#56B1F7"), text = ~paste("Avaliação: ", avaliacao, '<br>Bilheteria:', bilheteria,'<br>Filme:', filme))


fig <- fig %>% layout(xaxis = x, yaxis = y)


fig

Agrupamento usando kmeans

A partir do gráfico anterior podemos visualizar 3 grupos:

Usando o kmeans com k=3 obtivemos o seguinte resultado:

filmes_numerical = filmes %>% select("avaliacao","bilheteria")

# Normalization
filmes_numerical_norm <- as.data.frame(scale(filmes_numerical))

# Execution of k-means with k=3

filmes_kmeans <- kmeans(filmes_numerical_norm, centers=3)
filmes$grupo <- as.character(filmes_kmeans$cluster)
fig <- plot_ly(data = filmes,type="scatter",mode="markers", size=12,x = ~avaliacao, y = ~bilheteria, color = ~grupo, text = ~paste("Filme: ", filme, '<br>Ano:', ano))
fig <- fig %>% layout(legend = list(x = 0.1, y = 0.9,title=list(text='<b>  Grupo </b>')),xaxis = x, yaxis = y)
fig

Grupo 1 -> Sucesso: Nesse grupo temos filmes como: Mad Max e 2 filmes da franquia velozes e furiosos, caracterizados pelas cenas de ação e grande bilheteria .

Grupo 2 -> Oscar: Nesse grupo temos alguns filmes que Charlize foi indicada ao Oscar: Bombshell,North Country e Monster

Grupo 3 -> Diversidade: Nesse grupo temos filmes que se diferenciam muito entre si. Gringo & Trapped são filmes que envolvem crimes, em contrapartida Sweet November é do gênero Romance/Drama