200
Curso introdutório sobre o Software R Adelmo Inácio Bertolde [email protected] Departamento de Estatística UFES

Curso introdutório sobre o Software R · Programação do curso: R como copiar e instalar o programa o R via comandos: operações básicas, importando dados, ... de comandos no

Embed Size (px)

Citation preview

Curso introdutório sobre o Software R

Adelmo Inácio Bertolde

[email protected]

Departamento de Estatística

UFES

Data:06/09/2014

Turnos: Manhã e tarde Número de Vagas: 20

EMENTA: Serão apresentadas as principais funções do programa R, como copiar e instalar pacotes, funcionamento de comandos e operações básicas, importação e exportação de dados, cálculos de medidas estatísticas de resumo e de dispersão (média, mediana, moda, variância e desvio padrão), construção de gráficos (histograma, boxplot, de colunas e de setores), bem como algumas ferramentas de Inferência Estatística tais como, construção do Teste T, do Teste Qui-quadrado, ANOVA e Regressão Logística com cálculo de OR. Será também apresentado o uso da opção R Commander, que simplifica a operação do R por parte do usuário.

Programação do curso: O Programa R como copiar e instalar o programa o R via comandos: operações básicas, importando dados, uso de pacotes . Manuseio de dados estatísticas descritivas e gráficos Uso do R no formato iterativo Uso do R Comando em Inferência Estatística teste T, teste qui-quadrado, regressão Logística, ANOVA, regressão Logística com OR Atividades

• O R é um ambiente integrado de funções que permitem manipular dados, executar cálculos e construir e visualizar gráficos

• É visto como um programa flexível, pois, permite manipular dados e funções internas

O Programa R

• Página oficial do projeto R: http://www.r-project.org

• Há “espelhos” (mirrors) brasileiros da área de downloads do programa chamada de CRAN (Compreensive R Arquive Network):http://cran.br.r-project.org

O Programa R

R: um pouco de história

Escrito por Ross Ihaka and Robert Gentleman no início dos anos 90.

R: um pouco de história

• Em 1997 criou-se o R Core Team

• R Foundation: criada em 2003 - organização sem fins lucrativos de interesse público

• R é um um projeto incomum:não tem um líder!

O Programa R

• Além disso...

• É de código aberto

• É gratuito

• É, também, um ambiente de programação

•R

Transferência de

conhecimento!

Arquivo em formato

executável

Instalando o programa R

Como instalar o programa R

• Acessar o site do projeto R:

http://www.r-project.org

R está pronto para receber algum comando

Alguns manuais sobre o R • www.leg.ufpr.br/~paulojus/embrapa/Rembrapa

• O "An introduction to R" (site CRAN)

• Gráficos Estadísticos con R (site CRAN)

Alguns manuais sobre o R

• http://www.leg.ufrj.br/~paulojus/embrapa/Rembrapa/

• O "An introduction to R" (site CRAN)

• Gráficos Estadísticos con R (site CRAN)

Vários textos, em vários idiomas

Vários textos em português

Funcionamento do R - PACOTES

• O R faz uso de “pacotes”

• Os “pacotes” contém as funções, dados e manuais

• Para funcionar um pacote deve estar:

1) Instalado e

2) Carregado

Funcionamento do R - PACOTES

Obs.: daqui em diante exemplos de comandos no R estarão em

letras vermelhas

Funcionamento do R - PACOTES

• Os principais “pacotes” são instalados juntos com a execução do R

• Para obter informação sobre um pacote:

>library(help="nomedopacote")

• O usuário pode ver os “pacotes” instalados digitando

>library()

• Os pacotes já disponíveis devem ser ativados para se fazer uso:

>library(“nome do pacote”)

• Pacotes não disponíveis??????

Funcionamento do R - PACOTES • Pacotes já instalados ao executar o R:

• base: funções essenciais;

• stats: estatística paramétrica e não-paramétrica;

• graphics: histogramas, boxplots, diagramas de dispersão;

• utils: pedir ajuda, instalar pacotes e importar dados;

• datasets: bancos de dados de exemplo;

