R Markdown

library(readxl)
library(flextable)
library(dplyr)
library(tibble)
library(tidyr)
library(forcats)
library(knitr)
library(ggplot2)
library(ggthemes)
library(tidyverse)
library(readr)
arte_MOMA <- read_delim("Base_de_dados-master/arte_MOMA.csv", 
                        delim = ";", escape_double = FALSE, locale = locale(encoding = "WINDOWS-1252"), 
                        trim_ws = TRUE)
arte_MOMA%>%head()%>%data.frame()%>%flextable()
summary(arte_MOMA)
##       ...1         title              artist           artist_bio       
##  Min.   :   1   Length:2253        Length:2253        Length:2253       
##  1st Qu.: 564   Class :character   Class :character   Class :character  
##  Median :1127   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :1127                                                           
##  3rd Qu.:1690                                                           
##  Max.   :2253                                                           
##                                                                         
##  artist_birth_year artist_death_year  num_artists     n_female_artists
##  Min.   :1839      Min.   :1890      Min.   : 1.000   Min.   :0.0000  
##  1st Qu.:1890      1st Qu.:1956      1st Qu.: 1.000   1st Qu.:0.0000  
##  Median :1913      Median :1976      Median : 1.000   Median :0.0000  
##  Mean   :1912      Mean   :1975      Mean   : 1.009   Mean   :0.1136  
##  3rd Qu.:1933      3rd Qu.:1996      3rd Qu.: 1.000   3rd Qu.:0.0000  
##  Max.   :1987      Max.   :2018      Max.   :10.000   Max.   :2.0000  
##  NA's   :6         NA's   :629       NA's   :1                        
##  n_male_artists   artist_gender      year_acquired   year_created 
##  Min.   :0.0000   Length:2253        Min.   :1930   Min.   :1872  
##  1st Qu.:1.0000   Class :character   1st Qu.:1957   1st Qu.:1933  
##  Median :1.0000   Mode  :character   Median :1975   Median :1956  
##  Mean   :0.8953                      Mean   :1976   Mean   :1954  
##  3rd Qu.:1.0000                      3rd Qu.:1996   3rd Qu.:1972  
##  Max.   :9.0000                      Max.   :2017   Max.   :2017  
##                                      NA's   :9      NA's   :5     
##  circumference_cm    depth_cm         diameter_cm      height_cm        
##  Mode:logical     Min.   :0.000e+00   Mode:logical   Min.   :7.000e+00  
##  NA's:2253        1st Qu.:0.000e+00   NA's:2253      1st Qu.:4.890e+02  
##                   Median :0.000e+00                  Median :1.067e+03  
##                   Mean   :3.938e+09                  Mean   :1.208e+11  
##                   3rd Qu.:7.500e+01                  3rd Qu.:2.185e+03  
##                   Max.   :6.096e+11                  Max.   :3.626e+12  
##                   NA's   :1955                                          
##  length_cm         width_cm         seat_height_cm  purchase      
##  Mode:logical   Min.   :1.000e+01   Mode:logical   Mode :logical  
##  NA's:2253      1st Qu.:4.580e+02   NA's:2253      FALSE:2055     
##                 Median :9.720e+02                  TRUE :198      
##                 Mean   :1.317e+11                                 
##                 3rd Qu.:2.286e+03                                 
##                 Max.   :9.147e+12                                 
##                                                                   
##     gift          exchange       classification      department       
##  Mode :logical   Mode :logical   Length:2253        Length:2253       
##  FALSE:1086      FALSE:2108      Class :character   Class :character  
##  TRUE :1167      TRUE :145       Mode  :character   Mode  :character  
##                                                                       
##                                                                       
##                                                                       
## 

1 - Quantas pinturas existem no MoMA? Quantas variáveis existem no banco de dados?

noquote(paste("Existem", arte_MOMA %>% nrow(), "pinturas no MoMA."))
## [1] Existem 2253 pinturas no MoMA.
noquote(paste("E existem", arte_MOMA %>% ncol(), "variáveis no banco de pinturas do MoMA."))
## [1] E existem 24 variáveis no banco de pinturas do MoMA.

