class: center, middle, inverse, title-slide # Apresentação da disciplina ## Conhecendo o R ### Renata Oliveira e Lucélia Vaz ### 19/10/2021 --- layout: true <div class="my-footer"> <span> <a href="https://places.education" target="_blank">https://places.education</a> </span> </div> --- ## Proposta pedagógica A intenção aqui é fazer com que o aprendizado seja mais dinâmico e ocorra de forma simultânea, fazendo com que o aluno tenha as bases teóricas e teste-as ao mesmo tempo. A proposta pedagógica para desenvolvimento deste curso fundamenta-se no conceito de `Aprendizagem Baseada em Projetos`. São propostos `projetos incrementais` para apreensão do conhecimento e um `projeto integrador` para consolidação e perspectiva integrada da disciplina. --- ## Ementa da disciplina - Importação de base de dados - Criação de objeto (vetores, matrizes, data frames) - Operações com matrizes (transposição, inversão, multiplicação) - Funções básicas do R (for, if, else, união, intercessão, True, False). --- ## Objetivos de aprendizagem Por meio desta disciplina, os alunos desenvolverão competências para: 1. Entender a linguagem básica de programação no R. 2. Conhecer as funções básicas para manipular bases de dados. --- ## Planejamento de encontros síncronos Os encontros síncronos acontecerão nas **terças-feiras**, de **08:00 às 12:00h**. Acontecerão na plataforma `Teams`. Vocês poderão acessar o servidor da disciplina pelo [link](https://teams.microsoft.com/l/team/19%3aMP6yYq2Q8ZbGcsY-Daeh0wNcbWQ0WgNMjxk98MTFJ081%40thread.tacv2/conversations?groupId=b1d6c669-b6bb-4279-a2d4-80d00ed05efd&tenantId=ef9d67f2-bd3f-4e0c-84ba-3ffc81ab1c83). --- ## Unidades .small[ **Data** | **Descrição da Atividade** ---------------------|--------------------------- 19/10| Unidade 1: Comunicação por meio do R: ambientação no R, RStudio, Git-Github e Rpubs; Hello R; RMarkdown.| 26/10| Unidade 2: Visualização de dados no R; estrutura de dados no R; tipos de dados, importação de base de dados, criação de objeto (vetores, matrizes, data frames), operadores aritméticos, de comparação e lógicos; visualização de informações gerenciais e científicas. | 09/11| Unidade 3: Manipulação e transformação de dados no R: funções para manipulação e tratamento de dados. Estatística descritiva e mineração de dados| 16/11| Unidade 4: Manipulação e transformação de dados no R: funções para manipulação e tratamento de dados. Estatística descritiva e mineração de dados| 23/11| Unidade 5: Argumentos lógicos; ifelse, which, igual, maior, menor que, join; subconjuntos com argumentos lógicos| **Total de Horas** | 30 horas | ] --- ## Proposta de avaliação da aprendizagem - Atividades - 5 pontos cada - Laboratórios - 20 pontos cada --- ## Recursos necessários Computador com Sistema Operacional à escolha do estudante, conexão à internet, câmera e microfone. Os softwares a serem instalados são: - R - https://cran.r-project.org/bin/windows/base/ - RStudio - https://rstudio.com/products/rstudio/download/ - Git - https://git-scm.com/downloads Os alunos deverão ter uma conta gratuita na plataforma `github.com`. Recomendamos também que se cadastrem no [RPubs](https://rpubs.com/) Turma Virtual do SIGAA para postagens de conteúdos e outras comunicações. --- ## Comunicação .midi[ Toda comunicação individual com a docente deverá acontecer por meio do email institucional do docente, deve conter no campo "assunto" o texto `<R-PPGA>` e deve ser assinada com seu nome completo. Por favor, utilize o email institucional para comunicação com o docente: [renataoliveira@cefetmg.br](mailto:renataoliveira@cefetmg.br) Se o seu email não contempla alguma questão pessoal/individual, mas sim questionamentos e dúvidas sobre as atividades deste curso, por favor: 1. Verifique se a sua dúvida já foi respondida em algum post no `Teams` 2. Se não houver discussões sobre o tópico em questão, faça um novo post no canal `discussão` no `Teams`. ] > Compartilhar as dúvidas e responder os questionamentos dos colegas é um excelente meio de aprendizagem. --- ## Políticas institucionais e da disciplina .panelset[ .panel[.panel-name[Como interagir?] .midi[ O comparecimento aos encontros síncronos é desejável. A participação nesses encontros faz com que os estudantes tenham melhor desempenho. Entretanto, considerando todos os desafios proporcionados pelo ensino remoto, todo o conteúdo do curso será disponibilizado nas plataformas adotadas para condução das atividades. Você poderá participar das atividades remotamente usando o canal `discussão` no `Teams`. 1. Resposta a perguntas postadas pelos estudantes no canal `discussão` no `Teams`. 2. Participação em discussões e trabalhos em grupo na sala de aula. 3. Identificação de problemas em relação à documentação apresentada. ] ] .panel[.panel-name[Como agir?] .midi[ Os estudantes e professores têm a responsabilidade de manter um ambiente de aprendizagem adequado e motivante. A cortesia profissional e a sensibilidade são especialmente importantes no que diz respeito a indivíduos e discussões que lidam com diferenças de raça, cor, cultura, religião, credo, política, status de veterano, orientação sexual, gênero, identidade e expressão de gênero, idade, deficiência e nacionalidades. As listas de classes são fornecidas ao instrutor com o nome legal do aluno. Terei prazer em honrar seu pedido de dirigir-se a você por um nome alternativo ou pronome de gênero. Por favor, me informe essa preferência no início do semestre para que eu possa fazer as mudanças apropriadas em seus registros. Não serão tolerados atos de discriminação ou assédio contra ou por qualquer funcionário ou estudante. ]] .panel[.panel-name[Como trabalhar?] .midi[ Honestidade acadêmica é um princípio fundamental desta disciplina. Desonestidade acadêmica configura-se por: cópias literais de textos ou ideias sem citação de fonte, fabricações e falsificações de qualquer natureza, plágio, mentira, suborno, comportamento ameaçador ou cumplicidade com desonestidade acadêmica em qualquer nível. Os estudantes que forem considerados em violação da política de integridade acadêmica estarão sujeitos tanto a sanções acadêmicas do membro docente quanto a sanções não acadêmicas. Se você tiver alguma dúvida sobre citações adequadas, configuração de plágio, etc., por favor, não hesite em perguntar! ]] ] --- ## Intervalo <img src="https://retaoliveira.github.io/relements/figures/allison_horst/monster_support.jpg" width="90%" style="display: block; margin: auto;" />
10
:
00
--- ## Contexto da disciplina  --- class: center, middle ## O que é o R? --- ## Conhecendo o R ### Interface e funcionalidades .pull-left[ Para uso do R no ambiente RStudio, é inicialmente necessário entender o seu funcionamento. O R é uma linguagem de programação, em plataforma open source, desenvolvida para análise de dados. SEJAM BEM VINDOS! ] .pull-right[ <img src="https://retaoliveira.github.io/relements/figures/welcome_to_rstats_twitter.png" width="100%" style="display: block; margin: auto;" /> ] --- ### Interface e funcionalidades .pull-left[ Em um primeiro momento, o conjunto R + RStudio parece pouco amigável, mas com o tempo, é impossível não apaixonar-se pelas infinitas possibilidades que temos ao utilizar o R. ] .pull-right[ <img src="https://retaoliveira.github.io/relements/figures/r_first_then.png" width="100%" style="display: block; margin: auto;" /> ] --- ### Interface e funcionalidades .pull-left[ A comunidade do R é bastante ampla e colaborativa. Assim: BUSQUE AJUDA!!!!! ] .pull-right[ <img src="https://retaoliveira.github.io/relements/figures/code_hero_rstats.png" width="100%" style="display: block; margin: auto;" /> ] --- ## Variáveis, funções e *packages* Sua estrutura fundamenta-se em uma grande variedade de ferramentas quantitativas, organizadas por meio de **objetos**, **funções** e **packages**. A instalação `base` do R já contempla uma série de funções e *packages*. *Packages* adicionais podem ser instalados quando for necessário ou interessante. Para instalação de *packages*, utiliza-se a função `install.packages()`. --- class: center, middle # Documentos reprodutíveis --- ## O que é Markdown? Segundo o criador da linguagem: > Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). > > John Gruber --- class: inverse, middle # Por que markdown? Algo que... você possa escrever em **texto simples** Algo que... seja **legível por pessoas** Algo que... permita a **formatação** Algo que... seja possível construir para algo **bonito** --- ## RMarkdown .panelset[ .panel[.panel-name[O que é?] Vou colocar aqui algumas informações-chave sobre a construção geral de informações a partir do uso do RMarkdown. Entretanto, informações adicionais podem ser obtidas de maneira detalhada no site: + [Documentos dinâmicos no R by Fernando Mayer & Walmes Zeviani](http://cursos.leg.ufpr.br/prr/capDocDin.html) ] .panel[.panel-name[Organização] ### Seções e subseções Para demarcar seções e subseções, utilize os `hashtags`. ### Listas e ordenação Basta enumerar: 1. Item 1 2. Item 2 ] .panel[.panel-name[Imagens] <img src="https://retaoliveira.github.io/relements/figures/rmarkdown_rockstar.png" width="50%" style="display: block; margin: auto;" /> ] .panel[.panel-name[Chunks] ```r x <- rnorm(30) x ``` ``` ## [1] -0.89003783 -0.47719270 -0.99838644 -0.77625389 0.06445882 ## [6] 0.95949406 -0.11028549 -0.51100951 -0.91119542 -0.83717168 ## [11] 2.41583518 0.13408822 -0.49068590 -0.44054787 0.45958944 ## [16] -0.69372025 -1.44820491 0.57475572 -1.02365572 -0.01513830 ## [21] -0.93594860 1.10229755 -0.47559308 -0.70944004 -0.50125806 ## [26] -1.62909347 -1.16761926 -2.18003965 -1.34099319 -0.29429386 ``` ] .panel[.panel-name[Mais chunks] ```r plot(x) ``` <img src="index_files/figure-html/unnamed-chunk-11-1.png" width="60%" style="display: block; margin: auto;" /> ] ] --- .panelset[ .panel[.panel-name[Visualização] Também podemos fazer um histograma dessa variável simulada ```r hist(x) ``` <img src="index_files/figure-html/unnamed-chunk-12-1.png" width="60%" style="display: block; margin: auto;" /> ] .panel[.panel-name[YAML] #### `YAML` (Yet Another Markup Language) No `YAML`, os dados são escritos em forma de lista aninhada. Os metadados em `YAML` são colocados sempre no início de um documento, e são delimitados por `---`. <img src="https://retaoliveira.github.io/relements/figures/yaml_sele.png" width="120%" style="display: block; margin: auto;" /> ] .panel[.panel-name[Gerando...] `knitr` <img src="https://retaoliveira.github.io/relements/figures/knitr.png" width="120%" style="display: block; margin: auto;" /> ] .panel[.panel-name[WOW!] Na [galeria do RStudio](https://rmarkdown.rstudio.com/gallery.html) diferentes estruturas de informação produzida por meio de `RMarkdown` podem ser encontradas! <img src="https://retaoliveira.github.io/relements/figures/allison_horst/knitr.png" width="60%" style="display: block; margin: auto;" /> ] .panel[.panel-name[RPubs] No RStudio, crie um novo documento `R Markdown` escolhendo `Arquivo | Novo | R Markdown`. Clique no botão `Knit HTML` na barra de ferramentas do doc para visualizar seu documento. Na janela de pré-visualização, clique no botão `Publicar`. É um processo em duas etapas. Na primeira etapa, você precisa registrar uma conta `RPubs` ou fazer o login, caso já tenha uma. Você escreve o título de seu documento e dá uma breve descrição (para que outros possam encontrar seu trabalho a partir da busca). Uma vez terminado e clicando no botão `Continue` na parte inferior, você irá diretamente para o artigo publicado. Você pode optar por atualizar seu conteúdo. ] ] --- # Um documento para chamar de MEU! .midi[ Crie pelo menos três tipos de documentos .Rmd e tente apropriar o mesmo conteúdo em todos eles. Quais desafios encontrou quanto às diferenças de formação? > Dica 1: use o botão de `knitr`. > Dica 2: você pode criar documentos com diferentes temas de maneira automática usando uma função no cabeçalho `YAML`. Possible themes: default, cerulean, journal, flatly, darkly, readable, spacelab, united, cosmo, lumen, paper, sandstone, simplex, yeti > Dica 3: Table of contents ] .pull-left[ <img src="https://retaoliveira.github.io/relements/figures/allison_horst/html.png" width="50%" style="display: block; margin: auto;" /> ] .pull-right[ <img src="https://retaoliveira.github.io/relements/figures/allison_horst/toc.png" width="50%" style="display: block; margin: auto;" /> ] --- # Um documento para chamar de MEU! Aprecie o seu primeiro documento! .center[ .large[ DESAFIO: Tente publicá-lo no RPubs! ]]
20
:
00
--- class: middle, inverse # Conhecendo R como ferramenta estatística e computacional --- # Lab 1 [Link](https://cefetmgbr-my.sharepoint.com/:u:/g/personal/renataoliveira_cefetmg_br/EdTjtwRl5F5DjFDlgrOB6BgB4fqdODik9Jkp0cA_sB696Q?e=jdqlwW)
30
:
00
--- class: center, middle ## Para a próxima semana... --- ## Para a próxima semana... Atividades 1 e 2 concluídas. Laboratório 1 concluído. --- class: inverse, center, middle # DÚVIDAS?