Você está na página 1de 45

Programação para Data Science

Jony Arrais Pinto Junior


So ware R
O so ware R

• O R é uma linguagem e um ambiente de desenvolvimento integrado


para análise de dados, que inclui:
• Instalação eficaz de tratamento e armazenamento de dados;

• Conjunto de operadores para cálculos em numéricos, em vetores e


matrizes;

• Grande coleção coerente e integrada de ferramentas intermediárias


para análise de dados;

• Instalações gráficas para análise de dados e exibição na tela ou em


console;

• Linguagem de programação bem desenvolvida, simples e eficaz que


inclui condicionais, loops, funções recursivas definidas pelo usuário e
instalações de entrada e saída.
O so ware R

• A linguagem é bastante intui va (tenta va e erro!).

• O aprendizado de uma função (plot) isso pode ser facilmente repli-


cado para funções similares (barplot).

• É um so ware gratuito sob uma licença referida no Comprehensive


R Archive Network - CRAN (uma rede de servidores no qual cada ser-
vidor é conhecido como espelho).
O so ware R

• O fato do R ser uma linguagem pode desencorajar alguns usuários


que pensam “não consigo programar”.

• Este não deve ser o seu caso!!!

• O R foi desenvolvido por analistas esta s cos → códigos poucas li-


nhas de comando quando comparado com C++, java ou Python.

• R é uma linguagem interpretada e não compilada → comandos exe-


cutados diretamente, sem exigir a criação de um programa completo.

• A sintaxe do R busca ser intui va.


O so ware R

• Por exemplo, para ajustar um modelo de regressão linear conside-


rando y e x, no inglês seria um linear model, no R ajustamos a regres-
são usando lm(y ∼ x).

• O R é um so ware aberto → con nuamente melhorado, atualizado,


expandido pela comunidade.

• Quando o R está sendo executado, variáveis, dados, funções, resul-


tados, etc., são armazenados na memória a va do computador na
forma de objetos que possuem um nome.

• O usuário pode fazer ações nesses objetos com operadores (aritmé-


ca, lógica, comparação, …) e funções (que são eles próprios objetos).
Uma função no R

• Uma função no R pode ser esboçada da seguinte maneira.

• Os argumentos podem ser objetos (“dados”, fórmulas, expressões,


…).

• Alguns argumentos podem estar pré-definidos (podem ser


modificados).

• Podem exis r funções sem nenhum argumentos (todos


pré-definidos).
Uma função no R

• Vamos considerar a função que calcula o desvio padrão:


sd(x, na.rm = FALSE)

• A função possui dois argumentos: x e na.rm.

• x é um vetor numérico (valores) e na.rm é um operador lógico (des-


considerar os valores faltantes).

• na.rm é um argumento pré-definido.

• Para executar a função, obrigatoriamente precisamos inserir o argu-


mento x.
Porque usar o R?
Empresas que usam o R
O que usaremos nesse curso
RStudio

• É um ambiente de desenvolvimento integrado para o R.

• Inclui recursos que permite: aumentar a produ vidade e é executado


em todas as principais plataformas.

• Sua interface facilita o uso do R.


Instalando o R e o RStudio
Instalando R e RStudio

• Para instalar a úl ma versão do R, siga os seguintes passos:


• Vá no site h ps://cran.r-project.org;
• Faça download do arquivo;
• Clique em em executar.

• Para instalar a úl ma versão do RStudio, siga os seguintes passos:


• Vá no site h ps://www.rstudio.com/home/;
• Faça download da versão free;
• Clique em em executar.
Conhecendo o RStudio
RStudio

• Editor/Scripts: é onde escrevemos nossos códigos.

• Console: é onde executamos o código e recebemos as saídas. O R


vive aqui!

• Environment: painel com todos os objetos criados na sessão.

• History: painel com um histórico dos comandos executados.

• Files: mostra os arquivos no diretório de trabalho. É possível navegar


entre diretórios.

• Plots: painel onde os gráficos serão apresentados.

• Help: janela onde a documentação das funções serão apresentadas.


Executando comandos no R

• Insira no seu script os comandos acima.

• Para executar qualquer uma das linhas basta posicionar o cursor na


mesma e clicar em Run (pode executar várias linhas selecionando to-
das).
Salvando um script

• Clique em File > clique em Save ou Save as.


Pacotes

• Imagine que você esteja interessado em fazer algum processamento


de linguagem natural de textos coreanos, como realizar esta tarefa
no R?

• Muito provavelmente, os pacotes do R possuem (ou devem possuir


com probabilidade tendendo à 1) as funções que vocês precisam!

• Os pacotes do R são coleções de funções e conjuntos de dados de-


senvolvidos pela comunidade.

• Eles aumentam o poder do R, melhorando as funcionalidades de base


