Curso introdutório sobre o Software R Adelmo Inácio Bertolde adelmoib@gmail.com 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.
O Programação R do curso: 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 Programa R 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
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!
Além disso... O Programa R É de código aberto É gratuito É, também, um ambiente de programação
R Transferência de conhecimento!
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
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
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org
Como instalar o programa R Acessar o site do projeto R: http://www.r-project.org R está pronto para receber algum comando
Lista de e-mails de discussão do R http://www.r-project.org/mail.html https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/rbr
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/r embrapa/ 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()
Funcionamento do R - PACOTES 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) 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
>1+1 [1] 2 >2*3 [1] 6 >1/5 [1] 0.2 >sqrt(16) [1] 4 R como calculadora
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)
Prática inicial no R comandos básicos sair do R: q() Para organizar dados em classe: quantile(dados) table(cut(dados, quantile(dados)))
Resultado da operação
Prática inicial no R comandos básicos 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 Gráficos 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")
Criando uma pasta 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")
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
Trabalhando com os dados - vetor 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 >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 - matriz >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 data frame 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
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
Observações sobre o R Aprendizado lento Esquecimento rápido melhor é fazer uso regular do 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
Lendo um arquivo do datasets do R 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.
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
Teste T para média de uma população 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
Teste T
Teste T: Resultado
Teste Qui-quadrado 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: resultado
Regressão Logística 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: 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