2. Importando os dados para sua análise
No R
qualquer estrutura é armazenada na forma de um
objeto, seja um valor, um conjunto de valores ou até
mesmo uma base de dados. Essa linguagem se estrutura, por tanto, no
paradigma da Programação Orientada a Objetos, ou seja,
tudo será um objeto.
Para criar e alterar objetos no R
é necessário utilizar
o símbolo: <-
, chamado de operador de
atribuição. Esse operador é formado pelos símbolos “menor que”
(<
) e hífen (-
). Mas, atenção! O símbolo
“igual” (=
) também pode ser utilizado, mas
não recomendamos pois possui muitas outras utilidades e
você pode se confundir. Por isso, neste curso, adotaremos
somente o operador <-
para criar e alterar objetos no
R
.
Observe na Figura 4 a etapa de criação de um objeto. Para criá-lo basta definir o nome, inserir o operador de atribuição e, por último, o valor que será atribuído. Veja a Figura 4:
Figura 4: Etapa de atribuição de dados a um objeto no
R
.
A seguir iremos praticar esta etapa de criação de um objeto, aprendendo a importar bancos de dados para analisar dados do Estado de Rosas, um estado fictício criado para este curso. Para as importações ocorrerem, vamos precisar utilizar uma função.

O conceito de função no R
é
semelhante às fórmulas que realizamos no Microsoft Excel. As funções são
as ações que você quer que o R
execute. Elas
exigem, muitas vezes, valores de entrada (que denominamos
input) e retornam valores de saída (também chamados de
output). Sempre que escrever uma função, deverá inserir entre
parênteses ( )
os chamados
argumentos. Observe na figura 5 como seria fazer algumas das
funções mais comuns no Excel, a função soma
,
média
e cont.se
:
Figura 5: Tela inicial da IDE
RStudio
.
Veja que acima temos três exemplos: o cálculo de uma soma, uma média
e uma contagem de valores válidos. Todos estão com a
função()
na cor verde e seus respectivos
argumentos
na cor cinza. No R
escrevemos
utilizando esta mesma lógica. Observe na Figura 6 como é escrever uma
função com R
:
Figura 6: Tela inicial da IDE
RStudio
.
Percebe como é semelhante? Quase sempre as funções são escritas na
língua inglesa; e em geral as funções podem ter um ou mais argumentos,
separados por vírgulas (,)
ou definidos pelo operador igual
(=
). Eventualmente, porém, uma função pode não precisar de
argumento.
Observe neste módulo como utilizamos as funções, aprendendo a importar banco de dados. Usaremos funções para muitas atividades nos próximos módulos.
2.1 Importando arquivos no formato CSV
Para aprender a importação de um arquivo do tipo .csv
utilizaremos o banco de dados exportado do e-SUS Notifica do Estado de
Rosas (Figura 1). Para isso, utilizaremos uma função do
pacote readr
. Falaremos mais vezes dele em todo curso. Por
enquanto, vamos instalá-lo para, em seguida, importar o arquivo
{e_sus_notifica.csv
}, disponível no menu lateral
“Arquivos”, do módulo.

