LINGUAGEM R MOD2

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Preparação do Ambiente de Análise de Dados

APRESENTAÇÃO
Ao final deste módulo, você terá aptidão para executar a instalação dos programas R e RStudio, usar suas estruturas, os tipos de dados e as funções da linguagem R, além de reconhecer as principais funções relacionadas à seleção e transformação de dados nessa linguagem.
Nesta unidade você vai acompanhar o passo a passo para a instalação dos programas R e RStudio.
Para tanto, vamos utilizar dois vídeos com a demonstração da instalação dos programas.

Instalando o R

Primeiramente, vamos relembrar o conceito de linguagem R: A linguagem R é uma linguagem de programação usada para análise estatística e produção de gráficos. Trata-se de um software gratuito com código aberto e com uma linguagem acessível, o que facilita a sua usabilidade. Para podermos trabalhar com o R, é necessário fazer o download do programa no computador. Portanto, vamos abrir o navegador e, na barra de endereço, digitar o link: https://cran.r-project. org/. Em seguida, devemos escolher a versão de acordo com o sistema operacional utilizado e executar o arquivo de instalação.

No vídeo a seguir, você poderá acompanhar os passos para instalação do R.

No vídeo a seguir, você poderá acompanhar os passos para instalação do R.

Fig06 LINGUAGEM R.png Vídeo 1: Instalando o R

Após instalar o R em seu computador, é necessário instalar o RStudio, que será mostrado no próximo tópico.

Instalando o RStudio

Antes de aprendermos a instalar o RStudio, é importante saber que ele é um software livre de ambiente de desenvolvimento integrado para R, uma linguagem de programação para gráficos e cálculos estatísticos. Pode-se afirmar ainda que o RStudio possui uma interface gráfica que simplifica o uso da linguagem R na manipulação de dados, na criação de gráficos e nos cálculos estatísticos.

Depois dessa breve explicação, vamos aprender a instalar o programa RStudio. Para isso, vamos abrir o navegador e, na barra de endereço, digitar o link: https://rstudio.com/products/rstudio/ download/#download. A página exibida apresentará uma lista com os principais navegadores. Em seguida, devemos escolher a versão compatível com o sistema operacional utilizado e executar o arquivo de instalação.

No vídeo a seguir, você poderá acompanhar os passos para instalação do RStudio.

Fig06 LINGUAGEM R.png Vídeo 2: Instalando RStudio

Agora você possui uma ferramenta para auxiliar o trabalho com a infinidade de dados produzidos no dia a dia e nas organizações.

Conhecendo o RStudio

Após a instalação do programa RStudio, para usá-lo efetivamente, é necessário conhecer a sua estrutura.

O RStudio é dividido em quatro janelas ou quadrantes: “Source”, “Console”, “Environment” e “Visualização”.

A imagem a seguir apresenta essa divisão:

Fig07 LINGUAGEM R.png

Fonte: Enap (2020).

Neste momento, vamos conhecer cada uma dessas janelas, com uma breve descrição.

A primeira janela, localizada no primeiro quadrante (parte superior à esquerda), é denominada “Source” e será o local onde o código deve ser inserido.

A segunda janela, localizada no segundo quadrante (parte inferior à esquerda), é denominada “Console” e exibe o resultado do que é executado na janela “Source”.

A terceira janela, localizada no terceiro quadrante (parte superior à direita), é denominada “Environment” e exibe objetos que estão carregados na memória. Nela também é possível remover ou salvar os objetos.

A última janela, localizada no quarto quadrante (parte inferior à direita), é denominada “Visualização” e é composta pelas abas: “Files”, “Plots”, “Packages” e “Help”. A seguir, acompanhe a funcionalidade de cada uma:

“Files”
Exibe a estrutura de arquivos do projeto.
“Plots”
Exibe os gráficos.
“Packages”
Permite instalar, atualizar e pesquisar pacotes.
“Help”
Exibe a documentação de uma determinada função ou pacote quando a função “help()” é executada.

Após conhecer a estrutura do Rstudio, que tal praticar um pouco?

