Programar

Nessa parte do livro, você irá aprimorar suas habilidades em programação. Programação é uma competência transversal para todo trabalho de ciência de dados: você deve usar o computador para fazer ciência de dados; você não pode fazê-la em sua cabeça, com lápis e papel.

Nosso modelo do processo de ciência de dados com a programação (importar, organizar, transformar, visualizar, modelar e comunicar, ou seja, tudo) destacada em azul.
Figura 1: Programação é a água na qual todos os outros componentes nadam.

Programação produz código, e código é uma ferramenta de comunicação. Obviamente o código diz ao computador o que você quer que ele faça. Mas ele também transmite um significado a outros humanos. Pensar em código como um veículo de comunicação é importante porque todo projeto que você faz é fundamentalmente colaborativo. Mesmo que você não esteja trabalhando com outras pessoas, você definitivamente trabalhará com o você do futuro. Escrever códigos claros é importante para que outras pessoas (como você no futuro) possam entender o porquê de você ter abordado uma análise da forma como fez. Isso significa que melhorar na programação também envolve melhorar na comunicação. Com o tempo, você quer que seu código seja não apenas mais fácil de escrever, mas fácil também para outras pessoas lerem.

Nos próximos três capítulos, você irá desenvolver competências que irão aprimorar suas habilidades em programação.

  1. Copiar e colar é uma ferramenta poderosa, mas você deve evitar usá-la mais que duas vezes. Repetir código é perigoso, pois isto pode facilmente te levar a erros e inconsistências. Em vez disso, no 25  Funções, você irá aprender como escrever funções que te permitem extrair códigos tidyverse repetidos para que possam ser facilmente reutilizados.

  2. Funções extraem os códigos repetidos, mas você eventualmente precisa repetir as mesmas ações em diferentes inputs. Você precisa de ferramentas de iteração que te permitem executar as mesmas ações de novo e de novo. Essas ferramentas incluem for loops e programação funcional, que você irá aprender no 26  Iteração.

  3. Quanto mais você ler códigos escritos por outras pessoas, mais você verá códigos que não utilizam tidyverse. No 27  Um guia para o R base, você irá aprender algumas das funções mais importantes do R base que você encontrará por aí.

O objetivo desses capítulos é te ensinar o mínimo sobre programação que você precisa para ciência de dados. Quando você dominar esse material, recomendamos fortemente que você continue a investir nas suas habilidades de programação. Nós escrevemos dois livros que você pode achar útil. Hands on Programming with R, de Garrett Grolemund, é uma introdução ao R como linguagem de programação e um ótimo ponto de partida se o R for sua primeira linguagem de programação. Advanced R de Hadley Wickham entra em detalhes na linguagem de programação R; é um ótimo ponto de partida se você já tem experiência em programação e ótimo próximo passo se as ideias desses capítulos forem familiares para você.