• grDevices: visualizar tela e exportar gráficos; e

• methods: ver classe e fazer coerção de objetos.

Funcionamento do R - PACOTES

• Pacotes NÂO instalados ao executar o R:

Exemplos:

• epibasix: Funções epidemiológicas elementares para introdução à epidemiologia/bioestatística;

• epiR: Funções para analisar dados epidemiológicos;

• epicalc: Calculadora epidemiológica.

• Rcmdr: torna “amigável” o uso do R.

Funcionamento do R - PACOTES • Após instalados, os pacotes devem ser carregados:

• O R carrega na instalação apenas alguns dos pacotes

>(.packages())

[1] "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"

• Para carregar um pacote já instalado:

>require(nome do pacote)

• Os pacotes não instalados dever ser acessados no link do Programa R

Instalar pacote(s)

Funcionamento do R

• O usuário também pode criar as suas próprias funções ou programas

• O R usa “.” e não “,” para decimais

• “#” o R lê como um comentário

• “+” após comando significa comando incompleto

Lista de pacotes a instalar

Como instalar o programa R

• Acessar o site do projeto R:

http://www.r-project.org

Após instalar deve-se

carregar o pacote

Como instalar o programa R

• Acessar o site do projeto R:

http://www.r-project.org

Basta escolher um dos pacotes

já instalados que o R irá carregar

Para ver lista de pacotes do R

Clicar em Packages

Para ver informações, basta clicar no pacote desejado

Pacote epiR

Funcionamento do R - PACOTES

• Pode-se instalar o pacote a partir .ZIP locais.

• Alguns pacotes dependem de outros.

Funcionamento do R - PACOTES

• Para ver a lista arquivos de dados do pacote datasets:

>data()

Acesso aos dados do R

• Para acessar um arquivo de dados disponível num pacote já carregado:

>data(nomedopacote)

• Para ver a lista arquivos de dados do pacote datasets:

>data()

• Exemplo de acessar dados no pacote “datasets” (já carregado):

>data(women)

• Buscar informação sobre um conjunto de dados:

>help(nomedoarquivo)

>help(women)

Funcionamento do R - PACOTES

• Visualizando os dados do conjunto, digitar:

women

Funcionamento do R - PACOTES

• Visualizando os dados:(em libras, onde 1lb=0.45g)

>women

Funcionamento do R - PACOTES

• Exemplo de acessar dados no pacote datasets (já carregado):

data(women)

• Visualizando os dados do conjunto, digitar:

women

Funcionamento do R - PACOTES

• Para editar os dados

>edit(women)

Funcionamento do R - PACOTES

• Para editar os dados

edit(women)

Funcionamento do R - PACOTES

58

Observações importantes

• O usuário também pode criar as suas próprias funções ou programas

• O R usa “.” e não “,” para decimais

• “#” o R lê como um comentário

• “+” após comando significa comando incompleto

R como calculadora

• >1+1

[1] 2

• >2*3

[1] 6

• >1/5

[1] 0.2

• >sqrt(16)

[1] 4

Funcionamento do R

• É recomendável criar um diretório de trabalho:

>dir.create('C:/Users/Adelmo/Desktop/CursoR')

• Visualizando o diretório criado

>getwd()

[1] "C:/Users/Adelmo/Desktop/CursoR"

Funcionamento do R

• > summary(women)

height weight

Min. :58.0 Min. :115.0

1st Qu. :61.5 1st Qu. :124.5

Median :65.0 Median :135.0

Mean :65.0 Mean :136.7

3rd Qu. :68.5 3rd Qu. :148.0

Max. :72.0 Max. :164.0

Estatística Descritiva: comandos • table() Cruzamento de variáveis

• mean() Média aritmética

• median() Mediana

• sum() Soma

• summary() Sumarização de dados

• var() Variância

• sd() Desvio padrão

• quantile() Quartis

• IQR() Amplitude inter-quartil

• cor() Coeficiente de correlação

Funcionamento do R • É útil um editor para criar as suas funções. Exemplo:Tome o

conjunto de “women” height weight

1 58 115

2 59 117