Panorama da Linguagem R

DESTAQUE
Ao final desta unidade, depois de conhecer os tipos de dados e as funções da linguagem R, você terá aptidão para utilizar suas estruturas e construir gráficos com as ferramentas disponíveis no R.

Criando o seu primeiro script

Para demonstrar a criação de um script, acompanhe os passos descritos no vídeo a seguir:

Fig06 LINGUAGEM R.png Vídeo 3: Criando seu primeiro script

# Primeiro script
menssgem <- "Helo World!"
print(mensagem)

Após aprender a criar um script, vamos avançar um pouco mais!

Comentando seu código

No próximo vídeo, é apresentada uma maneira para criação de comentário por meio de um símbolo muito usado na linguagem da internet. Você faz ideia de que símbolo é esse?

Fig06 LINGUAGEM R.png Vídeo 4: Comentando o seu Código

# Isto é um comentário


Você acertou qual era o símbolo? E já tinha imaginado que o caractere hashtag seria usado em linguagem de dados?

Documentação da função

A essa altura, você pode estar com dúvidas relacionadas ao RStudio. No vídeo a seguir, é demonstrado como utilizar o recurso de ajuda. Acompanhe:

Fig06 LINGUAGEM R.png Vídeo 5: Documentação da Função


# Documentação da função
?print


Instalando pacotes

Uma das grandes vantagens do R são os pacotes disponíveis. Alguns vêm pré-instalados e são encontrados na aba “Packages”.

Para usarmos as funções que um pacote oferece, primeiro é necessário instalar o pacote desejado por meio da função “install.packages()” e depois carregá-lo utilizando a função “library()”. O vídeo a seguir explica como realizar esses passos.

Fig06 LINGUAGEM R.png Vídeo 6: Instalando pacotes

# Instalando um novo pacote
install.packges("ggplot2")

# Carregando um pacote
library(ggplot2)


Você percebeu que o ponto final foi usado várias vezes? Na linguagem R é comum utilizá-lo para representar o espaço, diferente de outras linguagens, que utilizam o underscore ou o padrão “CamelCase”.

Estrutura de dados

Na linguagem R temos diversas estruturas que permitem armazenar os dados produzidos. Nesse tópico, vamos conhecer essas estruturas e suas principais funções.

Vetor
Armazena um conjunto de valores ordenados chamados de elementos. Todos os elementos de um vetor devem ser do mesmo tipo.
Fator
Armazena valores categóricos (nominal ou ordinal).
Lista
É um tipo especial de vetor, porém é possível adicionar elementos de tipos diferentes.
Data frame
É utilizado para organizar elementos em linhas e colunas, semelhante a uma planilha ou base de dados. Além disso, pode ser formado por listas ou vetores.
Matriz
Armazena dados tabulares semelhante ao data frame, porém só aceita um tipo de dado.

O vídeo a seguir demonstra como essas estruturas funcionam.

Fig06 LINGUAGEM R.png Vídeo 7: Estruturas de dados

# Vetores
cidade <- c("Brasília",
            "São Paulo",
            "Rio de Janeiro",
            "Porto Alegre")
cidade

temperatura <- c(32,22,35,17)

regiao<- c(1,2,2,3)

# Acessando o primeiro elemento 
cidade[1]

# Acessando um intervalo de elementos
temperatura[1:3]

# Copiando um vetor
cidade2 <- cidade
cidade2

# Excluindo o segundo elemento da consulta
temperatura[-2]

# Alterando um vetor
cidade2[3] <- "Belo Horizonte"

# Adicionando um novo elemento
cidade2[5] <- "Curitiba"

# Deletando o vetor
cidade2 <- NULL
cidade2

# Fatores
?factor

UF <- factor(c("DF","SP","RJ","RS"))
UF

grau.instrucao <- factor(c("Nível Médio",
                           "Superior",
                           "Nível Médio",
                           "Fundamental"),
                  levels=c("Fundamental",
                           "Nível Médio",
                           "Superior"),
                  ordered=TRUE)
