Programação

  • Datas, horários, locais e materiais

    • Datas: 02, 09, 16 e 30 de agosto; 20 de setembro; 4 de outubro.  (Teremos mais dois encontros com data a ser marcada)
    • Local: todos os encontros serão no Auditório Arcadas (Prédio Anexo, 4º andar). 
    • Horário: 11h00 às 13h00 
    • O que levar: um notebook com R e R Studio instalados (v. tópico abaixo). 

  • Antes do curso começar: instalação do R, leituras e explicações preliminares


    [Mensagem do Prof. Guilherme Jardim, postada pelo Prof. Rafael Mafei]

    Prezados,

    Na quinta-feira começa o curso de R e Ciência de Dados na Faculdade de Direito.

    Como o curso é focado na linguagem, vou deixar aqui minhas instruções para instalação dos softwares.

    Peço isso porque geralmente parte dos alunos têm problemas com essa fase. Não é um problema exatamente dos alunos, mas sim dos  sistemas operacionais. Já vi, por exemplo, casos de sistemas MacOS que rejeitaram alguns pacotes. Não há problema. Se não conseguirem, peço que me enviem um e-mail.

    Dois softwares serão instalados. O primeiro deles é o R propriamente dito. O que eu quero dizer com R é o interpretador da linguagem, isto é, o lugar onde você vão inserir os códigos para execução. Há duas principais distribuições de R, o CRAN (https://cran.r-project.org) - The Comprehensive R Archive Network, a principal central que organiza os pacotes e versão da linguagem, e o MRAN, que é o Microsoft R Application Network, a distribuição organizada pela Microsoft. Embora a Microsoft tenha investido bastante na linguagem, pedirei que instalem a primeira versão , o CRAN, que é a principal. A ideia é que não haja problemas de compatibilidade entre os nossos softwares.  

    No site do CRAN, há instruções elaboradas de como instalar em cada sistema operacional: Windows, Mac e Linux. https://cran.r-project.org  . Em linux, há uma dificuldade um pouco maior, mas de fácil solução.

    Em seguida, o segundo software que vocês vão instalar é o RStudio. Embora seja possível usar o R puro, vamos precisar de um ambiente pra poder usar o R, e o RStudio é um dos melhores.  Basta baixar nessa página https://www.rstudio.com/products/rstudio/download/ . A versão que instalaremos é a Desktop, não-comercial. o

    ATENÇÃO: Instalem o RStudio só depois de terem instalado o R.

    Outras instruções:

    Usaremos apenas material gratuito e livre neste curso. O livro principal de nossa bibliografia é o "R for Data Science", de Hadley Wickham e Garrett Grolemund. Está disponível gratuitamente em http://r4ds.had.co.nz . Há uma versão física do livro por 20 dólares na Amazon, mas não recomendo que comprem, porque o material está sempre evoluindo e melhorando. Não faz sentido comprar que ano que vem já estará desatualizado. Recomendo que leiam os capítulos 1,2,4 e 5, se quiserem adiantar. O 3, sobre visualização de dados, não precisa por enquanto.

    Para quem deseja material português, há este livro "Ciência de Dados com R", escrito por alguns amigos. https://cdr.ibpad.com.br

    Há vários outros materiais pela internet e é recomendável que vocês os consultem. Tenho a impressão de que nenhum material é suficientemente completo, e essa consulta pode ajudá-los. Apenas pediria que conversassem comigo sobre eles, porque a linguagem mudou muito sobretudo nos últimos 5 anos, e há muito material desatualizado (mesmo que tenha sido escrito em 2018).

    Por fim, uma recomendação. Esse curso exige um nível de Autodidatismo. Não, isso não significa que eu sou um péssimo professor, apenas que essa é a realidade sobre programação hoje em dia.  Sites como o stack overflow existem por isso . Para resolver os exercícios, Google is your friend. Assim,  deixo um exercício inicial. O R é ótimo para lidar com dados, não apenas por causa da linguagem, mas pelos pacotes que os usuários escrevem para a linguagem. Tentem consultar o que são pacotes e como fazer para instalá-los na plataforma. Em específico, tentem instalar o pacote 'tidyverse'.

    Um abraço.


  • Bancos de Dados

  • Exercícios - Aula 1



    1) No banco de dados 'movies', aberto na última aula.



    a) Crie um novo data.frame apenas os filmes a partir de 1960.

    b) A partir do df 'a', crie um novo apenas com os filmes de Ação.

    c) Crie uma nova coluna com a razão do orçamento dos filmes pelo duração.

    d) Quais são os 10 filmes com maior valor de orçamento por filme? E os 10 piores?

    e) Existe uma relação entre orçamento dos filmes de ação e rating?

    Para identificar isso, use a seguinte função da biblioteca ggplot2:

    qplot(x = budget, y = rating, data = df_c, geom = "point")



    (*Lembre-se de trocar o argumento 'df_c' pelo nome que vocês deram no exercício c)

    (** Para entender se há relação, leia o seguinte texto: http://leg.ufpr.br/~silvia/CE001/node15.html )

    f) Exercício extra: A partir do df 'c', crie um novo df apenas com os valores de budget, que não sejam NA.



    2) Abra o banco de dados 'flights', do pacote 'nycflights13'.



    a) Trata-se de um banco de dados contendo vôos que saíram da cidade Nova Iorque em 2013. Leia sobre banco. Dica: help(flights)

    b) Filtre apenas os vôos que partiram do aeroporto de LaGuardia (LGA).

    c) Qual o võo com maior atraso na chegada. Qual era o destino dele?



    3) Importando bancos. 



    a) Leia este texto sobre o que é um CSV: http://wiki.inetweb.com.br/index.php?title=O_que_é_formato_CSV_%3F

    b) Leia este tutorial sobre como carregar CSVs: http://www.r-tutor.com/r-introduction/data-frame/data-import

    c) No moodle, há o arquivo 'stf_distribuicao.csv' postado. Tente abrir esse arquivo como um data.frame no R.





    4) Não esqueçam de ler os capítulos passados. É importante para pegar a teoria por trás do uso que fazemos do R.





  • Exercícios - Aula 2

    1) Carreguem o banco de dados do stf, referentes às distribuições de ações desde 2015. (Dica: vejam o que faz a função n() dentro do contexto do dplyr). Link para a cheatsheet ( https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf )


    a) Quais ministros receberam mais ações?

    b) Quais classes de ações foram as mais distribuídas?

    c) Crie um banco com a quantidade de classes distribuídas para cada ministro (O banco aqui deverá ter três colunas: ministro, classe, numero).


    2) No banco "flights", do pacote "nycflights13".

    a) Existe relação entre o atraso de chegada e a distancia?

    b) Quais os meses com mais atraso de chegada e de partida? Faça um gráfico mostrando como evolui.

    c) Removam as colunas referentes à chegada.

    d) Quais os meses com mais atraso de acordo com a cidade partida?

     

    3) Para quem não fez os exercícios da aula passada, refaçam-nos.

    4) Leiam o livro e tentem usar o R em seus bancos de dados pessoais.

    5) Usem o fórum de debates. 

  • Exercícios - Aula 3

    Desculpem a demora,


    aqui estão os exercícios. Possivelmente como não teremos aula esta semana, enviarei novos.

    Não deixem de ler os capítulos 12 e 13 do livro.


    1) Carregue o banco de dados 'diamonds', da biblioteca ggplot2.


    a) Crie um novo df, com apenas as colunas price, x, y e z.

    b) Crie um novo df, sem as colunas table e depth.

    c) Crie um novo df, com todas as colunas que começam com c.

    d) Crie uma nova coluna, com a coluna price mas em reais.

    e) Crie uma nova coluna, com o valor peso em gramas.

    f) Crie um novo df, apenas com preços maiores que 2 dólares.

    g) Qual a média de preços por corte? E a mediana?

    h) Qual a média de preços por cor? E a mediana?


    2) Leia a parte do livro que trata de join (Cap. 13 - R for Data Science).

    a) O que um join faz?

    b) Na pasta banco de dados, há três arquivos correspondentes a filmes de uma determinada locadora online (similar a netflix). O arquivo users.dat indica todos os clientes dessa locadora. movies.dat, todos os filmes do catálogo. E locacoes.csv indica todas as locações ocorridas.

    Importe todos os bancos de dados.

    c) Crie um novo banco de dados contendo informações dos três. 


    3) Leia o Cap. 12 do livro R for Data science. Faça os exercícios do livro.

  • Exercícios - Aula 4

     Aproveitem para estudar e usem os fóruns. Quem quiser, mande e-mail no gjardimduarte@gmail.com 


    1) Façam os exercícios do cap. 12 do livro (http://r4ds.had.co.nz/tidy-data.html)


    2) Usem o banco "ministerios.csv", com todos os ministérios brasileiros, desde a redemocratização.


    a) Para cada presidente, calculem quantos partidos diferentes ocuparam ministérios.

    b) Transforme begin_date e exit_data (que estão em formato string) para formato date. (Dica: vejam funcoes, ymd, dmy, mdy, ..., do pacote lubridate)

    c) Calculem quanto ministérios existiram por ano. Façam um gráfico de série temporal.

    d) Criem uma coluna para cada partido ("PSDB","PT", etc), com o valor 1, se um ministro pertenceu ao partido, e 0, se não.



    3) Leiam os capítulos 14, 18, 19,20 e 21


    4) Logo nós preparamos a atividade final. Como muitos alunos do PET precisam fzer uma pesquisa envolvendo currículos, pensei em criarmos um pacote de R, que baixa dados automatizados do Lattes. Para isso, vamos contribuir com a comunidade (pacote open source). Um scraper do lattes também é difícil, teremos que quebrar captchas. Mas será interessante.


    Abraços





  • Tópico 8

  • Tópico 9

  • Tópico 10