do R existentes ou adicionando novas.
Como instalar um pacote?

• A forma de instalar dependerá de onde o pacote se encontra.

• Podemos instalar pacotes do CRAN ou do GITHUB, por exemplo.

• Para instalar da CRAN, você precisará apenas usar


install.packages(“maptools”)

• Para instalar do GITHUB, você precisará.


devtools::install_github(“qspa alR/qspa al”)

• Não esquecer que para instalar um pacote o nome precisa estar entre
aspas.
Pacote

• Após o uso da função install.packages, o pacote foi adicionado ao seu


computador.

• Para ter acesso as funções existentes no pacote é preciso carregá-lo,


fazemos isso com a função library:
library(maptools)

• Esse procedimento deve ser realizado em toda sessão de trabalho.

• Para visualizarmos todas as funções existentes em um pacote:


ls(“package:maptools”)
Pedindo ajuda no R

• Para acessar a documentação das funções do R:


help(nome_da_funcao) ou ?nome_da_funcao.
Novos amigos

• h ps://stackoverflow.com/

• h ps://www.kaggle.com/

• Os h p://hadley.nz/
Encerrando uma sessão no R

• Clique em File > clique em Quit Session.


Encerrando uma sessão no R

• Se seus scripts já es verem salvos, não salve o workspace.


Criando e visualizando objetos no R

• Abram o arquivo Script1.R

• Para atribuir uma valor à um objeto basta digitar o comando <- ou =


nome_do_objeto = ...

• Classes dos objetos:


• numérico (inteira, caso par cular);
• character;
• data;
• lógica (TRUE ou FALSE).

• O entendimento destes objetos e manipulação dos mesmos, nos per-


mi rão realizar análises de dados.
Vetores

• Conjunto de elementos de uma mesma natureza.

• Podem ser numéricos ou caracteres.

• Para verificar a classe de um objeto, use a função class ou str.

• É possível realizarmos operações matemá cas e lógicas com estes ob-


jetos.

• Por exemplo, venda.1sem/6 retornará uma es ma va para a venda


média por mês de cada loja.
Operações matemá cas no R
Operações lógicas no R

• Os operadores acima verificam se uma situação é verdadeira ou falsa.


Operações lógicas no R

• Existem operadores lógicos que analisam de maneira mais ampla se


uma situção é verdadeira ou não:

• Operador E - Retorna verdadeiro se toda a expressão for verdadeira.


No R fazemos uso do operador &.
condição 1 & condição 2 & ... & condição N,
se todas as N condições forem sa sfeita é retornado TRUE.

• Operador OU - Retorna verdadeiro se ao menos uma das partes da


expressão for verdadeira. No R fazemos uso do operador |.
condição 1 | condição 2 | ... | condição N,
se ao menos uma das N condições forem sa sfeita é retornado TRUE.
Valores especiais

• Existem valores reservados para representar dados faltantes, infini-


tos, e indefinições matemá cas.
• NA (Not Available) significa dado faltante/indisponível.

• NaN (Not a Number) representa indefinições matemá cas, como 0/0


e log(-1).

• Inf (Infinito) é um número muito grande ou o limite matemá co, por


exemplo, 1/0 e exp(10000).

• NULL representa a ausência de informação. (NA - esta s ca e NULL -


programação)

• Use as funções is.na(), is.nan(), is.infinite() e is.null() para testar se


um objeto é um desses valores.
Tibbles

• No mundo real os dados não estão con dos em uma unica dimensão
(vetor), na maioria dos casos o número de dimensões é muito maior.

• Por exemplo, no caso das vendas, possuimos os dados de vendas, no


1 e 2 semestre, a localidade da loja e o número de funcionários.

• Neste po de cenário o adequado é o uso de tabelas.

• No R as tabelas são chamadas de Data Frame.

• Mas trabalharemos com uma versão mais moderna do data frame


chamada de bble.
Tibbles

• É possível acessar variáveis, indivíduos ou um dado específico no b-


ble.

• É possível incluir mais dados em bbles existentes, usando inclusive


os operadores matemá cos e lógicos.

• A função summary ajuda a obter medidas resumos da base de dados.

• Algum problema com os resultados da função summary?

• É preciso fazer um tratamento dos dados quando o mesmo es verem


codificados.
Tibbles

• O po de dados factor é usado para representar dados qualita vos


(não ordenados).

• Para variáveis qualita vas ordenadas usamos o ordered.

• Após o tratamento adequado dos dados, as funções retornam medi-


das adequadas ao po de dado (variável).
Listas

• Listas podem ser consideradas uma espécie de contêiner que arma-


zena diferentes pos de objetos em diferentes dimensões, não im-
portando a sua classe.

• Para criar uma lista basta usar a função list.

