18
Capacitação em R e RStudio - 2015 Curso Básico Página 1 UFFS – Universidade Federal da Fronteira Sul Campus Cerro Largo PROJETO DE EXTENSÃO Software R: capacitação em análise estatística de dados utilizando um software livre Fonte: https://www.r-project.org/ Blog do projeto: https://softwarelivrer.wordpress.com/equipe/ Equipe: Coordenadora: Profe. Iara Endruweit Battisti ([email protected]) Colaboradores: Profa. Denize Reis Prof. Erikson Kaszubowski Prof. Reneo Prediger Profa. Tatiane Chassot Bolsista: Jéssica Aguiar – aluna de Engenharia Ambiental ([email protected]) Objetivo Geral: O objetivo principal do projeto é atender alunos, bolsistas, comunidade interna e externa através de cursos de capacitação na análise de dados primários ou secundários utilizando um software livre de análise estatística, especificamente o software R. Ainda, objetiva-se a troca de experiências vinculando dados provindos de diferentes pesquisas dos participantes.

PROJETO DE EXTENSÃO - softwarelivrer.files.wordpress.com · Capacitação em R e RStudio - 2015 ... 5.3 Noções de regressão multivariada: covariáveis categoriais, covariáveis

Embed Size (px)

Citation preview

Capacitação em R e RStudio - 2015

Curso Básico Página 1

UFFS – Universidade Federal da Fronteira Sul

Campus Cerro Largo

PROJETO DE EXTENSÃO

Software R: capacitação em análise estatística de

dados utilizando um software livre

Fonte: https://www.r-project.org/

Blog do projeto:

https://softwarelivrer.wordpress.com/equipe/

Equipe:

Coordenadora: Profe. Iara Endruweit Battisti

([email protected])

Colaboradores: Profa. Denize Reis

Prof. Erikson Kaszubowski

Prof. Reneo Prediger

Profa. Tatiane Chassot

Bolsista: Jéssica Aguiar – aluna de Engenharia Ambiental

([email protected])

Objetivo Geral:

O objetivo principal do projeto é atender alunos, bolsistas, comunidade interna e

externa através de cursos de capacitação na análise de dados primários ou secundários

utilizando um software livre de análise estatística, especificamente o software R.

Ainda, objetiva-se a troca de experiências vinculando dados provindos de diferentes

pesquisas dos participantes.

Capacitação em R e RStudio - 2015

Curso Básico Página 2

Material didático:

- formato digital

Avaliação:

Se dará de três formas:

- participação de forma quantitativa: presença nos encontros;

- participação de forma qualitativa: participação efetiva nas atividades dos encontros;

- avaliação do curso, do projeto e auto-avaliação.

Certificação:

Certificação para participantes dos cursos executados no projeto, contabilizando 40h

para aqueles que participarem de no mínimo 75% das atividades de cada curso.

Público:

Com conhecimento de Estatística Básica.

Encontros:

12/08/15

19/08/15

16/09/15

23/09/15

07/10/15

Capacitação em R e RStudio - 2015

Curso Básico Página 3

Tópicos - Curso Básico:

MÓDULO 1 – INTRODUÇÃO AO RSTUDIO

1.1 Download e instalação do R e RStudio

1.2 Interface do RStudio: comando de linha, edição de scripts, variáveis e histórico,

gráfico e ajuda

1.3 Importando dados pelo comando de linha e pela interface gráfica

1.4 Instalação de pacotes da CRAN pelo comando de linha e interface gráfica

1.5 Uso básico do comando de linha: criação e inspeção de objetos no R

1.6 Comandos para visualização de dados brutos; uso da interface para

visualização dos dados brutos

1.7 Operações simples no comando de linha

1.8 Acesso a vetores e elementos em matrizes de dados

1.9 Operações com vetores e matrizes

1.10 Reformatar dados

1.11 Filtrar casos e variáveis

1.12 Combinar variáveis

1.13 Agrupar variáveis

1.14 Combinar conjuntos de dados diferentes

MÓDULO 2 – ESTATÍSTICA DESCRITIVA

2.1 Tabelas univariadas e bivariadas

2.2 Gráficos univariados e bivariados

2.3 Medidas de posição

2.4 Medidas de dispersão

2.5 Medidas separatrizes

MÓDULO 3 – INFERÊNCIA ESTATÍSTICA

3.1 Intervalo de confiança

3.2 Teste t para comparação entre duas médias

3.2 Teste Z para comparação entre duas proporções

MÓDULO 4 – TESTE QUI-QUADRADO

4.1 Para uma variável (aderência)

4.2 Para duas variáveis (associação)

4.3 Medidas de magnitude