grau.instrucao

# Listas
?list

pessoa <- list(sexo="M",cidade="Brasília",idade=20)
pessoa

# Acessando o primeiro elemento da lista
pessoa[1]

# Acessando o valor do primeiro elemento da lista
pessoa[[1]]

# Editando a lista
pessoa[["idade"]] <- 22
pessoa

# Deletando um elemento da lista
pessoa[["idade"]] <- NULL
pessoa

# Filtrando elementos da lista
pessoa[c("cidade","idade")]
pessoa

# Lista de listas
cidades <- list(cidade=cidade,
                temperatura=temperatura,
                regiao=regiao)
cidades

# Criando um data frame com vetores
df <- data.frame(cidade,temperatura)
df

# Criando um data frama com listas
df2 <- data.frame((cidades))
df2

# Filtrando valores de um data frama
# recuperando o valor da linha 1, coluna 2
df[1,2]

# todas as linhas da primeria coluna
df[,1]

# primeira linha de todas as colunas
df[1,]

# Selecionando as 3 primeiras linhas
# da primeira e última coluna
df2[c(1:3),c(1,3)]

# Verificando o nome das colunas
names(df)

# Verificando o número de linhas e colunas
dim(df)

#Verificando os tipos de dados
str(df)

# Acessar uma coluna do data frama
df$cidade
df["cidade"]

# Matrizes
?matrix()

m <- matrix(seq(1:9),nrow=3)
m

m2 <- matrix(seq(1:25),
             ncol=5,
             byrow=TRUE,
             dimnames=list(c(seq(1:5)),
                           c("A","B","C","D","E")))
m2

# filtrando a matrix
m2[c(1:2),c("B","C")]

Esse vídeo é fundamental para aprender mais sobre a linguagem de programação R. Em nosso curso, limitamos a apresentar as funções mais utilizadas, no entanto, existem inúmeras outras que podem auxiliar o seu trabalho. Esperamos que você se aventure na busca de outras funções que atendam suas necessidades.

Estruturas de repetição

Nesse tópico, vamos ensinar como utilizar as estruturas de repetição na linguagem R, pegando duas como exemplo: For e While.

A função “for()” é utilizada para acessar cada elemento de uma sequência (vetor, coluna de matriz ou data frame matriz), enquanto a função “while()” é utilizada para repetir uma operação por um determinado número de vezes.

O vídeo a seguir exemplifica como utilizar essas estruturas.

Fig06 LINGUAGEM R.png Vídeo 8: Estruturas de repetição

# Loops

# for()
# Sintaxe:
#   for(valor in sequencia){
#      codigo...
#   }
# Exemplo

for(i in seq(12)){
  print(i)
}

# while()
# Sintaxe:
#   while(condição){
#     codigo...
#   }
# Exemplo

i<-0
while(i<=10){
  print(i)
  i=i+1
}

As funções aprendidas nesse vídeo são muito úteis. Você imagina em quais situações pode aplicá-las?

Controle de fluxo

O programa linguagem R possui uma função que permite testar condições e controlar o fluxo do script. Acompanhe no vídeo a seguir:

Fig06 LINGUAGEM R.png Vídeo 9: Controle de fluxo

# Controle de fluxo

# if()
# Sintaxe:
# if (condicao){
#    código...
# }
# Exemplos

x=10
if (x>0){
  print("Número positivo")
}

nota=4
if (nota >= 7){
  print("Aprovado")
} else if (nota > 5 && nota < 7){
    print("Recuperação")
} else {
    print("Reprovado")
}


Criando funções

O R já vem com várias funções instaladas e, com elas, você pode executar muitas tarefas, conforme mostramos até agora. Ao criar suas funções, você facilita o seu trabalho e diminui o tempo de execução de suas análises. O vídeo a seguir demonstra como criar funções no R.

Fig06 LINGUAGEM R.png Vídeo 10: Criando funções

# Criando uma função
par.impar <- function(num){
  if ((num %% 2)==0){
    return("Par")
  } else {
    return("Ímpar")
  }
}