3 60 120

4 61 123

5 62 126

6 63 129

7 64 132

8 65 135

9 66 139

10 67 142

11 68 146

12 69 150

13 70 154

14 71 159

15 72 164

Executando sequência de ações

• Deseja-se obter algumas medidas descritivas do conjunto “women”, construindo histograma para cada variável e relacionando idade e peso num gráfico de dispersão

Construindo uma simples rotina

• Uma simples rotina de procedimentos:

• >summary(women)

>par(mfrow = c(1, 3))

hist(women[,1],nclass=10)

hist(women[,2],nclass=10)

plot(women[,1],women[,2])

• É indicado criar um “script”. Como fazer?

Funcionamento do R

Funcionamento do R

• Uma simples rotina de procedimentos:

summary(women)

par(mfrow = c(1, 3))

hist(women[,1],nclass=10)

hist(women[,2],nclass=10)

plot(women[,1],women[,2])

Outra sequência de ações

• Deseja-se construir histograma e boxplot para cada variável

Funcionamento do R

• Criar diretório

• Como salvar resultados

• Como importar e exportar dados

Use “Ctrl a” e

“Ctrl r”

Funcionamento do R

• Criar diretório

• Como salvar resultados

• Como importar e exportar dados

Funcionamento do R

• Criar diretório

• Como salvar resultados

• Como importar e exportar dados

Funcionamento do R

• Criar diretório

• Como salvar resultados

• Como importar e exportar dados

>?hist Tela de ajuda para a função

“hist”

Importando dados no R

• Uma maneira:

>read.table()

• Permite importar diversos tipos de arquivos

Seja o exemplo de um arquivo texto: idade col acido sexo

25 120 3 A

30 125 4 A

40 130 5 B

33 126 6 A

28 124 5 B

35 132 5 A

Importando dados – arquivo texto

>read.table("C:\\Users\\Adelmo\\Desktop\\teste.txt",header=T)

Nome do arquivo

Se já tem nome nas colunas

Importando dados – arquivo excel

Importando dados no R • Salvar em formato .csv

Importando dados no R

Dados de outras bases

• >read.epiinfo() para arquivos .REC do Epi-Info

• >read.spss() para dados do SPSS

• >read.dta() para dados do STATA

Funcionamento do R • As entidades criadas e manipuladas no R são

chamadas de Objetos.

• Antes de fechar o R, o mesmo perguntará se você deseja salvar os objetos criados.

• >save.image("nome.RData")

• Caso sim, estará na Área de Trabalho no arquivo .Rdata

• Para remover um objeto use

• >rm(nome do objeto)

• >ls()

•UFA! Vamos pro intervalo?

Prática inicial no R

Comandos básicos para gerenciamento de dados

Prática inicial no R – uso de dados • criar exemplo:

>dados=c(1,8,4,5,3,9,5,6,7,5,4,3,7,6,4,5,6,6)

> dados

[1] 1 8 4 5 3 9 5 6 7 5 4 3 7 6 4 5 6 6

• remover arquivos: rm(dados)

> dados

Erro: objeto 'dados' não encontrado

• Seta “ ” retorna passo anterior

• comprimento do vetor: length(dados)

• ordena os valores: sort(dados)

• sair do R: q()

• Para organizar dados em classe:

quantile(dados)

table(cut(dados, quantile(dados)))

Prática inicial no R – comandos básicos

Resultado da operação

• Para verificar arquivos em uso:

>ls()

• Para gerar valores aleatório de uma distribuição Normal: 100 valores com média 5 e variância 9:

>dados1=rnorm(100,5,3)

Prática inicial no R – comandos básicos

• Histograma: hist(dados1)

• ramos e folhas: stem(dados1)

• Box-plot: boxplot(dados1)

• comparação de dois conjuntos via box plot

dados2=c(9,8,7,8,11,6,5,2,7,8,9,5,7,8,7,6,7,11,8,7,6)

boxplot(dados, dados2)

Prática inicial no R – Gráficos

• Setores (pizza): pie(dados)

• Barras: barplot(dados)

• Em linha:

