Seja bem-vindo(a) ao curso Introdução ao R. Esse curso, em especial, será uma introdução à análise de dados, utilizando linguagem de programação.
O objetivo dessa disciplina é introduzir a prática de análise de dados. Serão revistos conceitos básicos em estatística, além de tratamento e visualização de dados. Ao final do curso, você deverá estar apto operar softwares específicos para a produção estatística e representação, bem como a avaliar criticamente os indicadores produzidos por órgãos oficiais e colaborar na produção de indicadores.
Dados são atributos ou valores atribuídos a um conjunto de indivíduos. Há várias formas de se organizar dados, sendo mais comumente reunidos nos chamados bancos de dados. Logo, o banco de dados constitui uma forma de organização dos dados, segundo suas unidades de registro e atributos.
As unidades de registro ou unidades de análise são as unidades mínimas de organização, coleta ou registro dos dados. Se organizarmos os dados dos alunos matriculados neste curso, cada linha na nossa seria composta pelos alunos. Nesse sentido, surge a necessidade de identificá-los para conseguirmos diferenciá-los. Assim, utilizaremos um identificador comumente chamado de Id. Os códigos identificadores são valores únicos que diferenciam registros no banco de dados. Se nosso banco de dados é formado apenas por uma tabela, então cada aluno terá um identificador que não se repete entre os registros.
Existem alguns tipos de dados que veremos mais adiante. O mais importante é entender como funciona a estrutura de um banco de dados. Nesse curso, trataremos de um tipo específico de banco, chamado banco de dados relacional. Esse tipo de banco é constituído por tabelas que estão relacionadas a partir de códigos.
Vejamos um exemplo:
Imagine uma tabela - um conjunto de linhas/registros e colunas/atributos - com quatro registros e quatro atributos (identificador, Idade, cod_sex, cod_mun). Em geral, é desejável que exista documentação, explicando o que significa esses atributos, mas o exemplo é intuitivo. Cada coluna da tabela corresponde a um atributo. Em geral chamamos essas colunas de campos, que podem ser preenchidas por um código identificador, como já falamos, ou por valores diferentes, comumente chamados de variáveis. Os identificadores também podem ser chamados de chaves primárias. Já os códigos servem para buscar informações de outras tabelas, como veremos a seguir, e são chamadas de chaves estrangeiras.
Perceba que a tabela Pessoas
possui um atributo chamado
cod_sex que pode ser relacionado com outra tabela,
Sexo
que possui o mesmo código. As duas tabelas fazem parte
do mesmo banco de dados (fictício, pois é o nosso exemplo). O objetivo
de relacionar as duas tabelas é dar significado ao código numérico que
existe na tabela Pessoas
, descrevendo o que significa os
número 1 e 2. Essa informação está presente na tabela Sexo
e, a partir da conexão entre as duas tabelas, é possível visualizar uma
com o código e seus significados. Repare que cod_sex é a
chave primária da tabela Sexo
. Já na tabela
Pessoas
, o mesmo campo é chamado de chave
estrangeira.
Agora imaginemos que o objetivo seja dar significado para o campo
cod_mun. O banco de dados deve contar uma tabela que traduz
tais códigos. Assim, cod_mun deve ser uma chave
estrangeira da tabela Pessoas
e chave
primária de uma outra tabela (que chamaremos de tabela
municipio
). Todo campo ocupa espaço no servidor onde está
armazenado o banco de dados. repare que o código geralmente é menor que
o nome do município corespondente. Além disso, os códigos buscam uma
determinada ordem. No final, o relacionamento é feito para se visualizar
os dados, mas são armazenados como tabelas separadas e conectadas pelo
relacionamento entre chaves primárias e chaves
estrangeiras.
Quando trabalhamos com um cojunto de tabelas pequeno, talvez não faça
sentido manter a estrutura de banco de dados como um banco relacional.
Entretanto, se estamos trabalhando com um banco de milhares de
registros, o desempenho de um sistema pode depender dessa estrutura. É
possível visualizar a tabela Pessoas
a partir do
relacionamento simultâneo com as tabelas municipio
e
Sexo
. Veja que a tabela abaixo pode ser criada
temporariamente para ser visualizada pelo usuário, mas mantida como três
tabelas distintas para armazenamento. Quando trabalhamos com um
Sistema Gerenciador de Banco de Dados, ou
SGBD, esse pode ser o caso.
Como podemos perceber, os campos podem ser preenchidos por códigos identificadores ou por atributos que qualificam cada registro. Esses valores qualificadores são chamados de variáveis e podem ser classificados em algums tipos elementares.
As variáveis podem ser classificadas como qualitativas e quantitativas. As variáveis qualitativas, também conhecidas como categóricas, são aquelas que atribuem aos registros do banco de dados alguma qualidade, sem atribuir relação de quantidade. O município de residência, ou o conceito em um semestre letivo (de A até E) são exemplos de variáveis qualitativas. Tais variáveis podem ser divididas entre qualitativas nominais (Por exemplo, município de residência ou sexo), que não possuem relações de ordem, e variáveis qualitativas ordinais, que possuem relação de ordem. Um exemplo destas últimas são escalas de avaliação (Muito Bom, Bom, Ruim ou Péssimo) ou mesmo os conceitos semestrais (Conceitos A e B). Vejam que, apesar de possuirem ordem, as variáveis qualitativas ordinais não conseguem quantificar a relação entre cada categoria. Por exemplo, é possível dizer que o a avaliação “Muito Bom” é maior que “Bom”, mas não dizer quantas vezes o primeiro é maior que o segundo.
Fonte: Adaptado de Magalhães e Lima, 2007
As variáveis quantitativas são aqueles em que se é possível atribuir um valor númerico. Dependendo da particularidade da variável, ou mesmo da organização do banco de dados, as variáveis podem ser classificadas em quantitativas discretas ou quantitativas contínuas. Chamamos de quantitativas discretas aquelas que, em sua escala de valor, não possuem valores contínuos entre um valor e outro. Se existir uma variável chamadas idade em anos completos, por exemplo, não existe valores entre as idades 10 e 11 anos completos. A quantidade de alunos por sala também é uma variável quantitativa discreta, pois não existem turmas com, por exemplo, 15,7 alunos.
Da mesma forma, as variáveis quantitativas contínuas possuem infinitos valores possíveis entre quaisquer dois valores no banco de dados. A temperatura é um exemplo clássico. A idade também pode ser uma variável contínua, se os anos forem desagregados em meses, dias e horas. No sentido inverso, é possível discretizar variáveis, por exemplo, criando faixas de idade ou faixas de renda.
Existe ainda uma outra forma de classificar as variáveis quantitativas, como em variáveis de razão e escalares. As variáveis quantitativas de razão permitem que se identifique a relação entre valores de registros diferentes. Por exemplo, sabe-se que uma turma de 50 alunos é duas vezes maior que uma turma de 25 alunos (50/25 = 2). A variável temperatura, por outro lado, é uma variável quantitativa escalar, pois não podemos dizer que 20º é o dobro de 10º, considerando que esses valores tem significados diferentes em graus Kelvin, Celcius e Fahrenheit.
O uso cada vez mais intensivo de grande quantidade de dados tem exigido grande capacidade computacional, seja de processamento, seja de modelagem desses dados. Nesse sentido, existem softwares que possuem em sua programação os modelos estatísticos mais frequentemnete utilizados ou que atualmente estão sendo aperfeiçoados. Em linhas gerais, é dificil separar o que é a evolução da estatística da sua contraparte computacional.
Existem vários softwares que trabalham com tratamento de dados (e.g. SPSS, SAS, ArcGIS, QGIS etc.), sendo alguns deles gratuitos e outros não. Dentre os softwares gratuitos, ainda existem aqueles que são chamados de softwares livres, distribuídos gratuitamente e com código aberto (podemos alterá-lo e publicar as alterações para a comunidade de usuários).
Nesse curso, usaremos um famoso software de estatística computacional, o ambiente R ( ou somente R, como é comumente chamado). O R nasceu a partir de duas outras linguagem, a saber, o S (utilizado no software S-Plus) e o Scheme. Hoje, o R mantido pelo chamado R Core Team e possui uma comunidade internacional de desenvolvimento. Como trata-se de uma linguagem de programação, o R é aberto ao desenvolvimento de modelos computacionais e estatísticos (os chamados pacotes) que tornam-se disponíveis para toda a comunidade de usuários. Hoje já existem pacotes no R capazes de produzir aplicações computacionais, vários modelos estatísticos, visualizadores de mapas, dashboards, além de ser possível conjugar com outras linguagens (Javascript, SQL, html etc).
Para instalar o R, busque o instalador de seu sistema operacional no endereço https://www.r-project.org/.
Encontre a página para download do executável de instalação ou acesse https://cran.r-project.org/bin/windows/base/.
Escolha o idioma. O R está disponível em português brasileiro.
Para prosseguir, aceite os termos de licença.
Você pode escolher a o local de instalação. Recomendo deixar o padrão escolhido pelo software
O R possui alguns componentes de instalação. Permaneça com todos.
Assim como vários softwares, você pode personalizar a instalação. Sugiro seguir o padrão.
Aceite o padrão de pasta do menu iniciar. Será mais facil encontrar o atalho.
Aqui é possível alterar algumas opções, como presença de atalhos e registro. Sugero manter o padrão.
Conclua a instalação e seja feliz com o seu R!
Essa é a tela inicial do software. O R é pouco amigável, sem muitas ferramentas gráficas. É possível abrir uma janela de scripts ou digitar diretamente no console.
Você pode, por exemplo, executar algum comando, utilizando o R como calculadora.
2+2
## [1] 4
Como o R trabalha com objetos, podemos atribuir
valores a qualquer objeto que criarmos, utilizando o sinal menor ou
maior, seguido de um hífen (<-
ou
->
).
x<-27
42->y
Veja que os sinais simulam setas. Podemos também utilizar o sinal de
=
e teríamos o mesmo resultado, apesar de ser menos
usual.
z=100
Ao fazer isso, podemos fazer operações matemáticas, depois da criação dos objetos.
z-y
## [1] 58
y+x
## [1] 69
Podemos, também, criar outros tipos de objetos, como vetores,
utilizando a função c()
.
h<-c(x,y,z) # chamaremos o vetor (conjunto de valores em linha) de h.
h
## [1] 27 42 100
Observe que se digitarmos apenas o nome do objeto (no caso h), o
valor aparece. Outro ponto interessante é o uso de #
que
permite que, na mesma linha, tudo o que vier depois seja ignorado pelo
software. O símbolo ##
que aparece acima é apenas uma
anotação para diferenciar a linha de resultado da linha de digitação no
console.
Muitas linguagens de programação contam com um ambiente de desenvolvimento integrado, também conhecidos como IDE (sigla de integrated development environment). O mais conhecido e eficiente IDE para R chama-se RStudio.
Abaixo segue uma tela do RStudio. A primeira vantagens é a diferenciação de letras, números e comentários por cor, o que facilita a escrita da programação. Outro ponto são as janelas, que por padrão aparecem na seguinte ordem: superior esquerdo é o espaço dos scripts (programação escrita pelo usuário); superior direito há janelas com os objetos criados, histórico de execução, conexões e tutorial; inferior esquerdo há a janela de console, onde a execução é apresentada, além de outras janelas de execução auxiliares; por fim, o inferior direito, onde há as janelas de ajuda, visualização prévia de gráficos, ajuda e outras funções.
Ao longo do curso, trabalharemos com a IDE RStudio. Nas próximas aulas, iniciaremos nossos estudos com o R, suas funções básicas e pacotes. Em seguida, trabalharemos com pacotes específicos, incluindo pacotes gráficos.
Seja bem-vindo ao curso!
MAGALHÃES, Marcos Nascimento; LIMA, Antônio Carlos Pedroso. Noções de probabilidade e estatística. Editora da Universidade de São Paulo, 2007.
MELLO, M.P.; PETERNELLI, L.A. Conhecendo o R. Uma visão mais que Estatística.Editora UFV, 2013.
RIPLEY, Brian D. et al. The R project in statistical computing. MSOR Connections. The newsletter of the LTSN Maths, Stats & OR Network, v. 1, n. 1, p. 23-25, 2001.
TRIOLA, Mario F. Introdução à estatística. In: Introdução à estatística. 2008. p. xxvi, 310-xxvi, 310.