.RProj
) disponível
no menu lateral “Arquivos”, do módulo.
Para consultar como criar e/ou utilizar um projeto acesse o Módulo 1.
Acompanhe as telas abaixo, pois vamos fazer um passo a passo!
- Crie um script em branco no
RStudio
seguindo o menu File, New File e R Script, repetindo os passos conforme a Figura 7:
Figura 7: Etapa de criação de um novo script no RStudio
.
- Agora vamos escrever os primeiros comandos para instalar o pacote necessário no corpo do script:
- Digite no
RStudio
os comandos para instalar o pacote que irá utilizar para importação da base:if(!require(readr)) install.packages("readr")
- Em seguida, não esqueça de escrever os comandos para carregar o
pacote:
library(readr)
Veja, como seria construir um código utilizando às boas práticas para o uso de uma linguagem de programação:
# Esta primeira linha verifica se o pacote está instalado.
# Caso não esteja, o código abaixo irá prosseguir com a instalação do
pacote readr
if(!require(readr)) install.packages("readr")
#Carregando o pacote readr
library(readr)
- Agora que já instalou e carregou os pacotes necessários:
- Clique no botão Run (Figura 8) para executar as linhas de código digitadas.
- O
RStudio
é apenas uma interface gráfica para oR
. Perceba que, ao rodar o código no painel do script, os códigos são executados no painel Console (Figura 8).
Lembre-se que a primeira linha de código verifica se o pacote está instalado e caso não esteja, será instalado e carregado, conforme a Figura 8.
Figura 8: Etapa de instalação do pacote readr
noRStudio
.
- Agora, vamos criar um objeto e escolher a função que iremos utilizar para abrir o banco de dados de casos leves de covid-19 (Figura 9):
- Crie no seu
RStudio
o objeto que armazenará o banco de dados: {dados
}. - Digite no seu
RStudio
o operador de atribuição<-
, para sinalizar aoR
que está armazenando o banco de dados no objeto {dados
}. - Digite no seu
RStudio
a funçãoread_csv2()
do pacotereadr
. Veja na Figura 9 o destaque para a estrutura de uma função para criar um objeto que, neste caso, será uma tabela que armazenando o banco de dados do e-SUS Notifica. - Também será necessário definir o argumento
file
(arquivo) para que seja possível abrir o banco de dados noR
. Este argumento solicita que você inclua o local (diretório ou pasta) onde está guardado o arquivo {e_sus_notifica.csv
} e o nome do arquivo com sua extensão, tudo entre aspas conforme a Figura 9:
Figura 9: Estrutura de código criando o objeto
dados
no R
.
Agora, veja os comandos abaixo e valide as linhas de códigos da
Figura 9 que você digitou no seu Rstudio
, e clique em
Run:
# Esta primeira linha verifica se o pacote está instalado.
# Caso não esteja, o código abaixo irá prosseguir com a instalação
if(!require(readr)) install.packages("readr")
# Carregar o pacote readr
library(readr)
# Utilize a função read_csv2 para importar os dados
# do arquivo e_sus_notifica.csv para um objeto chamado "dados"
dados <- read_csv2(file = "Dados/e_sus_notifica.csv")
Após clicar em Run, a tela do RStudio
te
devolverá resultados dos comandos executamos. Observe a Figura 10 onde
colocamos em destaque o painel Console com os outputs de tudo o
que acabamos de executar.
Figura 10: Script de importação de dados do e-SUS Notifica de Rosas, armazenado no objeto dados
no R
.

Lembre-se que neste curso os blocos em destaque indicam uma simulação
de código no ambiente do R
.
Figura 11: Blocos de código no R
.
No bloco número 1, de fundo cinza claro, temos os códigos e funções
que gostaríamos que você reproduzisse o script no seu
RStudio
. Perceba que, na primeira e segunda linha desta
caixa temos frases iniciando com o símbolo hashtag
(#
). Lembre-se que no R
esse
símbolo é utilizado para indicar um comentário sobre as etapas de
código.
No bloco número 2, temos o output da
função. É uma reprodução do que será retornado a você quando executar os
comandos da caixa número 1. Um output sempre começará com os
símbolos hashtag e “maior que”, assim:
#>
.
Esta estrutura é apenas para compreensão do curso, ou seja, não é a
visualização que você encontrará ao escrever scripts no
RStudio
e, por isso, acompanhe os prints de telas
para apoiá-lo nas dúvidas.
2.2 Importando arquivos no formato DBFs
Provavelmente você já esteve em contato com os arquivos do tipo
.dbf
. Eles são muito comuns na análise de dados da
vigilância em saúde, pois todos os bancos de dados como Sinan Net, Sinan
Online, Sivep Gripe, SIM ou SINASC exportam dados neste tipo de
arquivo.
Para aprender a importar um arquivo do tipo .dbf
iremos
utilizar o banco de dados {NINDINET.dbf
}, exportado do
sistema Sinan Net, Ficha de Notificação Individual
(FIN), do Estado de Rosas. Observe na Figura 12 como é o formato deste
banco de dados quando aberto em uma planilha no Microsoft Excel:
Figura 12: Banco de dados NINDINET.dbf
no Microsoft Excel.