par(mfrow=c(2,1))

plot(dados)

plot(dados,type="l")

Prática inicial no R – Gráficos

• Importando dados

dados=read.table("C:\\Arquivos de programas\\R\\R-2.2.1\\dados.txt")

• Gerar uma curva de frequência

x=rnorm(1000,10,5)

hist(x,15,prob=T,xlab="Classes",ylab="Frequência",main="Título")

lines(density(x,bw="SJ"))

x=abline(v=10,col="red")

Prática inicial no R – Gráficos

• Para criar uma pasta de trabalho

save.image("D:\\Material de R\\CursoR\\secaoR.Rdata")

• Para abrir uma pasta de trabalho

• load("D:\\Material de R\\CursoR\\secaoR.Rdata")

Criando uma pasta

Prática inicial no R – comandos básicos

Criando uma pasta de trabalho

Prática inicial no R – comandos básicos

abrindo uma pasta de trabalho

Prática inicial no R – comandos básicos

• Criando uma matriz de dados.

• Exemplo: Idade, colesterol e acido úrico de 3 pessoas.

>idade=c(25,30,40)

>col=c(120,125,130)

>acido=c(3,4,5)

Trabalhando com os dados - vetor

• >dados=cbind(idade,col,acido)

• >dados

idade col acido

[1,] 25 120 3

[2,] 30 125 4

[3,] 40 130 5

Trabalhando com os dados

• >dados=c(idade,col,acido)

> dados

[1] 25 30 40 120 125 130 3 4 5

> matrix(dados,ncol=3)

[,1] [,2] [,3]

[1,] 25 120 3

[2,] 30 125 4

[3,] 40 130 5

Trabalhando com os dados - matriz

• formato “data frame”: aceita dados de tipos diferentes

• > sexo=c("F","M","M")

Trabalhando com os dados – data frame

• >dadosM=data.frame(idade,col,acido,sexo) idade col acido sexo

1 25 120 3 A

2 30 125 4 A

3 40 130 5 B

Trabalhando com os dados – data frame

• Suponha que se queira filtrar dados idade col acido sexo

1 25 120 3 A

2 30 125 4 A

3 40 130 5 B

> dadosM$idade

[1] 25 30 40

> dadosM[dadosM$acido>3,'idade']

[1] 30 40

Trabalhando com os dados – data frame

• O comando

>edit(data.frame())

abre uma planilha para digitação de dados

Trabalhando com os dados – data frame

Usando o pacote epiR

• tmp <- rnorm(100000, mean = 0, sd = 1)

• epi.descriptives(tmp, quantile = c(0.025, 0.975))

n mean var sd q.25 q.50 q.75 q.2.5 q.97.5 min max NAs

1e+05 -0.000799 0.9960 0.998 -0.6775 0.00173 0.6761 -1.959 1.9466 -4.255 4.235903 0

Usando o pacote epiR

• > epi.empbayes

Calcula o estimador empírico Bayesiano

• data(epi.SClip)

Usando o pacote epiR

Tx. Bruta e Ebayes

Abrindo os dados “esoph”

• Estudo caso controle

• Dados sobre consumo de bebida alcoólica, cigarro e câncer de esôfago

Visualizando o arquivo no R >?esoph

Tabela em classe

Tabelas de dupla entrada

• Aprendizado lento

• Esquecimento rápido

• melhor é fazer uso regular do R

Observações sobre o R

Críticas sobre o R

• Seu uso ainda pouco difundido

• Sua interface

• Programa pouco “amigável”

Pouco “amigável”

(?)

Iniciando o uso do R no

formato menu

R Commander:

Comando “Rcmdr”

Como ativar o R Commander?

Uso do R Commander

Neste espaço você pode editar suas

tarefas

Clicar aqui para executar as tarefas

Janela output das suas tarefas executadas

Aqui são mostrados erros e avisos

• Obtendo algumas estatísticas descritivas

Análise por categoria “sexo”

• Banco chamado “infert”

• Estudo caso-controle

• Casos: mulheres com infertilidade

• Controles: mulheres não doentes