# Usando a função
num=3
par.impar(num)
par.impar(10)

Agora que ensinamos como criar funções no R, você pode criar várias outras para facilitar suas análises. Vá em frente!

Utilizando funções apply

Você reparou no título desse tópico? Percebeu que a palavra funções está no plural? Sabe por quê?

Agora, vamos aprender a utilizar mais uma função do R, ou melhor, um grupo de funções. A função “apply”, na verdade, é um conjunto de funções, ou seja, ela possui algumas variações, tais como: “lapply”, “tapply”, “sapply” e outras. Para aprender como utilizá-las, acompanhe o vídeo a seguir:

Fig06 LINGUAGEM R.png Vídeo 11: Utilizando funções apply

# Apply()
?apply

x <- seq(1:9)
matriz <- matrix(x, ncol=3)
matriz

result1 <- apply(matriz,1,sum) # 1 soma elementos da linha
result1

result2 <- apply(matriz,2,sum) # 2 soma elementos da coluna
result2

?list

numeros.p <- c(2,4,6,8,10,12)
numeros.i <- c(1,3,5,7,9,11)

numeros <- list(numeros.p,numeros.i)
numeros

?lapply
lapply(numeros, mean)

?sappley
sapply(numeros, mean)

Criando gráficos

Chegamos no ápice da nossa unidade de estudo: a criação de gráficos. Os gráficos facilitam a análise e a interpretação dos dados, além de possibilitar a apresentação dos dados e subsidiar a tomada de decisão com maior segurança. No vídeo a seguir, são apresentadas as ferramentas para a criação de gráficos no R.

Fig06 LINGUAGEM R.png Vídeo 12: Criando gráficos

Com esse vídeo sobre criação de gráficos em linguagem R, concluímos esta unidade. Tivemos a oportunidade de conhecer e aplicar algumas funções e utilizamos as ferramentas que possibilitam a construção desses gráficos.

# Gráficos
?mtcars

carros <- mtcars[,c(1,2,9)]
head(carros)

# histograma
hist(carros$mpg)

# plot - dispersão
plot(carros$mpg,carros$cyl)

#install.packages("ggplot2")
library(ggplot2)

ggplot(carros,aes(am))+
  geom_bar()

Agora, você pode treinar usando outros dados disponíveis na sua organização ou em vários sites governamentais ou não.

Manipulação de Dados com R

DESTAQUE
Ao final desta unidade, você deverá ser capaz de reconhecer as principais funções relacionadas à união, seleção e transformação de dados em linguagem R.

Utilizando junções

A linguagem R permite unir dois conjuntos de dados em um único lugar. É isso que vamos abordar nesse tópico.

No vídeo a seguir, ensinamos como utilizar as funções “joins” em R. Acompanhe:

Fig06 LINGUAGEM R.png Vídeo 13: Utilizando junções/joins

# Join

df1 <- data.frame(Produto=c(1,2,3,5),Preco=c(15,10,25,20))
df1

df2 <- data.frame(Produto=c(1,2,3,4),Nome=c("A","B","C","D"))
df2

library(dplyr)

df3 <- left_join(df1,df2,"Produto")
head(df3)

df4 <- right_join(df1,df2,"Produto")
head(df4)

df5 <- inner_join(df1,df2,"Produto")
head(df5)

O que achou dessas funções? Sente-se apto a usá-las em suas análises?

Selecionando os dados

Nesse tópico, vamos aprender a trabalhar com a seleção de dados no R. Uma parte considerável dos problemas relacionados à manipulação de dados pode ser solucionada com o uso das funções do “dplyr”, por isso é um dos pacotes mais comuns, além da simplicidade na sua execução.

No vídeo a seguir, apresentamos como utilizar esse pacote.

Fig06 LINGUAGEM R.png Vídeo 14: Selecionando os dados

# Dplyer - pacote
? iris

head(iris)
glimpse(iris)

# Fiter - filtrando os dados (apenas versicolor)
versicolor <- filter(iris,Species=="versicolor")
head(versicolor)
dim(versicolor)