Para que seja possível manipular esses dados do
{NINDINET.dbf
} no R
, utilizaremos a função
read.dbf()
, presente no pacote foreign
.
Acompanhe o passo a passo abaixo:
- Primeiro, certifique-se de que você possui o pacote
foreign
instalado noR
, e em seguida, faça o carregamento do pacote. Acompanhe o script abaixo e replique-o em seuRStudio
:
# Esta primeira linha verifica se o pacote está instalado.
# Caso não esteja, irá prosseguir com a instalação do pacote foreign
if(!require(foreign)) install.packages("foreign")
#> Carregando pacotes exigidos: foreign
# Carregue o pacote foreign no RStudio
library(foreign)
- Agora, você já possui o pacote
foreign
instalado e carregado. Vamos importar o arquivo de nome {NINDINET.dbf
} para o ambiente doR
, armazenando este banco de dados no objeto {dados_sinan
}. Lembre-se que para este curso, os dados do Estado de Rosas são fictícios.
Observe e replique os comandos do script abaixo em seu
RStudio
:
# Carregando arquivo NINDINET.dbf no objeto "dados_sinan"
# Utilizando o argumento "as.is = TRUE" para transformar os dados em caracteres
dados_sinan <- read.dbf(file = 'Dados/NINDINET.dbf', as.is = TRUE)
- Pronto, já instalamos, carregamos e armazenamos o banco de dados no
objeto {
dados_sinan
}. Agora, vamos visualizar as primeiras linhas deste banco de dados noR
utilizando a funçãohead()
, digite-a em seuRStudio
e acompanhe os outputs, conforme códigos abaixo:
# Com o comando 'head' visualize as primeiras linhas
# presentes na tabela de dados NINDINET.dbf
head(dados_sinan)
#> NU_NOTIFIC TP_NOT ID_AGRAVO CS_SUSPEIT IN_AIDS CS_MENING DT_NOTIFIC SEM_NOT
#> 1 7671320 2 A509 NA NA NA 2012-04-11 201215
#> 2 0855803 2 W64 NA NA NA 2010-09-17 201037
#> 3 8454645 2 X58 NA NA NA 2010-10-19 201042
#> 4 3282723 2 A90 NA NA NA 2008-04-14 200816
#> 5 9799526 2 B19 NA NA NA 2011-06-20 201125
#> 6 7275624 2 A90 NA NA NA 2008-02-12 200807
#> NU_ANO SG_UF_NOT ID_MUNICIP ID_REGIONA ID_UNIDADE DT_SIN_PRI SEM_PRI
#> 1 2012 61 610213 NA 256100 2012-04-05 201214
#> 2 2010 61 610213 NA 180142 2010-09-09 201036
#> 3 2010 61 610213 NA 559191 2010-10-19 201042
#> 4 2008 61 610213 NA 180142 2008-04-11 200815
#> 5 2011 61 610213 NA 480722 2011-04-02 201113
#> 6 2008 61 610213 NA 570404 2008-02-06 200806
#> DT_NASC NU_IDADE_N CS_SEXO CS_GESTANT CS_RACA CS_ESCOL_N SG_UF ID_MN_RESI
#> 1 2012-04-04 2001 M 6 4 10 33 610213
#> 2 1988-04-23 4022 M 6 1 <NA> 33 610213
#> 3 1971-03-25 4039 M 6 NA <NA> 33 610250
#> 4 1928-05-29 4079 F 9 4 02 33 610213
#> 5 2002-09-18 4008 M 6 4 01 33 610250
#> 6 1953-08-01 4054 F 9 9 09 33 610213
#> ID_RG_RESI ID_DISTRIT ID_BAIRRO ID_LOGRADO ID_GEO1 ID_GEO2 CS_ZONA ID_PAIS
#> 1 NA 05 020 NA NA NA 1 1
#> 2 NA 05 019 NA NA NA 1 1
#> 3 NA 05 020 NA NA NA NA 1
#> 4 NA 01 001 NA NA NA 1 1
#> 5 NA 01 001 NA NA NA 1 1
#> 6 NA 04 014 NA NA NA 1 1
#> NDUPLIC_N IN_VINCULA DT_INVEST ID_OCUPA_N CLASSI_FIN CRITERIO TPAUTOCTO
#> 1 NA NA <NA> <NA> NA NA NA
#> 2 NA NA <NA> <NA> NA NA NA
#> 3 NA NA 2010-10-19 <NA> NA NA NA
#> 4 NA NA 2008-04-14 <NA> 5 1 NA
#> 5 NA NA 2011-06-20 999991 1 NA NA
#> 6 NA NA <NA> <NA> 8 NA NA
#> COUFINF COPAISINF COMUNINF CODISINF CO_BAINFC NOBAIINF DOENCA_TRA EVOLUCAO
#> 1 NA 0 NA <NA> 0 <NA> NA 1
#> 2 NA 0 NA <NA> 0 <NA> NA NA
#> 3 NA 0 NA <NA> 0 <NA> NA NA
#> 4 NA 0 NA <NA> 0 <NA> NA NA
#> 5 NA 0 NA <NA> 0 <NA> NA NA
#> 6 NA 0 NA <NA> 0 <NA> NA NA
#> DT_OBITO DT_ENCERRA DT_DIGITA DT_TRANSUS DT_TRANSDM DT_TRANSSM DT_TRANSRM
#> 1 <NA> <NA> 2012-11-09 <NA> <NA> 2012-11-13 <NA>
#> 2 <NA> 2010-10-16 2010-11-17 <NA> <NA> 2010-11-23 <NA>
#> 3 <NA> 2010-10-19 2011-03-14 <NA> <NA> 2011-04-12 <NA>
#> 4 <NA> 2008-06-19 2008-04-24 <NA> <NA> 2010-11-16 <NA>
#> 5 <NA> 2011-06-20 2011-09-14 <NA> <NA> 2011-09-19 <NA>
#> 6 <NA> 2008-04-14 2008-02-26 <NA> <NA> 2010-11-16 <NA>
#> DT_TRANSRS DT_TRANSSE NU_LOTE_V NU_LOTE_H CS_FLXRET FLXRECEBI MIGRADO_W
#> 1 <NA> <NA> 2012049 NA 0 2 NA
#> 2 <NA> <NA> 2010047 NA 0 2 NA
#> 3 <NA> <NA> 2011015 NA 0 2 NA
#> 4 <NA> <NA> 2010044 NA 0 2 NA
#> 5 <NA> <NA> 2011038 NA 1 2 NA
#> 6 <NA> <NA> 2010043 NA 0 2 NA
#> CO_USUCAD CO_USUALT
#> 1 NA NA
#> 2 NA NA
#> 3 NA NA
#> 4 NA NA
#> 5 NA NA
#> 6 NA NA
Observe no output as linhas e colunas deste banco de dados!
Foi fácil, não é mesmo? Nesta etapa concluímos o carregamento da base de
dados {NINDINET.dbf
} no R
. Agora ela já poderá
ser utilizada nas análises do Estado de Rosas.