Capacitação em R e RStudio - 2015

Curso Básico Página 4

MÓDULO 5 – MODELOS DE REGRESSÃO

5.1 Correlação entre duas variáveis

5.2 Regressão simples e relação com coeficiente de correlação

5.3 Noções de regressão multivariada: covariáveis categoriais, covariáveis

contínuas e interações

5.4 Noções de ANOVA e ANCOVA

5.5 Noções de análises diagnósticas: resíduos, pontos influentes

Paralelamente, objetiva-se a troca de experiências vinculando dados provindos de

diferentes pesquisas dos participantes.

Link para download do software R e RStudio:

www.r-project.org versão 3.2.1

www.rstudio.com/products/rstudio/download versão 0.99.467

Link para o laboratório OpenIntro

www.openintro.org

Exercícios:

Link para o banco de dados disponibilizado pela profa Monize Visentini

Link para o questionário referente ao banco de dados disponibilizado pela profa

Monize Visentini

Capacitação em R e RStudio - 2015

Curso Básico Página 5

MÓDULO 1 – INTRODUÇÃO AO RSTUDIO

Instalação do R e RStudio através dos arquivos executáveis

R-3.2.1-win.exe

RStudio-0.99.467.exe

R é o software

Rstudio é uma interface amigável para o R

Acessar OpenIntro através do link

Capacitação em R e RStudio - 2015

Curso Básico Página 6

Clicar em

O menu abaixo será apresentado

Clicar em

Então um arquivo PDF será apresentado.

Seguiremos esse arquivo PDF para fazermos a introdução ao R e RStudio

os2_lab_00A_port.pdf

Capacitação em R e RStudio - 2015

Curso Básico Página 7

Conhecendo cada painel (janela) do RStudio:

PAINEIS DO RSTUDIO

Digitando um comando na linha de comando (painel console)

Na linha de comando tem “>” aguardando um comando.

Digitando um comando, logo abre uma janela com opções para esse comando, por

exemplo:

- para o comando summary:

Capacitação em R e RStudio - 2015

Curso Básico Página 8

E logo depois aparece uma outra janela (amarela) com informações sobre a função,

como o que ela faz, quais seus argumentos, etc.

Se a janela de sugestões não aparecer, basta aperta CTRL+Espaço.

Para limpar o console: CTRL+L ou menu Edit e clicar em ‘clear console’.

Criando um Script (painel de script)

Clicar no ícone com um + no canto esquerdo da barra de ferramentas ou ir em 'File -> New File -> R Script'

Uma nova janela acima da janela do console será aberta.

Podemos executar diretamente pela interface gráfica, sem precisar carregá-lo no comando de linha. Por exemplo, se dermos dois comandos simples no script:

amostra = rnorm(10, 5, 3)

mediaAmostral = mean(amostra)

Após clicar no botão 'Source' no canto superior direito da janela do script, então todos

os comandos serão executados.

OBS1: Podemos ver no painel direito superior: as variáveis 'amostra' e 'mediaAmostral'

com seus valores.

Painel direito superior

No painel direito superior, a aba 'Environment' tem alguns elementos interessantes. Por exemplo:

- o ícone do disquete permite salvar as variáveis do espaço de trabalho;

- e a pastinha permite carregá-la.

O ícone 'Import dataset' permite importar dados em fomato texto (csv, por exemplo).

A vassoura limpa o espaço de trabalho.

Na aba ‘History' aparece uma lista dos comandos já digitados.

Capacitação em R e RStudio - 2015

Curso Básico Página 9

Também, podemos fazer uma busca no histórico. Digitando o comando (palavra) de interesse na caixinha de texto com uma lupa. Se digitarem algo ali, o RStudio vai automaticamente encontrar comandos que tenham as letras digitadas. É uma boa maneira de recuperar um comando utilizado no comando de linha para passar para um script (utilizando o ícone “to source”) para lembrar qual comando foi utilizado para gerar um gráfico.

Painel direito inferior

A aba 'Files' serve para navegar os dados do computador. Se clicar num arquivo compatível com o RStudio, ele abre imediatamente.

Na aba ‘Plots’ são mostrados os gráficos. Por exemplo, se digitarmos um comando para gerar um histograma no comando de linha: hist(rnorm(50, 10, 5), border='white', col='skyblue', main='Histograma'). Então, o RStudio irá gerar o gráfico.

OBS: É possível salvar o gráfico na aba ‘Export’.

Na janela 'Plots' tem duas flechas que servem para navegar o histórico de gráficos.

Por exemplo: Digitar os seguintes comandos no arquivo de script e depois cliquem em 'Source':

X <- rnorm(50, 10, 5)