• Manipulações destes objetos são de extrema relevância quando se


desejar retornar outputs com naturezas e/ou dimensões dis ntos.
Condicionamento

• Em certas ocasiões, queremos ou precisamos executar parte do có-


digo apenas se alguma determinada condição for atendida.

• O R fornece algumas opções básicas para estruturar seu código:

• if(…);

• if(…) else;

• ifelse(…).
if(...)

• A estrutura básica do if(…) é a seguinte:


if(condicao){
conjunto de comandos que serão executados
caso a condição seja TRUE
}

• Notem que, o início do código se dá com o comando if seguido de


parênteses e chaves.

• Dentro do parênteses é preciso conter uma (ou mais) condição(ões)


lógica(s), que deverá ter como resultado ou TRUE ou FALSE.

• Dentro das chaves temos um conjunto de comandos que serão exe-


cutado se a condição do parênteses for TRUE.
if(...) else

• A estrutura básica do if(…) else é a seguinte:


if(condicao){
conjunto de comandos que serão executados
caso a condição seja TRUE
}else{
conjunto de comandos que serão executados
caso a condição seja FALSE
}

• Percebam que o início do código se dá do mesmo modo que no caso


anterior, com o comando if seguido de parênteses e chaves.

• Novamente, dentro do parênteses é preciso conter uma condição ló-


gica, que deverá ter como resultado ou TRUE ou FALSE.
if(...) else

• Dentro das chaves do if(…) temos um conjunto de comandos que se-


rão executado se a condição do parênteses for TRUE.

• Logo em seguida temos a presença do opcional else, seguido de cha-


ves.

• Dentro das chaves do else temos um conjunto de comandos que se-


rão executado se a condição do parênteses for FALSE.
ifelse(...)

• Os comandos if(…) e if(…) else não são vetorizados

• A função ifelse(…) tem a seguinte estrutura básica:


ifelse(conjunto de condicoes, valor se TRUE, valor se
FALSE)

• Notem que, o primeiro argumento trata-se de um conjunto de con-


dições (que podem ser aplicadas em um vetor), que retornará vários
TRUE e FALSE.

• Já o segundo argumento trata-se do valor que será retornado quando


o elemento do conjunto de condicoes for TRUE.

• E o terceiro argumento trata-se do valor que será retornado quando


o elemento do conjunto de condicoes for FALSE.
Loopings

• Imagine que você tem um código em R, e precisa que uma mesma


sequência de tarefas sejam executadas repe damente.

• Estas repe ções podem ocorrer por um númere pré-estabelecido de


vezes ou enquanto uma condição não for sa sfeita.

• O R fornece algumas opções básicas para estruturar seu código:

• for(…);

• while(…).
for(...)

• Um looping que u liza o for(…) no R tem a seguinte estrututa básica:


for(j in conjunto de valores){
conjunto de comandos que
serão repetidos tantas vezes
quanto for o tamanho do conjunto de valores
}

• Notem que, o início do loop se dá, de forma bem similar ao if, com o
comando for seguido de parênteses e chaves.
• Dentro do parênteses temos um indicador que será usado durante o
loop (no caso escolhemos o j para representar este indicador) e um
conjunto de valores que será iterado (chamado aqui de conjunto de
valores).
• Dentro das chaves temos o conjunto de comandos que será execu-
tado durante o loop.
while(...)

• Um looping que u liza o for(…) no R tem a seguinte estrututa básica:


while(condicao for satisfeita){
conjunto de comandos que
serão repetidos
enquanto a condicao continuar retornando TRUE
}

• Notem que, o início do loop se dá com o comando while seguido de


parênteses e chaves.

• Dentro do parênteses, temos uma condição que será verificada a cada


iteração.

• Dentro das chaves, temos o conjunto de comandos que será execu-


tado enquanto a condição retornar TRUE.
Criando funções no R

• Uma grande vantagem no R é a possibilidade de criar funções de


forma fácil.

• Uma função, pode ser vista, como uma sequência de passos que você
deseja que o programa execute.

• Quando fazemos o uso de um pacote, na verdade estamos usando


funções que outras pessoas já criaram.

• Ao criar uma função é muito importante definir suas entradas (argu-


mentos) e saídas (resultados a serem retornados).
Criando funções no R

• Para criar uma função no R, precisamos u lizar a função func on(…)


que tem a seguinte estrutura básica:
nome.funcao = function(argumentos){
conjunto de comandos que
serão realizados }

• Podemos usar estruturas de condição e repe ção e outras funções


existentes.

• Dentro do parênteses, temos uma condição que será verificada a cada


iteração.

• Dentro das chaves, temos o conjunto de comandos que será execu-


tado enquanto a condição retornar TRUE.

Você também pode gostar