Manual r Project

Download Manual r Project

Post on 04-Jul-2015

224 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

<p>O SOFTWARE R COMO INSTRUMENTO DE ENSINO EM ESTATSTICA BSICA</p> <p>Gasto Coelho Gomes DME-IM-UFRJ C.P. 68530 21945-970 Rio de Janeiro RJ Brasil gastao@im.ufrj.br Joo Ismael Damasceno Pinheiro DME-IM-UFRJ C.P. 68530 21945-970 Rio de Janeiro RJ Brasil jismael@im.ufrj.br Sonia Baptista da Cunha DME-IM-UFRJ C.P. 68530 21945-970 Rio de Janeiro RJ Brasil sonia@im.ufrj.br Santiago Ramrez Carvajal DME-IM-UFRJ C.P. 68530 21945-970 Rio de Janeiro RJ Brasil sramirez@oi.com.br</p> <p>ABSTRACT The objective of this mini-course is to describe some basic statistical methods and to show how the software R can be used to extract information from a data base in an elementary Statistics course. KEYWORDS: Software R, Exploratory Data Analysis, Statistical Inference</p> <p>Resumo O objetivo deste mini-curso descrever alguns mtodos estatsticos e mostrar como eles so usados no programa R para se obter informao de uma massa de dados em um curso de Estatstica Bsica. PALAVRAS CHAVE: Pacote R, Anlise Exploratria, Inferncia Estatstica</p> <p>IntroduoA Estatstica uma ferramenta importante para se obter informao de uma massa de dados provenientes de processos amostrais ou de planejamentos de experimentos. O software R de domnio pblico (http://www.r-project.org) est cada vez mais sendo utilizado no meio cientfico, industrial e empresarial. O R um pacote que oferece vrias funes, j implementadas, dos mais variados mtodos estatsticos. Alm disso , tambm, um ambiente de programao onde se pode usar o que de bom ele j contem para se desenvolver novas implementaes, no s com objetivo de personalizar as j existentes, mas tambm para viabilizar o uso de novos mtodos estatsticos, partindo desses recursos j disponveis. Ambos, a Pesquisa Operacional e o processo de desenvolvimento de novos aplicativos em Estatstica, podem se beneficiar dessa interao. O que propomos aqui mostrar como podem ser implementadas as aplicaes no R dos mtodos</p> <p>bsicos de anlise estatstica. O mini-curso dirigido para alunos de graduao e ps-graduao que usam mtodos quantitativos baseados em probabilidade e estatstica. Dividiremos, o mini-curso em trs partes: 1) Anlise Exploratria de dados: a. Quanto s medidas univariadas, examinaremos estatsticas de tendncia central, localidade e disperso (no R: mean, median, var, fivenum, summary e quantile); grficos de distribuies (no R: barplot, pie, hist, stem e boxplot). b. Quanto s medidas bivariadas, examinaremos a interdependncia atravs de covarincia, correlao grfico de disperso e tabelas de contigncias (no R: var, cor, plot, table). Ser tambm feita uma introduo regresso linear e ao mtodo de mnimos quadrados (no R lsfit e ls.print). 2) Probabilidade: a. Simulao do conceito freqentista de probabilidade Mtodo de Monte Carlo: Atravs de exemplos de jogos calcularemos probabilidades via simulao, examinando a estabilidade da aproximao quando o tamanho da corrida grande. Depois alguns desses problemas sero resolvidos analiticamente, para que se possam comparar as respostas da soluo analtica e da simulao. b. Variveis aleatrias (v.a.): examinaremos no R os modelos probabilsticos mais comuns de variveis aleatrias, tanto discretas (Binomial, Hipergeomtrica, Poisson) como contnuas (exponencial, uniforme, Normal e suas derivadas: t-Student, Qui-quadrada e F). No R estudaremos o efeito da primeira letra a ser usada nos comandos relativos aos modelos probabilsticos de v.a. ( p-probability, d-density, q-quantile e r-random). c. Simulao e o teorema central do limite: atravs de simulao ser estudada a rapidez da convergncia referente ao teorema central do limite: analisaremos a influncia, tanto do tamanho amostral como da forma da distribuio a partir da qual a amostra extrada, sobre a aproximao da mdia de x pela distribuio Normal. 3) Inferncia Estatstica: a. Intervalo de confiana: sero feitas simulaes para o entendimento do conceito de intervalo de confiana, atravs da gerao, por simulao, de vrias amostras e o posterior exame dos intervalos de confiana construdos a partir de cada uma dessas amostras. b. Testes de hipteses: sero recordados os principais conceitos bsicos dos testes de hipteses, os erros tipos I e II com as correspondentes probabilidades, e o conceito de p-valor. Estudaremos o teste t de Student, tanto pareado como no pareado, para comparao de duas populaes, o teste quiquadrado para independncia, e a anlise de varincia (no R t.test, chisq.test, aov) Usaremos como guia da teoria o livro Introduo a Estatstica - A arte de trabalhar com dados, escrito pelos autores desta proposta. Os exemplos do livro sero discutidos e suas solues sero implementadas no software R, sendo tambm discutida a interpretao dos resultados.</p> <p>Trabalhando no RUsaremos aqui trs tipos de variveis: 1) constantes ou vetores So os tipos de armazenamento mais bsico de uma varivel. Se desejarmos que numa varivel x esteja a altura (em cm) de 10 indivduos, faremos: &gt; x= c(172,167,189,157,163, 156,201,186,179,152) Observe que o sinal &gt; um prompt do R; o comando c(), combina uma seqncia de valores numa varivel, que aqui foi chamada de x; o comando = o comando de atribuio. Outra possibilidade seria: &gt; y= 1:10 Experimente os comandos: &gt; ?c; &gt; x*2; &gt; x+2; &gt;x+y; &gt;x*y; &gt;z=x+y; Existem tambm outros tipos de gerao de vetores que usaremos aqui : rep( ..., n), repete o conjunto ... n vezes; seq(i, f , p), gera uma seqncia de nmeros que inicia em i e finaliza em f com um passo p; gl(n, k, t), gera um fator de tamanho t com n nveis onde cada nvel se repete k vezes. Fatores so usados, por exemplo, em Planejamento de Experimentos. Experimente os comandos: &gt; rep(2:5,3); &gt; seq(1.2,.2,.5); &gt; gl(2,3,7) 2) matrizes, So geralmente bancos de dados, com n linhas (as observaes) e p colunas (as variveis). Todas devem ser da mesma caracterstica, geralmente numricas. Se desejarmos que numa varivel pa esteja na primeira coluna a altura (em cm) e na segunda o peso (em kg) de 10 indivduos, faremos: &gt; pa = matrix(c(172,167,189,157,163, 156,201,186,179,152, 68,63,89,90,75, 63,95,120,80,60), 10,2) # peso e altura Observe que o comando matrix arruma os dados de um vetor numa matriz, onde o defaut entrar com o vetor por colunas; os parmetros 10,2 indicam, respectivamente, o nmero de linhas e colunas; o comando # indica que o que vem depois, na mesma linha, interpretado como um comentrio e no considerado nos clculos. experimente os comandos: &gt;?matrix; &gt; pa[1,2]; &gt; pa[1,]; &gt; pa[,1]; 3) data frame So usados para armazenamento de bancos de dados, com n linhas (as observaes) e p colunas (as variveis). Podem no ser da mesma caracterstica, misturando alfanumricos com numricos e fatores. Este comando seria til, por exemplo, para ler um banco de dados gerado no Excel, mas, antes de gravarmos um arquivo do tipo texto podendo ser do tipo: .txt ou .csv (comma-separated values) deveramos, por caracterstica da lngua portuguesa, transformar a marcao decimal de vrgula por ponto no Excel. No R um data frame seria lido pelo comando read.table. Vamos ler a tabela 1.2, pag 7 do livro [1]. Para tanto foi gerado um arquivo de nome tab1_2.tex, do qual apresentamos aqui as 3 linhas iniciais de um total de 45. IDENT, CATEG, IDADE, PESO, ALTURA, IMC, Classe_IMC, CINTURA, QUADRIL, RCQ, Classe_RCQ ID1,A,61,58.2,154.0,24.5,normal,87,109,0.80,MR ID2,S,69,63.0,152.0,27.3,sobrepeso,89,104,0.86,GR ID3,S,61,70.1,158.0,28.1,sobrepeso,106,123,0.86,GR</p> <p>Para armazenarmos os dados no objeto tab1.2, usaremos o comando: &gt; tab1.2=read.table("f:\\ERI-RJ_2010\\tab1_2.txt", header = T, sep = ",") Observe que header = T serve para indicar que existe uma linha com os nomes das variveis (T significa True) e sep indica o separador, no caso vrgula. Experimente os comandos: &gt;?read.table; tab1.2[,2], &gt; attach(tab1.2); CATEG; &gt; tab1.2[,3], IDADE</p> <p>CAPTULO 1: Analise Exploratria de DadosA Anlise Exploratria pode ser encarada como um conjunto de tcnicas de tratamento de dados que, sem implicar em uma fundamentao matemtica mais rigorosa, nos ajuda a tomar um primeiro contato com a informao disponvel. Em um levantamento de dados, a respeito de um determinado assunto, eles costumam ser representados em uma tabela de dados. Em uma tabela de dados cada linha corresponde a uma observao e cada coluna corresponde a uma varivel. Cada varivel pode ser: Qualitativa nominal ou categrica - seus valores possveis so diferentes categorias no ordenadas. Qualitativa ordinal - seus valores possveis so diferentes categorias ordenadas. Quantitativa discreta - seus valores possveis so resultados de um processo de contagem. Quantitativa contnua - seus valores possveis podem ser expressos atravs de nmeros reais.</p> <p>1-a) Medidas univariadas Para descrever o comportamento de uma varivel comum apresentar os valores que ela assume organizados sob a forma de tabelas de frequncia e grficos. Os grficos mais comuns para representarem variveis qualitativas so os grficos de barras e os grficos de setores.. Usar, para uma varivel x que deve ser agrupada, os comandos:: barplot(table(x)); pie(table(x)). Os principais argumentos desses comandos so: barplot(x, beside=F, horiz=F, xlab=, xlim=, col= , space= ) Onde: x: um vetor ou matrix de quantidades positivas. Os valores em 'x' representam as contagens ou propores de cada categoria, (elemento obrigatrio). Beside: se ser de lado ou empilhado. Essa uma varivel do tipo sucesso(T,true) ou fracasso (F, false). O default F. xlab: corresponde ao ttulo da varivel x (no obrigatrio.), o mesmo para ylab xlim: dois valores que correspondem aos limites no grfico da varivel x. (ylim) col: vetor informando as cores das barras. Ver apndice. space - quantidade de espao esquerda antes de cada barra. Se x uma matriz pode ter 2 valores, o primeiro corresponde aos espaos entre as barras</p> <p>do mesmo grupo e o segundo entre grupos.</p> <p>Como exemplo olhar o apndice Figura 2.2. Experimente os comandos: &gt; m=matrix(c(1,4,3,2,5,7),2,3); &gt; barplot(m) &gt; barplot(m, beside=T) &gt; barplot(m, beside=T), space=c(.2,2), col=c("red","green") pie(x, labels = names(x), edges = 200, radius = 0.8, col=NULL...) Onde: x: um vetor de quantidades positivas. Os valores em 'x' representam as propores, (elemento obrigatrio). labels: um vetor de caracteres fornecendo nomes para os setores. edges: um inteiro. A linha do crculo aproximada por um polgono com este nmero de lados. col: vetor informando as cores das barras radius: o grfico desenhado centrado num quadrado cujos vrtices tem coordenadas iguais a -1 e 1. Dependendo dos rtulos dos setores pode ser necessrio ajustar o tamanho do raio (default: radius=0.8). Exemplo: seja a seguinte sequncia de comandos, observe o resultado no grfico abaixo: &gt;RCQ=c(.80,.86,.86,.90,.82,.95,.92,.83,.83,.89,.81,.84,.78,.81,.89, .87,.74,.80,.91,.86,.85,.84,.85,.74,.76,.83,.80,.78,.85,.87, .68,.83,.87,.87,.87,.89,.87,.88,.88,.89,.78,.77,.78,.89,.84) #digitar RCQ &gt;rcq=rep(2,45); rcq[RCQ &lt; .78]=1; rcq[RCQ &gt; .85]=3 #codificar &gt;rcq.t= table(rcq) #tabular &gt;names(rcq.t)=c("PR","MR","GR") #nomear as categorias &gt;par(mfrow=c(1,2)) # matrix de graficos (1 linha e 2 colunas) &gt;pie(rcq.t, radius=1.2, col=c("green","blue","pink")) #graf. de setor &gt;barplot (rcq.t) #graf. de barras</p> <p>Para as variveis quantitativas, os grficos de freqncias mais usados so os Histogramas e os Diagramas Ramo-folhas, cujos comandos so &gt;hist(x) &gt;stem(x). Existe tambm um comando chamado &gt;cut, que classifica uma varivel numrica. Os principais argumentos desses comandos so:</p> <p>hist(x, breaks="Sturges" , freq =NULL, right=T, col=NULL, main=, xlim=range(breaks), ylim=NULL, xlab=xname, ylab,...) Onde: x: a varivel numrica a ser discretizada, (argumento obrigatrio) breaks: vetor com os limites das classes ou ... freq: varivel lgica. Se T corresponde contagem de cada classe; se F equivale a densidade de probabilidade. Neste caso a rea total sob a curva (retngulos) seria 1. right: varivel lgica. Se T as classes so fechadas direira; se F so fechadas esquerda. col: vetor de cores, pode ser uma nica cor. main: ttulo principal xlab e ylab: rtulos dos eixos x e y respectivamente xlim e ylim: Dois valores limites para o grfico de cada uma das variveis cut(x, breaks, right = T, ...) stem(x, ) ### Exemplo da pag 15 Figura 1.8 &gt; nt=c(183.8,125.4,193.3,162,142.3,140.6,456.8,228.7,231.4, 86.1,199.6,235.3,218.6,128,125.4,244.2,147.8,118.2, 347.5,150.1,236.9,214.6,214.1,257.3,362.8,140.7,113.8) #digitao de nt &gt; hist(nt, breaks=c(50,100,150,200,250,300,350,400,450,500), right=T, main="Histograma: Telefonia fixa per capita", xlab="N. linhas/1000hab", ylab="N. de obs.", xlim=c(0,500), ylim=c(0,10), col="grey") #histograma da variavel</p> <p>&gt; stem(trunc(nt/10))</p> <p>### o ramo a centena e a folha as dezenas</p> <p>0|8 1 | 112224444 1 | 56899 2 | 11123334 2|5 3|4 3|6 4| 4|5 Experimente os comandos: &gt; stem(trunc(nt/10), scale = 0.5 )</p> <p>&gt; table(cut(nt, breaks=c(50,100,150,200,250,300,350,400,450,500), right=F))[50,100) [100,150) [150,200) [200,250) [250,300) [300,350) [350,400) [400,450) [450,500)</p> <p>1</p> <p>9</p> <p>5</p> <p>8</p> <p>1</p> <p>1</p> <p>1</p> <p>0</p> <p>1</p> <p>Para uma dada varivel quantitativa, uma medida de centralidade um valor tpico em torno do qual se situam os valores daquela varivel. As medidas de centralidade mais conhecidas so: a mdia aritmtica e a mediana. Usar os comando: mean(x); median(x). Por exemplo: &gt; mean(nt) [1] 200.1852 &gt; median(nt) [1] 193 O quantil uma medida de localizao. A funo apropriada do R para obter os quantis de um vetor numrico x a funo &gt; quantile(x, p).Se desejarmos determinar os trs quartis, usaremos o comando: quantile(x,c(0.25,0.5,0.75)) Se desejarmos o quinto, o dcimo e o nonagsimo percentis, usaremos o comando: &gt;quantile(x,c(.05,0.10,0.90)) O comando quantile(x,p) retorna o quantil de ordem p das observaes de x, podendo p ser um vetor. Por exemplo: &gt; quantile(nt, c(.20, .50, .95)) 20% 50% 95% 130.6 193.0 358.2 Uma medida de disperso para uma varivel quantitativa um indicador do grau de espalhamento dos valores da amostra em torno da medida de centralidade. As medidas de disperso mais conhecidas so: a varincia, o desvio-padro e a distncia interquartil=diferena entre o terceiro e o primeiro quartis. &gt; var(nt) [1] 7131.464 &gt; sd(nt) [1] 84.448 &gt; q=fivenum(nt); q[4]-q[2] # em q esto os 5 nm. Subtramos o Q3 do Q1 [1] 92 O comando fivenum gera os cinco valores, x(1), Q1, Q2, Q3, x(n), o mnimo, os trs quartis e o mximo. Eles so importantes para se ter uma boa idia da assimetria dos dados. O comando summary(x) acrescenta tambm a mdia ao resultado. Por exemplo: &gt; fivenum(nt) [1] 86 141 193 233 457 &gt; summary(nt) Min. 1st Qu. Median Mean 3rd Qu. Max. 86.0 141.0 193.0 200.2 233.0 457.0 O Box Plot ou Desenho Esquemtico um grfico que se costuma utilizar para sintetizar em uma mesma figura vrias informaes relativas </p> <p>distribuio de uma determinada varivel quantitativa. Nele tambm so representadas as observaes discrepantes. Observaes discrepantes so observaes cujos valores esto muito afastados dos demais (para mais ou para menos). Essas observaes podem afetar de forma substancial o resultado das anlises estatsticas....</p>