Y <- 10 + 5*X + rnorm(50, 0, 10)

plot(X, Y, pch=19, col='skyblue')

Então é gerado um gráfico de dispersão simplinho.

Assim, não é necessário salvar um gráfico imediatamente. É possível ir e voltar entre os gráficos criados durante uma sessão. O botão 'Zoom' abre o gráfico numa nova janela, um pouco maior.

O botão com um 'X' serve para apagar o gráfico atual e a vassoura limpa todo o histórico de gráficos.

A aba 'Packages', facilita carregar e instalar novos pacotes para o R.

Capacitação em R e RStudio - 2015

Curso Básico Página 10

Help

O help é acessado clicando no nome de um pacote ou usando o comando 'help()' ou buscando direto dentro da aba 'Help'.

Por exemplo, se digitarmos:

help(plot)

O RStudio abrirá a aba help com o arquivo de ajuda do comando 'plot'.

ABRIR ARQUIVO DE DADOS

Vamos utilizar como exemplo o banco de dados do link:

http://www.stat.columbia.edu/~gelman/bda.course/nycData.csv

Ler os dados pela linha de comando:

dados <- read.csv('http://www.stat.columbia.edu/~gelman/bda.course/nycData.csv', sep=',', header = T)

Ou

Ler os dados no ‘Environment’ pelo 'Import Dataset... From URL', conforme abaixo:

Para entender o comando:

- read.csv é porque o tipo de arquivo é csv (arquivo texto separado por vírgula);

Capacitação em R e RStudio - 2015

Curso Básico Página 11

- sep=',' é para identificar o caracter separator;

- 'header' é para identificar a primeira linha como nome de variável.

OBS: O 'Open file' abre o arquivo para edição, mas não carrega os dados na memória como banco de dados.

SALVAR ARQUIVO DE DADOS

O banco de dados que o R armazena na memória pode ser salvo, junto com todo o ambiente, usando o ícone de disquete na aba 'Environment' (salva como arquivo .RData), e depois carregado pelo ícone de pasta (Abrir dados...) na mesma aba.

Ou