# slice - selecionando algumas linhas específicas
slice(iris,5:10)

# select - selecionando algumas colunas
select(iris,2:4)

# todas as colunos exceto "Sepal.Width"
select(iris,-Sepal.Width)

# criando uma coluna com base em colunas existentes
iris2 <- mutate(iris, nova.coluna=Sepal.Length+Sepal.Width)
head(iris2)
iris2[,c("Sepal.Length","Sepal.Width","nova.coluna")]

# Arrange - ordenar
?arrange
select(iris2,Sepal.Length) %>%
  arrange(Sepal.Length)

#Group_by - agrupar dados 
?group_by

iris %>% group_by(Species) %>%
  summarise(mean(Sepal.Length))


Terminamos mais um tópico em que você pôde aprender a selecionar dados, uma etapa importante na manipulação de dados.

Transformando os dados

Para manipular dados na linguagem R, além de utilizar as funções “joins” e selecionar os dados, você precisa aprender a transformar esses dados, a fim de obter informações mais compatíveis com a sua necessidade.

É isso que abordaremos no próximo vídeo. Acompanhe:

Fig06 LINGUAGEM R.png Vídeo 15: Transformando os dados

# Tidyr - estruturar dados
library(tidyr)

# quantidade de vendas por anos e produto
dfDate <- data.frame(Produto=c("A","B","C"),
                     A.2015=c(10,12,20),
                     A.2016=c(20,25,35),
                     A.2017=c(15,20,30))
head(dfDate)

# Gather - transforma data frame de colunas em linhas
?gather

dfDate2 <- gather(dfDate,"Ano","Quantidade",2:4)
head(dfDate2)

# Separete - separar um texto
?separate

dfDate3 <- separate(dfDate2,Ano,c("A","Ano"))
dfDate3
dfDate3 <- dfDate3[-2] # exclui coluna "A"

# acrescentando um nova coluna "mes"
dfDate3$Mes <- c('01','02','03')
dfDate3

# juntando colunas
?unite

dfDate4 <- dfDate3 %>%
  unite(Data,Mes,Ano,sep='/')
dfDate4
head(dfDate4)


Com a abordagem acerca da manipulação de dados em R, terminamos este módulo. Esperamos que os conhecimentos aqui apreendidos possam facilitar suas próximas análises de dados.

Referências

RSTUDIO. Boston: RStudio, c2020. Disponível em: https://rstudio.com/products/rstudio/ download/. Acesso em: 10 ago. 2020.

WIRTSCHAFTS UNIVERSITÄT WIEN. The Comprehensive R Archive Network. Wien: Institute for Statistics and Mathematics, 2020. Disponível em: https://cran.r-project.org/. Acesso em: 10 ago. 2020.

APPLY(), Lapply(), Sapply(), Tapply() Function in R with Examples. Guru 99, [s. l.], [2020]. Disponível em: https://www.guru99.com/r-apply-sapply-tapply.html. Acesso em: 10 ago. 2020.

ENDER, P. Multivariate Statistical Techniques: Matrix Operations in R. Westwood, LA: UCLA, 2007. Disponível em: http://www.philender.com/courses/multivariate/notes/matr.html. Acesso em: 10 ago. 2020.

FANARA, C. R Tutorial on the Apply Family of Functions. R-bloggers, [s. l.], 28 jul. 2015. Disponível em: https://www.r-bloggers.com/r-tutorial-on-the-apply-family-of-functions/. Acesso em: 10 ago. 2020.

GILLESPIE, C. S. Installing R packages. R-bloggers, [s. l.], 6 nov. 2010. Disponível em: https:// www.r-bloggers.com/installing-r-packages/. Acesso em: 10 ago. 2020.

PLOT: Generic X-Y Plotting. RDocumentation, [s. l.], [2020]. Disponível em: https://www. rdocumentation.org/packages/graphics/versions/3.6.2/topics/plot. Acesso em: 10 ago. 2020.

