Introdução a Método Computacionais para as Ciências Sociais: Exercício 2

Questão 1

Baixe este banco de dados mtcars. Abra ele usando a função read.csv. Depois, descreve a classe de cada coluna deste banco.

library(tidyverse)
## ── Attaching packages ────────────────────────────────── tidyverse 1.3.0.9000 ──
## ✓ ggplot2 3.3.3     ✓ purrr   0.3.4
## ✓ tibble  3.0.6     ✓ dplyr   1.0.4
## ✓ tidyr   1.1.2     ✓ stringr 1.4.0
## ✓ readr   1.4.0     ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
d <- read.csv("mtcars.csv")
class(mtcars)
## [1] "data.frame"

Questão 2.

Faça o mesmo para um banco de dados em outro formato. Pode ser Stata, excel, arquivo de R. Qualquer um. Use um pouco de google e você encontrará uma solução. Você pode usar qualquer banco seu ou que você encontrar na internet.

# dado salvo com rdata
load("effective_number_candidates.Rdata")

Questão 3

Crie um banco de dados com três variáveis: nome, sobrenome e data de nascimento. Inclua neste banco de dados você, e mais 5 amigos. Depois de criar o banco, filtre este banco para exibir somente as suas informações.

d <- data.frame(nome=c("Tiago", "Rafaela", "Bernardo", "Talita", "Bruno"), 
                sobrenome=c("Ventura", "Rodrigues", "Cotrim", "Tanscheit", "Moreno"), 
                nasc=c("30-12-1986", "08-07-1988", "02-12-1984", "09-11-2000", "20-10-1982"))

d[d$nome=="Tiago",]
##    nome sobrenome       nasc
## 1 Tiago   Ventura 30-12-1986

Questao 4.

Escreve um loop usando o banco de dados mtcars da questão 1.

  • Computar a média de cada coluna no banco utilizado na primeira questão.

  • Determinar a classe de cada coluna.

  • Determinar o número de valores únicos de cada coluna

Dica I: Você pode usar três loops, ou você pode usar o mesmo loop salvando cada informação em um objeto diferente.

Dica II: Lembre-se de criar seus objetos para salvar fora do loop.

# Create containers
m=c()
class_ <- c()
unique_v <- c()

# Iterate for each collumn.
for(i in 1:ncol(mtcars)){
temp = mtcars[,i]  
m[i]=mean(temp)
class_[i]=class(temp)
unique_v[i]=length(unique(temp))
}

#Print
m
##  [1]  20.090625   6.187500 230.721875 146.687500   3.596563   3.217250
##  [7]  17.848750   0.437500   0.406250   3.687500   2.812500
class_
##  [1] "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
##  [8] "numeric" "numeric" "numeric" "numeric"
unique_v
##  [1] 25  3 27 22 22 29 30  2  2  3  6

Questão 5.

Escreva uma função para calcular a variância de um vetor numérico.

A formula variância é:

\[ Var = \sum \frac{(x_{i}-\bar{x})^2}{n} \]

var_t <- function(x){
numerator = sum((x-mean(x))^2)
denominator=length(x)
variance=numerator/denominator

# retorno
return(variance)}

var_t(c(1:1000))
## [1] 83333.25
var(c(1:1000))
## [1] 83416.67

Questão 6: Ponto Extra, Não obrigatória.

Escreve uma função para adivinhar quais cidades Eu - Tiago - já morei.

O input da sua função deve ser qualquer variável de text. E o output deve ver uma valor lógico - TRUE/FALSE - respondendo se eu morei na cidade referente ao seu input.

Para facilitar um pouco, vou criar um vetor com todas as cidades em que morei, e um exemplo dos resultados que espero da função.

Exemplo de função

cidades_onde_morei <- c("Belém", "São Paulo", "Rio de Janeiro", "Berlim", 
                        "Brasília", "Washington - DC")

# função

tiago_morou("niteroi")
# [1] FALSE. 

tiago_morou("São Paulo")
# [1] TRUE. 

Sua vez:

tiago_morou <- function(x){

# Cre
cidades_onde_morei <- c("Belém", "São Paulo", "Rio de Janeiro", 
                        "Berlim", "Brasília", "Washington - DC")

if("Rio de Janeiro"%in%cidades_onde_morei){
  print(TRUE)
} else FALSE

}
tiago_morou("Rio de Janeiro")
## [1] TRUE

Até a próxima!