• Os fatores de risco a serem avaliados:

paridade, os abortos espontâneos e induzidos e a escolaridade.

Lendo um arquivo do datasets do R

Construindo gráficos no Rcmdr

• Histograma da variável idade

• Gráfico de barras de casos e controles

• Gráfico de dispersão entre idade e no. de filhos

• O Teste de hipótese estatístico é utilizado quando se deseja avaliar uma determinada afirmação ou hipótese

• Suponha que se queira fazer um teste para avaliar se a idade média de um particular grupo de mulheres difere de 30 anos de idade

• Teste T: como fazer usando o R Commander

Teste T para média de uma população

Teste T

Teste T

• Teste T: Resultado

• O Teste de Qui-quadrado, no caso particular, pode ser utilizado para avaliar de existe associação significativa entre exposição a um fator e presença de doença

• Pode ser necessário converter variáveis numéricas para fatores

Teste Qui-quadrado

Teste Qui-quadrado: resultado

• A Regressão Logística é um modelo estatístico que busca a explicação para valores tomados por uma variável categórica (dependente) em função de outras variáveis explicativas (independentes)

• converter dados para fatores

Regressão Logística

Regressão Logística: resultado

Regressão Logística: resultado com OR

Regressão Logística: resultado com OR

Outro exemplo: banco “birthwt”

ANOVA

• A ANOVA é um técnica bastante utilizada, em que testa-se se 2 ou mais grupos pertencem a uma mesma população

• Ou, se as médias dos grupos em comparação podem ser consideradas iguais, segundo o ponto de vista da estatística.

• Avaliar a idade segundo raça e categoria de fumante

ANOVA: Resultado

Teste Qui-Quadrado:digitação direta da tabela

Teste Qui-Quadrado:digitação direta da tabela

Teste Qui-Quadrado:digitação direta da tabela

Teste rejeitou a independência entre exposição a comida de gato e síndrome urológica felina

ATIVIDADES

Atividade 1

• Copiar e instalar o programa R

• Visualizar os manuais na página do Cran a partir do programa instalado

• Visualizar os pacotes instalados usando comando library()

Atividade 2

• Criar um arquivo de dados fictícios, com cabeçalho, e juntar numa matriz.

• Salvar em formato texto (.txt) e formato excel (.csv)

• Esse arquivo deve conter variáveis numéricas e categóricas

• Copiar tais arquivos utilizando o R Commander

Atividade 3

• Instalar e carregar os pacotes: spdep e maptools

• Ativar tais pacotes:

library(maptools)

library(spdep)

• Ativar o arquivo de dados Auckland

• data(auckland)

Atividade 3 - continuação

• Calcular estatísticas descritivas da população total de crianças < 5 anos.

• Calcular estatísticas descritivas dos óbitos em crianças <5 anos.

• Contruir um diagrama de dispersão de taxa bruta versus a população de crianças menores de 5 anos (“auckland”)

Atividade 4

• Acessar o banco “infert”

• Construir histograma e box-plot para a variável “parity”, por caso e controle

• Usar função “par” para expor as figuras na mesma página do R

Atividade 5

• Acessar o banco “sleep” (dentro do datasets)

• Realizar um teste T comparando média de tempo de sono extra entre casos e controles

Atividade 6

• Acessar o banco “infert”

• Realizar um teste qui-quadrado para avaliar relação entre as variáveis “induced” e grupos caso e controle.

Atividade 7

• Utilizar o banco “infert”

• Refazer a regressão logística para explicar os casos (infertilidade) em função das covariáveis disponíveis

Referências Bibliográficas: • www.leg.ufpr.br/~paulojus/embrapa/Rembrapa

• O "An introduction to R" (site CRAN)

• Gráficos Estadísticos con R (site CRAN)

• Manuais de contribuições listadas no site do Cran R

• R aplicado a Epidemiologia (Suzi Alves Camey Luciana Neves Nunes, VII

Congresso Brasileiro de Epidemiologia - minicurso disponível na web)

• Aproveitem a nossa cidade.

• Bom congresso!

Foto:Tadeu Bianconi