R DATA Frame. DataMentor, Nepal, [2020]. Disponível em: https://www.datamentor.io/rprogramming/data-frame/. Acesso em: 10 ago. 2020.

R HISTOGRAMS. DataMentor, Nepal, [2020]. Disponível em: https://www.datamentor.io/rprogramming/histogram/. Acesso em: 10 ago. 2020.

R WHILE Loop. DataMentor, Nepal, [2020]. Disponível em: https://www.datamentor.io/rprogramming/while-loop/. Acesso em: 10 ago. 2020.

THEUWISSEN, M. How to write the first for loop in R. R-bloggers, [s. l.], 2 dez. 2015. Disponível em: https://www.r-bloggers.com/how-to-write-the-first-for-loop-in-r/. Acesso em: 10 ago. 2020.

TOTH, M. Detailed Guide to the Bar Chart in R with ggplot. R-bloggers, [s. l.], 1 maio 2019. Disponível em:https://www.r-bloggers.com/detailed-guide-to-the-bar-chart-in-r-with-ggplot/. Acesso em: 10 ago. 2020.

VRIES, A.; MEYS, J. How to Work with Ordered Factors in R. Dummies, [s. l.], c2020. Disponível em: https://www.dummies.com/programming/r/how-to-work-with-ordered-factors-in-r/. Acesso em: 10 ago. 2020.

WICKHAM, H. Advanced R. 2. ed. Boca Ratón: CRC Press, 2019. Disponível em: https://adv-r. hadley.nz/. Acesso em: 10 ago. 2020.

YAU, C. R Tutorial: An R Introduction to Statistics. [S. l.: S. n.], 2020. Disponível em: http://www.rtutor.com/r-introduction. Acesso em: 10 ago. 2020.

BOEHMKE, B. Reshaping your data with tidyr. UC Business Analytics R Programming Guide,

Cincinnati, [2018]. Disponível em: https://uc-r.github.io/tidyr. Acesso em: 11 ago. 2020.

WICKHAM, H. Gather columns into key-value pairs. Tidyverse, [s. l.], [2020]. Disponível em: https://tidyr.tidyverse.org/reference/gather.html. Acesso em: 10 ago. 2020.

WICKHAM, H. Separate a character column into multiple columns with a regular expression or numeric locations. . Tidyverse, [s. l.], [2020]. Disponível em: https://tidyr.tidyverse.org/reference/ separate.html. Acesso em: 11 ago. 2020.

WICKHAM, H. Unite multiple columns into one by pasting strings together. Tidyverse, [s. l.], [2020]. Disponível em: https://tidyr.tidyverse.org/reference/unite.html. Acesso em: 11 ago. 2020.

WICKHAM, H.; FRANÇOIS, R.; HENRY, L.; MÜLLER, K. Arrange rows by column values. Tidyverse, [s. l.], [2020]. Disponível em: https://dplyr.tidyverse.org/reference/arrange.html. Acesso em: 10 ago. 2020.

WICKHAM, H.; FRANÇOIS, R.; HENRY, L.; MÜLLER, K. Create, modify, and delete columns. Tidyverse, [s. l.], [2020]. Disponível em: https://dplyr.tidyverse.org/reference/mutate.html. Acesso em: 10 ago. 2020.

WICKHAM, H.; FRANÇOIS, R.; HENRY, L.; MÜLLER, K. Group by one or more variables. Tidyverse, [s. l.], [2020]. Disponível em: https://dplyr.tidyverse.org/reference/group_by.html

WICKHAM, H.; FRANÇOIS, R.; HENRY, L.; MÜLLER, K. Join two tbls together. Tidyverse, [s. l.], [2020]. Disponível em: https://dplyr.tidyverse.org/reference/join.html. Acesso em: 10 ago. 2020.

WICKHAM, H.; FRANÇOIS, R.; HENRY, L.; MÜLLER, K. Subset columns using their names and types. Tidyverse, [s. l.], [2020]. Disponível em: https://dplyr.tidyverse.org/reference/select.html. Acesso em: 10 ago. 2020.



Icone voltar.png Icone menu.png Icone prox.png