#primeira forma de acessarmos o help da função mean
?mean
#forma alternativa de acessarmos o help da função mean
help(mean)
1 R e RStudio
O R é um software de código aberto distribuído gratuitamente sob uma licença disponibilizada pelo Comprehensive R Archive Network (CRAN). O CRAN é uma rede de servidores, cada um conhecido como espelho, que hospeda o software. Desenvolvido inicialmente por Ross Ihaka e Robert Gentleman no Departamento de Estatística da Universidade de Auckland, na Nova Zelândia, o R é uma linguagem de programação dinâmica concebida para a manipulação, análise e visualização de dados.
Uma das características marcantes do R é a sua intuitividade. É comumente utilizado por meio de abordagens experimentais, permitindo aos usuários aprenderem por meio de tentativa e erro. Por exemplo, para realizar um ajuste de modelo de regressão linear com as variáveis y e x, enquanto em inglês você precisaria usar o termo “linear model”, no R você pode simplesmente usar o comando lm(y ~ x)
. Além disso, a aprendizagem de funções específicas, como plot
, pode ser facilmente transferida para funções semelhantes, como barplot
.
O R se destaca pela capacidade de produzir código conciso e eficiente, muitas vezes exigindo menos linhas de comando do que linguagens como C++, Java ou Python. Trata-se de uma linguagem interpretada, o que significa que os comandos são executados diretamente, eliminando a necessidade de compilar programas completos.
Durante a execução no R, variáveis, dados, funções e resultados são armazenados na memória ativa do computador como objetos nomeados. O usuário pode manipular esses objetos utilizando uma variedade de operadores aritméticos, lógicos, de comparação e funções disponíveis na linguagem.
1.1 Uma função no R
Antes de nos aprofundarmos nos detalhes do R, é crucial ressaltar que ele é estruturado em um conjunto de funções agrupadas em pacotes. Dominar estas funções é essencial para otimizar a utilização eficiente deste software.
No R, uma função é geralmente representada da seguinte maneira:
No R, os argumentos podem ser variados tipos de objetos, incluindo dados, fórmulas e expressões, entre outros.
Alguns argumentos já vêm com valores pré-definidos, como é o caso do argumento z na função acima. Embora não seja obrigatório especificá-lo para executar a função, ele pode ser personalizado conforme a necessidade do usuário.
Existem também funções que não requerem argumentos, pois todos eles já estão pré-definidos.
Para exemplificar, consideremos a função mean
, que calcula a média:
A representação da função mean
é: mean(x, trim = 0, na.rm = FALSE)
.
Esta função é composta por três argumentos: x
, trim
e na.rm
.
x
é um vetor numérico contendo os valores.trim
é a fração de valores a serem excluídos em cada extremidade antes do cálculo da média. Pode variar de 0 a 0,5 e tem um valor padrão de 0.na.rm
é um argumento lógico que determina se os valores faltantes devem ser desconsiderados. Também possui um valor padrão.
Ao utilizar a função, é essencial fornecer o argumento x
.
Os argumentos podem ser fornecidos em qualquer sequência, contanto que o nome do argumento seja especificado na chamada da função. Por exemplo, tanto mean(x = idade, na.rm = FALSE, trim = 0.2)
quanto mean(na.rm = FALSE, trim = 0.2, x = idade)
são aceitáveis, mas mean(FALSE, idade, 0)
não é.
Geralmente, as funções estão contidas em pacotes no R, um aspecto que exploraremos mais detalhadamente posteriormente.
1.2 As janelas no RStudio
O RStudio é um ambiente de desenvolvimento integrado (IDE) projetado para o R. Ele oferece uma variedade de recursos que aumentam a produtividade e é compatível com todas as principais plataformas. Sua interface amigável torna o uso do R mais acessível e eficiente.
Na figura acima, é possível reorganizar essas áreas acessando o menu Tools \(\longrightarrow\) Global Options \(\longrightarrow\) Pane Layout.
As duas janelas localizadas à esquerda são as áreas de trabalho principais. A do canto superior, conhecida como Script, serve como a janela de edição, onde escrevemos nossos códigos. A do canto inferior, chamada de Console, é o ambiente do próprio R, onde os códigos são executados.
Recursos do RStudio na janela Script incluem:
Colorização de palavras e símbolos para facilitar a leitura do código.
Autocompletar nomes de funções e objetos à medida que digitamos no Script.
Breve descrição das funções em uso, exibindo seus principais argumentos.
Já as janelas localizadas à direita são auxiliares e altamente úteis. Algumas de suas principais funcionalidades incluem:
Listar todos os objetos criados durante a sessão de trabalho.
Exibir o histórico dos códigos executados.
Organizar os gráficos, permitindo o acesso a gráficos criados.
Fornecer documentação sobre funções e possibilitar a instalação de pacotes.
Aqui está uma breve descrição das funções das principais janelas:
Script: local onde escrevemos nossos códigos.
Console: local onde executamos os códigos e recebemos as saídas.
Environment: janela que lista todos os objetos criados na sessão de trabalho.
History: janela que registra um histórico dos comandos executados.
Files: mostra os arquivos no diretório de trabalho e permite a navegação entre diretórios.
Plots: janela onde os gráficos são apresentados.
Help: janela onde a documentação das funções é exibida.
Packages: local onde realizamos a instalação de pacotes no R.
1.3 Criando projetos no RStudio
De maneira simples, um projeto pode ser comparado a uma pasta em seu computador que contém todos os arquivos relacionados à análise que está sendo realizada. Essa funcionalidade é altamente benéfica para a organização e deve ser considerada uma prática recomendada para qualquer cientista de dados.
Para iniciar a criação de um projeto chamado de Análise1, siga estes passos: vá ao menu File \(\longrightarrow\) New Project. Em seguida, você pode optar por criar o projeto em um novo diretório específico para hospedar seu projeto ou usar um diretório existente. Para criar um novo diretório, clique em New Directory.
Na próxima janela, você terá a opção de escolher o tipo de projeto que deseja criar. Para prosseguir, clique em New Project.
A próxima janela permite que você escolha o nome da pasta que abrigará o projeto e o diretório onde ela será armazenada.
Após a criação do projeto, o RStudio indicará qual projeto está ativo, como ilustrado na figura abaixo.
1.4 Pedindo ajuda
Já enfatizamos que a linguagem R é altamente intuitiva, e encorajamos a utilizar o método de tentativa e erro!
No entanto, ao seguir essa abordagem, pode haver momentos em que você precise de assistência. Felizmente, a comunidade R é extremamente ativa e existem várias maneiras de obter ajuda.
Aqui estão os principais canais disponíveis:
1. Ajuda do R (R Help).
2. Pesquisas no Google.
3. Stack Overflow.
1.4.1 Help do R
O help do R fornece todas as informações necessárias para utilizar uma função específica. Ele consiste em uma documentação completa, incluindo descrição, argumentos, instruções de uso, saída e exemplos.
Para acessar a documentação de uma função, basta utilizar ?nome_da_funcao
ou help(nome_da_funcao)
. Vamos agora acessar o help da função mean
, que foi utilizada em nosso primeiro script.
1.4.2 Google
A comunidade de usuários do R é vasta e altamente ativa, constantemente gerando conteúdo e participando de discussões online. É natural que as pesquisas em inglês aumentem significativamente as chances de encontrar respostas, como ocorre em relação a outras linguagens. Uma dica valiosa é incluir a letra ‘r’ em suas buscas, o que pode ser extremamente útil para refinar os resultados e encontrar informações relacionadas ao R com maior eficiência.
sum(1,"a")
#Error in sum(1, "a") : invalid 'type' (character) of argument
Quando pesquisamos para solucionar um erro, é aconselhável incluir a letra ‘r’ na pesquisa do Google, como feito abaixo.
1.4.3 Stack Overflow
O Stack Overflow e o Stack Overflow em Português são plataformas de Perguntas e Respostas amplamente empregadas por diversas linguagens de programação, incluindo o R.
Se você não encontrar um problema semelhante ao seu (e sua solução) no site, o Stack Overflow oferece a oportunidade de criar sua própria pergunta.
1.5 Instalando pacotes
Um dos principais diferenciais do R reside na vasta quantidade de pacotes disponíveis, contendo diversas funções para análise de dados. A instalação de pacotes é uma atividade frequente na utilização do R.
A seguir, descrevemos as duas principais maneiras de instalar pacotes no R, classificadas por ordem de frequência:
1.5.1 Via CRAN
Você pode instalar pacotes que não estão em sua biblioteca utilizando a função install.packages(pkgs = 'nome_do_pacote')
. Como exemplo, a seguir, instalaremos o pacote maptools
.
#instalando o pacote maptools do CRAN
install.packages(pkgs = "maptools")
De forma alternativa, podemos usar o seguinte caminho: Packages
\(\longrightarrow\) Install
.
1.5.2 Via Github
Muitos usuários do R que criam pacotes costumam disponibilizar as versões mais recentes de seus pacotes no GitHub, incluindo aqueles que não estão no CRAN. Para instalar um pacote do GitHub, é necessário ter o pacote devtools
instalado. O comando para realizar essa instalação é igualmente simples:
#instalando o pacote ghit do GITHUB
::install_github("cloudyr/ghit") devtools
Observação: Quando utilizamos a sintaxe PacoteA::funçãoZ
, estamos assegurando que a função funçãoZ utilizada pertence necessariamente ao pacote PacoteA.
Apenas serão necessários o nome de usuário (username) e o nome do repositório (geralmente têm o mesmo nome do pacote). Como exemplo, o username foi cloudyr e o repositório foi ghit.
Se você não estiver familiarizado com o GitHub, não se preocupe! Os pacotes disponibilizados na plataforma geralmente incluem um arquivo README, cuja primeira instrução trata da instalação.
1.6 Universo tidyverse
Nós, interessados em analisar dados, precisamos falar sobre o tidyverse!
O tidyverse
é um conjunto de pacotes R que proporcionam ao cientista de dados uma abordagem unificada e eficiente para a realização de tarefas comuns. Quando falamos de eficiência, estamos nos referindo à rapidez na resolução de problemas, não à velocidade de execução de algoritmos. Os pacotes que fazem parte deste conjunto compartilham uma filosofia, gramática e estrutura de dados, o que promove uma integração harmoniosa entre eles.
Se você está se familiarizando com o tidyverse
, o trabalho proposto por Wickham and Grolemund (2017) deve ser consultado. O livro de Garrett Grolemund e Hadley Wickham, é a melhor fonte para compreender a filosofia completa e como todas as peças se encaixam.
O tidyverse
é considerado um universo à parte dentro do R, principalmente devido à consistência das suas ferramentas e à excelente interoperabilidade entre elas.
Os princípios fundamentais do tidyverse
são os seguintes:
1.6.1 Eficiência algorítmica vs eficiência de trabalho
Estamos enfatizando que o tempo que um cientista de dados dedica à concepção de uma operação é mais valioso do que o tempo que o computador gasta para executar um cálculo.
1.6.2 Tidy data
É um princípio de organização de dados que, frequentemente, soluciona mais de 80% dos problemas reais. O objetivo da organização dos dados é transformar a base de dados até que ela esteja em um formato tidy. Uma base de dados é considerada tidy quando cada observação é representada em uma linha, cada variável em uma coluna e cada dado é alocado em uma célula específica da base.
1.6.3 Utilização do operador |> (pipe)
Operador que revolucionou/facilitou a lógica de programar no R.
1.6.4 Aparato mnemônico
Pacotes baseados em teoria e API consistentes.
1.6.5 Minimalidade e funções puras
Funções sem efeitos colaterais interagem com o ambiente através de entradas (inputs) e saídas (outputs), alinhando-se harmoniosamente com o princípio do pipe.