2 - Qual é a primeira pintura adquirida pelo MoMA? Qual ano? Qual artista? Qual título?

paste("Temos",
      arte_MOMA %>% filter(year_acquired == min(year_acquired, na.rm = TRUE)) %>% nrow(),
      "quadro(s) como o(s) mais antigo(s) do acervo. Ele(s) é(são) do ano",
      min(select(arte_MOMA,year_acquired), na.rm=TRUE),".")
## [1] "Temos 2 quadro(s) como o(s) mais antigo(s) do acervo. Ele(s) é(são) do ano 1930 ."
paste("Seu(s) título(s) é(são):",
      arte_MOMA %>% 
        filter(year_acquired == min(year_acquired, na.rm = T)) %>% 
        pull(title) %>% first(),
      arte_MOMA %>% 
        filter(year_acquired == min(year_acquired, na.rm = T)) %>% 
        pull(title) %>% first() ,
      "e", 
      arte_MOMA %>% 
        filter(year_acquired == min(year_acquired, na.rm = T)) %>% 
        pull(title) %>% last(),
      ", do(s) autor(es)",
      arte_MOMA %>% 
        filter(year_acquired == min(year_acquired, na.rm = T)) %>% 
        pull(artist) %>% first(), 
      "e", 
      arte_MOMA %>% 
        filter(year_acquired == min(year_acquired, na.rm = T)) %>% 
        pull(artist) %>% last(),
      "respectivamente.")
## [1] "Seu(s) título(s) é(são): House by the Railroad House by the Railroad e Seated Nude , do(s) autor(es) Edward Hopper e Bernard Karfiol respectivamente."

3 - Qual é a pintura mais antiga da coleção? Qual ano? Qual artista? Qual título?

noquote(paste("A obra mais antiga do acervo do MoMA é do ano", 
              min(arte_MOMA$year_created, na.rm = T), 
              ", feita por", 
              arte_MOMA %>% filter(year_created == min(year_created, na.rm = T)) %>% pull(artist), 
              "e tem o título", 
              arte_MOMA %>% filter(year_created == min(year_created, na.rm = T)) %>% pull(title)))
## [1] A obra mais antiga do acervo do MoMA é do ano 1872 , feita por Odilon Redon e tem o título Landscape at Daybreak

4 - Quantos artistas distintos existem?

noquote(paste("Existem ", 
              arte_MOMA %>% count(artist) %>% count() %>% pull(n),
              "artistas distintos no MoMA."))
## [1] Existem  989 artistas distintos no MoMA.

5 - Qual artista tem mais pinturas na coleção?

noquote(paste("O/A artista que tem mais obras na coleção do MoMA é:",
              arte_MOMA %>% count(artist) %>% arrange(-n) %>% pull(artist) %>% first(),
              "com um total de",
              arte_MOMA %>% count(artist) %>% arrange(-n) %>% pull(n) %>% first(),
              "obras."))
## [1] O/A artista que tem mais obras na coleção do MoMA é: Pablo Picasso com um total de 55 obras.

6 - Quantas pinturas existem por este artista?

noquote(paste("São", arte_MOMA %>% count(artist) %>% arrange(-n) %>% pull(n) %>% first(),
                "obras deste artista."))
## [1] São 55 obras deste artista.

7 - Quantas pinturas de artistas masculinos e femininos?

arte_MOMA %>% count(artist_gender) %>% mutate(n = as.character(paste(n, "obras")))
## # A tibble: 3 × 2
##   artist_gender n         
##   <chr>         <chr>     
## 1 Female        252 obras 
## 2 Male          1991 obras
## 3 <NA>          10 obras

8 - Quantos artistas de cada gênero existem?

arte_MOMA %>% count(artist_gender, artist) %>% count(artist_gender) %>% mutate(n = as.character(paste(n, "artistas")))
## # A tibble: 3 × 2
##   artist_gender n           
##   <chr>         <chr>       
## 1 Female        143 artistas
## 2 Male          837 artistas
## 3 <NA>          9 artistas

9 - Em que ano foram adquiridas mais pinturas?

noquote(paste("Foram adquiridas mais obras no ano",
                arte_MOMA %>% count(year_acquired) %>% arrange(-n) %>% pull(year_acquired) %>% first()))