Outra opção com mesmo efeito é utilizar o comando save('nomeDoObjeto', file='nomeDoArquivo.RData') (o nome do objeto pode ser uma lista de objetos para salvar mais de um objeto do ambiente, 'list=('objeto1', 'objeto2')'. Para carregar um arquivo RData no ambiente, o comando é load('arquivo.RData'), desde que o arquivo esteja no diretório de trabalho do R.

Ou

Outra opção é salvar só o objeto que contém o banco de dados como arquivo.csv, com o write.csv('nomeDoObjeto', file='nomeDoArquivo.RData'). O objeto, porém, precisa ser uma matriz ou data frame, ou pelo menos ser convertível para esse tipo de objeto.

OBJETOS

Atribuição: 'x = y' é equivalente a 'x <- y'.

Assim, uma variável com nome 'x' é criada e dada a ela o valor da variável 'y''.

Por exemplo, podemos criar uma variável 'dados' usando o comando 'read.csv':

dados <- read.csv('http://www.stat.columbia.edu/~gelman/bda.course/nycData.csv', sep=',', header = T)

Capacitação em R e RStudio - 2015

Curso Básico Página 12

MATRIZ

Para acessar a coluna cujo nome é 'borough' podemos usar o comando dados$borough.

Caso não sabemos o nome das variáveis, podemos usar o comando: names(dados) ou colnames(dados).

Para alterar o nome de uma variável podemos usar comando 'colnames' e a notação para seleção de elemento de vetor: colnames(dados)[8] = 'distrito'

Então, com o nomes das variáveis, podemos acessá-las diretamente usando o $, como por exemplo: dados$distrito.

Ou então podemos usar a notação de matriz do R: dados[8] ou dados[,8]

O interessante da matriz é que podemos selecionar várias variáveis ao mesmo tempo. Por exemplo: dados[,7:8]

Para entender o comando:

- o nome da variável que armazena o banco de dados

- abre colchetes para indicar que queremos 'recortar' a matriz de dados

- depois do colchete, um número indicando que linha queremos recortar. Se não colocamos nenhum número, o R entende que é para todas as linhas

- depois, vírgula

- depois da vírgula, a coluna que desejamos recortar. Novamente, se deixamos em branco, o R entende que são todas as colunas

Se pedimos uma sequência, usando dois-pontos, o R vai pegar todas as colunas naquele intervalo (7-8, nesse caso)

Também, podemos excluir observações ou variáveis, usando números negativos. Por exemplo, se queremos todas as variáveis, menos as duas últimas, basta acrescentar um '-': dados[,-(7:8)]

Capacitação em R e RStudio - 2015

Curso Básico Página 13

LINHA DE COMANDO

Porém não precisamos acessar as variáveis usando $ ou [,]. Podemos usar o comando attach(dados) para acessar os dados e variáveis.

Depois, na aba Environmet (canto superior direito do RStudio) clica no botão 'Global environment' e seleciona o nome 'dados' que é o espaço dessa variável. Assim, aparecerá a lista de variáveis que foram anexadas ao espaço de trabalho a partir do banco 'dados'.

Resultado:

O comando ‘summary’ resume os dados da variável aleatória, se for qualitativa mostra a frequência absoluta das categorias e se for quantitativa apresenta medidas descritivas. Por exemplo:

- para borough, que é uma variável aleatória qualitativa:

bronx brooklyn manhattan queens staten 25 36 39 64 12

- para pop.total, que é uma variável aleatória quantitativa:

Min. 1st Qu. Median Mean 3rd Qu. Max. 513 25780 40730 45810 64100 106200

Capacitação em R e RStudio - 2015

Curso Básico Página 14

O comando 'tapply' agrega os dados por nível da variável qualitativa. Por exemplo, para saber a população total de cada distrito:

- tapply(pop.total, borough, sum)

bronx brooklyn manhattan queens staten 1327690 2416416 1523160 2350769 443728

Se queremos saber a população média de cada distrito:

- tapply(median.household.income, distrito, mean)

Mas como um regsitro possui NA:

- tapply(median.household.income, distrito, mean, na.rm=T)

OBS: Quando usamos o parâmetro na.rm=T, indicamos para o comando ignorar os NAs nos dados e calcular a média assim mesmo.

bronx brooklyn manhattan queens staten 29851.44 33296.39 51452.92 46913.32 53403.58

O comando subset() é usado para trabalhar com um subconjunto de dados. Por exemplo: só com dados do Bronx:

- dadosBronx <- subset(dados, borough=='bronx')

Assim, foi criado um novo objeto que contém só os dados do Bronx. É possível combinar vários critérios para criar os subgrupos.

Por exemplo, para criar um subgrupo com os dados de todos os distritos MENOS o Bronx e com população branca acima de 50%:

- novoSub <- subset(nycData, distrito != 'bronx' & (pop.white/pop.total)>0.5)

Operadores booleanos:

==, !=, >, etc

Capacitação em R e RStudio - 2015

Curso Básico Página 15

Gráficos:

Vamos elaborar um histograma do número de habitantes por região de CEP em NY:

- hist(nycData$pop.total)

Resultado:

Podemos definir o número de intervalos (colunas) do histograma:

- hist(nycData$pop.total, breaks = 5)

Por padrão, o R coloca os nomes dos eixos em inglês. Para alterar os nomes dos eixos:

hist(nycData$pop.total, breaks = 5, ylab='Frequência', xlab='População', main='Histograma da População por CEP')

Capacitação em R e RStudio - 2015

Curso Básico Página 16

Entendendo o comando:

-'breaks' controla o número de colunas do histograma;

- 'ylab' define o nome do eixo y;

- 'xlab', define o nome do eixo x;

- 'main' define o título do histograma.

OBS: Esses parâmetros servem para os outros comandos gráficos.

O parâmetro 'col' controla a cor e 'border' controla a cor da borda das colunas do histograma, sendo definido por número ou por nome, em inglês. Por exemplo:

- hist(nycData$pop.total, breaks = 5, ylab='Frequência', xlab='População', main='Histograma da População por CEP', col='skyblue', border='white')

Capacitação em R e RStudio - 2015

Curso Básico Página 17

Podemos ter interesse em sobrepor uma curva sobre o histograma. Por exemplo, para comparar com uma distribuição teórica esperada:

hist(nycData$pop.total, breaks = 5, ylab='Prob.', xlab='População', main='Histograma da População por CEP', col='#aabbcc', border='white', prob=T)

Inserir a curva normal no histograma:

curve(dnorm(x, mean(nycData$pop.total, na.rm=T), sd(nycData$pop.total, na.rm=T)), add=T)

Entendendo o comando:

- 'dnorm' especifica a densidade de probabilidade da curva teórica que queremos plotar;

- dentro do 'dnorm': 'x' é uma referência ao valores do eixo x; mean(...) computa a média amostral para usar como parâmetro do dnorm e sd(...) computa o desvio padrão amostral, também para servir de parâmetro para dnorm;

- a opção 'na.rm' nesses comando serve para não dar erro caso tenha missings;

- 'add=T' força a curva a ser adicionada no gráfico ativo.

Capacitação em R e RStudio - 2015

Curso Básico Página 18