.dbf
transforma as variáveis de texto em fatores (falaremos
mais de fatores adiante no texto). Assim, necessitamos incluir o
argumento as.is = TRUE
na função read.dbf
para
transformar as variáveis do banco de dados em tipo
character
(texto).
2.3 Importando arquivos do Microsoft Excel
Comumente utilizamos na vigilância arquivos do Microsoft Excel para
manipular alguns bancos de dados que modificamos ou que até mesmo foram
criados pelas equipes de vigilância. Você também poderá analisá-los com
o R
com grande praticidade.
Para este exercício você irá importar o arquivo
{sivep_gripe.xlsx
} obtido por meio da exportação do banco
de dados do SIVEP Gripe (Sistema de Informação da Vigilância
Epidemiológica da Gripe). Esse sistema mantem o registro das
notificações de casos hospitalizados por Síndrome Respiratória Aguda
Grave (SRAG) e, neste exemplo, vamos utilizar dados fictícios do Estado
de Rosas. Veja na Figura 13, a estrutura do arquivo aberto em uma
planilha do Excel. É um arquivo que possui uma única planilha chamada
SIVEPGRIPE
.
Figura 13: Banco de dados {sivep_gripe.xlsx
}` no Microsoft Excel.

Para importar o arquivo {sivep_gripe.xlsx
} para
analisá-lo com R
, utilizaremos o pacote readxl
e a sua função read_excel()
. Vamos lá, como fizemos antes,
comece instalando e carregando o pacote readxl
. Acompanhe o
código abaixo e replique os comandos indicados em seu
RStudio
:
# Esta primeira linha verifica se o pacote está instalado.
# Caso não esteja, irá prosseguir com a instalação
if(!require(readxl)) install.packages("readxl")
#> Carregando pacotes exigidos: readxl
# Carregue o pacote no RStudio
library(readxl)
Com o pacote instalado e carregado, é hora de criar um objeto
{dados_sivep
} e atribuir a ele a função
read_excel()
. Mas atenção, necessitaremos incluir os
argumentos sheet
e skip
para arquivos neste
formato. Veja como fazer:
o argumento
skip
(pular
, em português) é importante para indicar a necessidade de iniciar a importação do arquivo a partir de determinada linha. Por exemplo, se você desejar ler os dados apenas a partir da quarta linha, utilizeskip = 3
.o argumento
sheet
é necessário quando queremos indicar para oR
qual planilha do arquivo queremos importar, ou seja, neste exemplo devemos definirsheet = 1
para escolher a primeira planilha. Você pode também substituir o número inteiro “1” pelo nome “SIVEPGRIPE” (Figura 11), escrevendo desta forma o argumento:sheet = "SIVEPGRIPE"
.
Acompanhe o script abaixo e replique estes códigos no seu
RStudio
:
# Importando banco de dados sivep_gripe.xlsx
dados_sivep <- read_excel("Dados/sivep_gripe.xlsx",
sheet = "SIVEPGRIPE",
skip = 0)
# Agora digite a função `head` para visualizando as primeiras linhas da tabela
head(dados_sivep)
#> # A tibble: 6 × 192
#> NU_NOTIFIC DT_NOTIFIC SEM_NOT DT_SIN…¹ SEM_PRI SG_UF…² ID_RE…³ CO_RE…⁴ ID_MU…⁵
#> <dbl> <chr> <chr> <chr> <chr> <dbl> <lgl> <lgl> <lgl>
#> 1 10039876 04/01/2021 01 03/01/2… 01 61 NA NA NA
#> 2 10042161 04/01/2021 01 03/01/2… 01 61 NA NA NA
#> 3 10043051 04/01/2021 01 03/01/2… 01 61 NA NA NA
#> 4 10045529 05/01/2021 01 03/01/2… 01 61 NA NA NA
#> 5 10046813 06/01/2021 01 03/01/2… 01 61 NA NA NA
#> 6 10047778 04/01/2021 01 04/01/2… 01 61 NA NA NA
#> # … with 183 more variables: CO_MUN_NOT <lgl>, ID_UNIDADE <chr>,
#> # CO_UNI_NOT <dbl>, NU_CPF <chr>, NM_PACIENT <chr>, CS_SEXO <chr>,
#> # DT_NASC <chr>, NU_IDADE_N <chr>, TP_IDADE <chr>, COD_IDADE <chr>,
#> # CS_GESTANT <chr>, CS_RACA <chr>, CS_ETINIA <lgl>, CS_ESCOL_N <chr>,
#> # NM_MAE_PAC <chr>, NU_CEP <chr>, ID_PAIS <chr>, CO_PAIS <chr>, SG_UF <lgl>,
#> # ID_RG_RESI <lgl>, CO_RG_RESI <chr>, ID_MN_RESI <chr>, CO_MUN_RES <lgl>,
#> # NM_BAIRRO <chr>, NM_LOGRADO <chr>, NU_NUMERO <chr>, NM_COMPLEM <lgl>, …

Por padrão a função read_excel()
sempre irá identificar,
ou seja, lerá a primeira planilha e sua tabela, a partir da primeira
linha não-vazia.
Portanto ao chamar a função sem incluir os argumentos
sheet
e skip
, o R
utilizará seu
padrão de configuração e lhe retornará como resultado a mesma
visualização que apresentamos na Figura 11.
2.4 Visualizando os arquivos importados para oR
Mas e se quisermos visualizar as tabelas que armazenamos nos objetos
{dados
}, {dados_sinan
} ou
{dados_sivep
}?
O R
permite que a consulta seja a qualquer momento, isto
porque ele armazena cada objeto salvo de uma forma intuitiva e rápida,
utilizando o painel Environment
(Figuras 14 e 15). Ele está
localizado, no canto direito superior do RStudio
!
O painel Environment possui duas formas de visualização. Em
destaque da Figura 14, perceba o botão marcado como Grid
,
ele te permitirá a visualização das tabelas armazenadas identificado os
objetos por nome, tipo, comprimento (no caso de banco de dados é número
de linhas), tamanho (em bytes) e uma breve sumário. Veja:
Figura 14: Tela de apresentação do painel Environment
no formato Grid
para consulta dos objetos criados.

Já na Figura 15, o modo de visualização é no formato lista
(List
), onde é possível visualizar as variáveis e o tipo de
cada um dos bancos de dados, bastando clicar no botão azul localizado na
frente de cada objeto. Veja:
Figura 15: Tela do painel Environment
no formato List
para consulta dos tipos de dados dos objetos criados.