## [1] Foram adquiridas mais obras no ano 1985

10 - Em que ano foram criadas mais pinturas?

noquote(paste("No ano",
                  arte_MOMA %>% count(year_created) %>% arrange(-n) %>% pull(year_created) %>% first(),
                  "foram criadas", 
                  arte_MOMA %>% count(year_created) %>% arrange(-n) %>% pull(n) %>% first(),
                  "obras.")) 
## [1] No ano 1977 foram criadas 57 obras.

11 - Em que ano foi adquirida a primeira pintura de uma artista feminina (solo)? Quando essa pintura foi criada? Qual artista? Qual título?

      paste("A primeira pintura de uma artista feminina foi adquirida em",
            arte_MOMA %>% 
              filter(artist_gender == "Female") %>% 
              arrange(year_acquired) %>% 
              pull(year_acquired) %>% 
              first(), 
            "e foi feita por",
            arte_MOMA %>% 
              filter(artist_gender == "Female") %>% 
              arrange(year_acquired) %>% 
              pull(artist) %>% 
              first(),
            ". Tem como título",
            arte_MOMA %>% 
              filter(artist_gender == "Female") %>% 
              arrange(year_acquired) %>% 
              pull(title) %>% 
              first(),
            "e foi criada em",
            arte_MOMA %>% 
              filter(artist_gender == "Female") %>% 
              arrange(year_acquired) %>% 
              pull(year_created) %>% 
              first())
## [1] "A primeira pintura de uma artista feminina foi adquirida em 1937 e foi feita por Natalia Goncharova . Tem como título Landscape, 47 e foi criada em 1912"

12 - Artista mais tempo vivo?

      paste("O artista que ficou mais tempo vivo foi",
            arte_MOMA %>% 
              mutate(idade = artist_death_year - artist_birth_year) %>% 
              arrange(-idade) %>% 
              pull(artist) %>% 
              first(),
            "que viveu por",
            arte_MOMA %>% 
              mutate(idade = artist_death_year - artist_birth_year) %>% 
              arrange(-idade) %>% 
              pull(idade) %>% 
              first(), 
            "anos.")
## [1] "O artista que ficou mais tempo vivo foi Dorothea Tanning que viveu por 102 anos."

13 - Qual a idade média de um artista?

      paste("A idade média de um artista do MoMa é de",
      arte_MOMA %>% 
        mutate(idade = artist_death_year - artist_birth_year) %>% 
        summarise(media = mean(idade, na.rm = T)) %>% 
        pull(media) %>% 
        format(., digits = 1),
      "anos.")
## [1] "A idade média de um artista do MoMa é de 75 anos."

14 - Artistas homens vivem mais que mulheres?

arte_MOMA %>%
        mutate(idade = artist_death_year - artist_birth_year) %>%
        group_by(artist_gender) %>%
        summarise(media = mean(idade, na.rm = T)) %>% 
        mutate(media = format(media, digits = 3))
## # A tibble: 3 × 2
##   artist_gender media
##   <chr>         <chr>
## 1 Female        74.0 
## 2 Male          74.7 
## 3 <NA>          72.0

15 - Desafio: recriar o gráfico fivethirtyeight

arte_MOMA %>% 
        mutate(height_cm = as.double(str_replace_all(height_cm, ",", ".")),
               width_cm = as.double(str_replace_all(width_cm, ",", "."))) %>% 
        filter(height_cm < 600, width_cm < 760) %>% 
        mutate(hw_ratio = height_cm / width_cm,
               hw_cat = case_when(hw_ratio > 1 ~ "Mais alto que largo",
                                  hw_ratio < 1 ~ "Mais largo que alto",
                                  hw_ratio == 1 ~ "Quadrado perfeito"
               )) %>% 
        ggplot(aes(x = width_cm, y = height_cm, colour = hw_cat)) +
        geom_point(alpha = .5) +
        ggtitle("Pinturas do MoMA") +
        scale_colour_manual(name = "",
                            values = c("red", "blue", "green")) +
        theme_fivethirtyeight() +
        theme(axis.title = element_text()) +
        labs(x = "Largura", y = "Altura")