Entregable Final R Studio

6. Mini reto práctico

library(readr)
## Warning: package 'readr' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(stringr)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
# Leer archivo
movies_original <- read_csv("movie_info.csv", 
                   col_types = cols(.default = "c"))

movies <- movies_original %>%
  mutate(
    critic_score = as.numeric(str_remove(critic_score, "%")), #Remueve el % de mis datos 
    audience_score = as.numeric(str_remove(audience_score, "%")),
    year = str_extract(release_date, "\\d{4}"), #Solo deja los últimos 4 digitos
    year = as.numeric(year)
  )
#colSums(is.na(movies)) para identificar el # de NA's por columna

Elige una película específica (title) y filtra la base.

Dracula<-movies%>%
  filter(title%in%"Count Dracula")

Dracula
## # A tibble: 1 × 6
##   title         url               release_date critic_score audience_score  year
##   <chr>         <chr>             <chr>               <dbl>          <dbl> <dbl>
## 1 Count Dracula https://www.rott… 1977                   NA             70  1977

Compara su puntuación de crítica y audiencia contra la media general.

media_critica <- mean(movies$critic_score, na.rm = TRUE)
media_audiencia <- mean(movies$audience_score, na.rm = TRUE)

Dracula_vs_Media<- Dracula%>%
  mutate(
    critica_vs_media <- critic_score - media_critica,
    audiencia_vs_media <- audience_score - media_audiencia
  )

media_critica
## [1] 57.66087
media_audiencia
## [1] 60.07482

Filtra las películas del año 1997, ¿cuál es la que tiene mayor puntuación en crítica?

movies1997<-movies%>%
  filter(year%in% 1997)

movies1997
## # A tibble: 240 × 6
##    title                    url   release_date critic_score audience_score  year
##    <chr>                    <chr> <chr>               <dbl>          <dbl> <dbl>
##  1 Pink Flamingos           http… Released Ap…           84             72  1997
##  2 Breakout                 http… 1997                   NA             NA  1997
##  3 Parasite                 http… 1997                   NA             NA  1997
##  4 Hercules                 http… Released Ju…           82             76  1997
##  5 Wild Life                http… 1997                   NA             50  1997
##  6 Beauty and the Beast     http… 1997                   NA             NA  1997
##  7 Beauty and the Beast     http… 1997                   NA             NA  1997
##  8 Princess Caraboo         http… Released Se…           65             50  1997
##  9 When We Were Kings       http… Released Fe…           98             94  1997
## 10 Everyone Says I Love You http… Released Ja…           77             68  1997
## # ℹ 230 more rows
movies_top_1997 <- movies1997 %>%
  arrange(desc(critic_score)) %>%
  slice(1)

movies_top_1997
## # A tibble: 1 × 6
##   title            url            release_date critic_score audience_score  year
##   <chr>            <chr>          <chr>               <dbl>          <dbl> <dbl>
## 1 A Brother's Kiss https://www.r… Released Ap…          100             68  1997

Crea un gráfico de dispersión sólo para las películas del año 2000 en adelante.

movies %>%
  filter(year >= 2000) %>%
  ggplot(aes(x = audience_score, y = critic_score)) +
  geom_point(color = "navy", alpha = 0.6, size = 2) +
  geom_smooth(method = "loess", se = TRUE, color = "red", linewidth = 0.8)+
  labs(title = "Calificaciones desde el año 2000",
       x = "Calificación de la audiencia",
       y = "Calificación de la crítica") +
  theme_classic()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1252 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 1252 rows containing missing values or values outside the scale range
## (`geom_point()`).

Genera la media de las puntuaciones de crítica para el conjunto de datos anteriores a 2000 (inlcuido). Genera la media de las puntuaciones de crítica para el conjunto de datos posteriores a 2000. ¿Qué tan diferentes son estas medias, qué indica eso?

media_antes_2000 <- movies %>%
  filter(year <= 2000) %>%
  summarise(media_critica_antes_2000 = mean(critic_score, na.rm = TRUE))

media_despues_2000 <- movies %>%
  filter(year > 2000) %>%
  summarise(media_critica_después_2000 = mean(critic_score, na.rm = TRUE))

# Comparación
media_antes_2000
## # A tibble: 1 × 1
##   media_critica_antes_2000
##                      <dbl>
## 1                     58.7
media_despues_2000
## # A tibble: 1 × 1
##   media_critica_después_2000
##                        <dbl>
## 1                       56.3

Genera la media de las puntuaciones de audiciencia para el conjunto de datos anteriores a 2000 (inlcuido). Genera la media de las puntuaciones de audiencia para el conjunto de datos posteriores a 2000. ¿Qué tan diferentes son estas medias, qué indica eso?

media_audiencia_antes_2000 <- movies %>%
  filter(year <= 2000) %>%
  summarise(media_audiencia_antes_2000 = mean(audience_score, na.rm = TRUE))

media_audiencia_despues_2000 <- movies %>%
  filter(year > 2000) %>%
  summarise(media_audiencia_despues_2000 = mean(audience_score, na.rm = TRUE))

# Comparación
media_audiencia_antes_2000
## # A tibble: 1 × 1
##   media_audiencia_antes_2000
##                        <dbl>
## 1                       59.5
media_audiencia_despues_2000
## # A tibble: 1 × 1
##   media_audiencia_despues_2000
##                          <dbl>
## 1                         60.4