Você está na página 1de 40

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

www.alea.pt

Dossis Didcticos

XIV Estatstica com R


Uma Iniciao para o Ensino Bsico e Secundrio
Pedro Campos Rita Sousa
Colaborao de Emlia Oliveira

Julho de 2009

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

Introduo
O projecto ALEA - Aco Local Estatstica Aplicada - constitui-se como um contributo para a elaborao de novos suportes de disponibilizao de instrumentos de apoio ao ensino da Estatstica para os alunos e professores do Ensino Bsico e Secundrio. Este projecto nasceu de uma ideia conjunta da Escola Secundria de Tomaz Pelayo e do INE, assente nas necessidades e estruturas que os intervenientes possuem. A pgina Internet do ALEA est no endereo:

Nmeros anteriores
Dossi I Populao e Demografia Dossi II Ambiente e Recursos Dossi III A Inflao e o ndice de Preos no Consumidor.

www.alea.pt.

Dossi IV Estatstica com Excel. Dossi V Censos 2001 - Tu Tambm

ndice
1. 2. 3. A utilizao de software no Ensino da Estatstica O que o R e para que serve? Primeiros passos 3.1. Instalar o R 3.2. Abrir e Encerrar o R, Ajuda e os Packages 3.3. Menus e comandos principais 3.4. Regras de sintaxe e Objectos 3.5. Introduo de dados com c() 3.6. Importao e exportao de dados 3.7. Primeiros passos na Estatstica Descritiva O R Commander: um ambiente grfico Anlise de Dados Grficos Exemplos de Aplicao Para saber mais: recursos prticos para aprendizagem do R

Contas! Dossi VI Notas sobre a Histria da Estatstica Dossi VII Probabilidades com Excel. Dossi VIII Nmeros do Cinema Dossi IX Representaes Grficas Dossi X EuropALEA Dossi XI O Inqurito Estatstico Dossi XII Software Estatstico Dossi XIII Estatstica Descritiva com Excel Complementos

4. 5. 6. 7. 8.

O R uma linguagem (e ambiente de computao estatstica e construo de grficos) aberta e gratuita cujo nmero de utilizadores tem vindo a aumentar consideravelmente. O dossi comea por apresentar o R, referindo os seus aspectos fundamentais e descrevendo, de seguida, os principais comandos. No captulo 4 apresenta-se o R-Commander, uma ferramenta importante que permite tornar a interface grfica do R mais apelativa. No final h um conjunto de exerccios resolvidos utilizando o cdigo R.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

1. A utilizao de software no Ensino da Estatstica


O software estatstico que foi sendo introduzido nas ltimas dcadas trouxe novas formas de explorar a Estatstica, proporcionando maior rapidez na resoluo de problemas e permitindo a comparao expedita de solues. Alm disso, abriu caminho a um conjunto de utilizadores nos meios acadmico, empresarial e administrativo que desta forma puderam passar a utilizar a Estatstica como uma ferramenta eficaz na resposta aos seus problemas.

No ensino em geral a utilizao do computador permitiu introduzir diversas melhorias, pois no contexto escolar usual, os alunos tm grande dificuldade em aprender novos assuntos cujo significado no vislumbram e que no lhes despertam qualquer interesse (ver Joo Pedro da Ponte na Introduo de A Famlia em Rede, de Seymour Papert, 1997). O computador e, em particular, o software estatstico permitiram incentivar a participao voluntria do aprendiz no processo educativo, fazendo com que o aluno passe a explorar os dados e a ser cada vez mais o centro desse desafio do ensino/aprendizagem da estatstica.

No entanto, apesar de serem reconhecidas as vantagens da utilizao do software estatstico, nomeadamente no que respeita ao ensino da estatstica, a sua utilizao deve ser sempre suportada por um adequado conhecimento das tcnicas estatsticas envolvidas ou orientada por quem detenha esses conhecimentos (ALEA, Dossi Didctico X Software Estatstico, Lus Cunha e Helder Alves).

No Dossier Didctico X (Software Estatstico - Uma introduo a alguns aplicativos, numa abordagem inicial dos dados, Helder Alves, Lus Cunha) foram apresentadas algumas aplicaes informticas (Minitab, SAS, SPSS, Statistica) para a anlise estatstica de dados, numa abordagem preliminar dos dados, ao nvel da estatstica descritiva. Neste dossi, concentramos as atenes no R, um importante e poderoso veculo de anlise interactiva de dados que, devido sua crescente utilizao nos meios acadmico e empresarial, no poderia passar despercebido no contexto do ALEA.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

2. O que o R e para que serve?


O R uma linguagem e ambiente de computao estatstica e construo de grficos; considerada uma variante da linguagem S (laboratrios Bell, desenvolvida por John Chambers e seus colegas). Surge pela criao da R Foundation for Statistical Computing, com o objectivo de criar uma ferramenta gratuita e de utilizao livre, para anlise de dados e construo de grficos.

O R compatvel com diversas plataformas: UNIX, Windows e MaCOS e permite a ligao a interfaces de diferentes formatos: Excel, Access, SPSS, SAS, SQL Server. Sendo Open Source, permite ao utilizador aceder ou alterar funcionalidades existentes, bem como criar novas funcionalidades para responder aos seus problemas especficos de forma mais eficaz. Tal possvel graas possibilidade de o R se estender a partir de um crescente conjunto de livrarias (packages) que podem ser acedidas pelo utilizador.

A interaco com o utilizador baseada numa janela de comandos e exige o recurso a programao, embora existam packages grficos que permitem a interaco atravs de menus. Um desses packages o R Commander que ser abordado no contexto deste dossi.

Apesar de existirem muitas facilidades de entreajuda na comunidade de utilizadores do R, esta linguagem no tem suporte tcnico assegurado.

3. Primeiros passos
3.1. Instalar o R
A instalao do R gratuita e pode ser feita directamente a partir da pgina principal do R Project for Statistical Computing em http://www.r-project.org/. A figura seguinte indica o local onde se pode efectuar a importao do R.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

Permite fazer o download da aplicao (com as funcionalidades base) e dos vrios packages adicionais.

Fig. 1 - O download do R feito a partir da pgina principal do Projecto R na rea CRAN (Comprehensive R Archive Network)

Para a importao do R necessrio escolher: um pas a partir do qual o ficheiro ser transferido, o sistema operativo (MacOS X, Linux, ou Windows), o link base e, finalmente, o programa executvel. A ltima verso data deste dossi : R-2.9.0 -win32.exe. Aps importao deste ficheiro, a instalao rpida e intuitiva.

3.2. Abrir e Encerrar o R, Ajuda e os Packages

> Prompt ou linha de comando

O prompt
Ao iniciar o R mostra-se imediatamente a janela de comandos (V. Fig. 2). Esta janela exibe um cursor vermelho em forma de sinal maior (>) designado por prompt onde so escritos os comandos. Por exemplo, para se obter o nmero da verso do R em causa deve-se escrever: > R.version
>R.version Permite obter o nmero da verso de R

Para sair do R, pode-se utilizar o menu (File/Exit) ou ento escrever: > q()

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

Fig. 2 - Janela de comandos do R de uma das verses anteriores

Entrar e Sair
Uma das perguntas que surge habitualmente ao abandonar o R se pretende guardar o espao de trabalho (workspace). De facto, o R pode guardar no seu workspace o nome e o valor dos objectos criados. Veremos nas seces seguintes como criar esses objectos.

Para qualquer tipo de ajuda (que muito til quando se tem uma linguagem como o R) existem muitas opes, sendo a mais intuitiva a que est acessvel pelo menu Help da barra de menus. Outra forma muito prtica para obter ajuda para qualquer funo consiste em digitar help.search(text) em que text representa o que pretendemos pesquisar. Em alternativa, caso se conhea o comando (por exemplo, sum) e haja dvidas quanto a sua utilizao, pode-se digitar help(sum) ou simplesmente ?sum.

> help(function) Apresenta a ajuda relativa funo especificada

> help.search(text) Procura as funes cujo nome, detalhes ou descrio contenha o texto indicado

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

Os Packages
Todos os recursos do R (dados ou funes) esto armazenados em packages. O contedo de um determinado package s fica disponvel quando este carregado. O package base (standard) considerado parte integrante dos recursos do R, sendo carregado automaticamente aquando da instalao do programa. As funes bsicas que permitem ao R trabalhar os principais objectos de dados, funes estatsticas e grficas, j esto disponveis no package base.

Existem funes especficas para extrair informao sobre os packages: por exemplo, para ver os packages que esto instalados no PC dever escrever o comando library(). Para carregar um determinado package deve usar library(package).

A instalao dos packages e o seu carregamento (Install package(s) from zip files) e (load package) devem ser feitos por esta ordem e podem ser executados directamente a partir dos menus do R. Os packages pretendidos podem ser previamente importados em formato zip atravs do site do R (http://www.cran.r-project.org/) e carregados posteriormente.
> library(package) > require(package)
Mostra todos os packages disponveis para carregamento Instalao ou actualizao de packages por ligao directa internet Instalao de um package atravs de um ficheiro zip previamente importado dos recursos do R na internet.

http://cran.r-project.org/

3.3. Menus e comandos principais


O R exibe uma barra de ferramentas e um sistema de menus que permite executar algumas operaes. Basicamente o menu File permite Gravar e abrir sequncias de comandos (scripts), abrir ou gravar espao de trabalho (workspace), sair do R, etc. Permite ainda, carregar livrarias (packages), que sero descritas mais adiante neste dossi.
Aceder a ficheiros de programao R ou guardar a informao actual em memria ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

Uma das opes disponveis neste menu principal a ajuda (help). O R dispe de um completo sistema de ajuda, composto pelas seguintes opes: Opes de ajuda sobre a aplicao; Opes de ajuda com acessos a partir do browser; Opes de ajuda na janela de comandos do R.

Algumas dessas opes podem ser efectuadas directamente no prompt da seguinte forma: > help(function) ou >?function Apresenta a ajuda relativa funo especificada; > help.start() D acesso a informao auxiliar a partir do browser; > help.search(text)
> help(function) > help.start() >help.search(text) > apropos(text) Funes que permitem obter ajuda no R

Procura as funes cujo nome, detalhes ou descrio contenha o texto indicado; > apropos(text) Procura as funes cujo nome contenha o texto indicado.

3.4. Regras de sintaxe e Objectos Primeiras Regras


Uma das regras importantes do R o facto de ser case sensitive. Por esta razo as letras a e A podem corresponder a diferentes variveis. Alm disso, o R ignora espaos, ou seja, os resultados 8+3 e 8+ importantes: Podemos agrupar comandos, para serem executados em simultneo, se estiverem entre chavetas { } e separados por ;; O # utilizado para comentrios; Quando um comando no est completo, o R coloca o sinal de + na linha seguinte, permitindo que este seja terminado. 3 do origem exactamente ao mesmo resultado. Outras regras

Objectos
No R todos os diferentes contedos tais como nmeros, textos, vectores, matrizes, expresses, chamadas funes, etc. so guardados na memria do computador sob a forma de objectos. Todos os objectos tm um nome associado e para armazenamento num objecto usa-se o
ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

operador de atribuio, <- ou =. Para visualizar o contedo do objecto basta digitar o nome do mesmo.

> texto <- "teste" > texto [1] "teste" Forma possvel de criao de um objecto designado por texto, contendo teste

3.5 Introduo de dados com c() O vector coluna c()


Uma das formas prticas de armazenar valores em R feita atravs de objectos denominados vectores. O vector considerado a estrutura de dados mais simples e consiste numa coleco organizada de elementos. A atribuio feita a partir da funo c( ), cujos argumentos correspondem aos prprios elementos do vector. A atribuio pode ser feita tambm por intermdio da funo assign( ) que particularmente til nas atribuies automticas, em que desconhecemos os nomes dos objectos.
> assign("x",c(3.5,1.4,5,2.6,7,4.8)) >x [1] 3.5 1.4 5.0 2.6 7.0 4.8 Atribuio de valores ao vector x (alternativa) > x <- c (3.5,1.4,5,2.6,7,4.8) >x [1] 3.5 1.4 5.0 2.6 7.0 4.8 Atribuio de valores ao vector x

Operaes com vectores


Uma das vantagens do R a facilidade na operao com vectores. O vector exemplo, x (composto pelos nmeros 1, 2, 3, 4, 5, pode ser transformado num vector y (que seja igual a 2x+1) desta forma simplificada: > x <- c(1,2,3,4,5) > y <- 2*x + 1 >y [1] 3 5 7 9 11

De uma forma simples podemos tambm listar todos os nmeros que sejam superiores a um certo limite, utilizando operadores lgicos. Assim sendo, se pretendermos guardar num outro vector z apenas os valores de y superiores a 3, devemos escrever:

> z <- y[y>3] >z [1] 5 7 9 11

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

10

3.6. Importao e exportao de dados


O R dispe de um conjunto de funes que permitem a importao ou exportao de dados. Para importar ou exportar ficheiros externos, o R dispe de conjunto de funes que variam de acordo com o formato do ficheiro.

Para ler ficheiros de dados em formato de tabela existem funes mais especficas (dependendo do tipo de ficheiro) e a funo read.table que mais abrangente:

> read.table(file,) > read.csv(file,) > read.csv2(file,) > read.delim(file,) > read.delim2(file,)

> read.table("C://info.txt",sep="\t",dec=",",header = TRUE) Ano Pop Fam 1 2007 25709 260 2 2007 28329 286 3 2007 1327 37 4 2007 1390 26 5 2007 34224 205 Ler uma tabela a partir de um ficheiro externo em formato txt

Para saber como se deve usar cada um destes comandos, basta escrever, no R, o nome do comando antecedido de ?, por exemplo: > ?read.csv

Na importao de ficheiros h alguns parmetros que importante definir para garantir a correcta leitura dos dados, tais como: sep="\t", para indicao do caracter tabulao como separador entre variveis; dec=",", para indicao do separador decimal; header = TRUE, para indicao da existncia dos nomes das variveis na primeira linha.

Ao importar um ficheiro para o R, este deve ficar associado a um objecto. Para tal, o resultado do comando de importao deve ser atribudo ao nome do objecto a que se quer associar. Para importar, atravs da funo read.csv, um ficheiro de texto designado por ex.csv e o associar a um objecto Dataset, dever-se- fazer:
> Dataset<-read.csv("C://ex.csv",sep="\t",dec=",",header = TRUE)

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

11

3.7. Primeiros passos na Estatstica Descritiva Anlise descritiva


O R dispe de um conjunto de funcionalidades que permitem fazer uma anlise descritiva de dados bastante completa. As medidas descritivas utilizadas e a forma de sumarizao da informao deve sempre atender ao tipo de dados de que dispomos, ou seja, s caractersticas das variveis que estamos a analisar. sabido que para as variveis quantitativas se podem aplicar, entre outras, medidas de localizao e de disperso1.

Em resumo, podemos recordar que as Medidas de Localizao so medidas que localizam um determinado ponto da distribuio tais como os quartis, o mnimo e o mximo. Quando o ponto em questo corresponde ao centro da distribuio, estas denominam-se por medidas de tendncia central (exemplos: mdia, moda, mediana). As Medidas de Disperso so as medidas que aferem a variao dos dados em relao ao centro da distribuio (exemplos: varincia, desvio padro, coeficientes de variao e de disperso). De seguida apresentam-se alguns exemplos simples de utilizao das medidas de localizao e de disperso com R.

Medidas de Localizao Mdia aritmtica: mean() calcula a mdia aritmtica simples, para variveis quantitativas (discretas e contnuas). Mediana: median() calcula a mediana ou valor central de uma distribuio aps ordenao da amostra ( definida pela sua posio na sucesso das observaes ou na distribuio de frequncias); tambm conhecida por percentil 50 ou segundo quartil.
> a<-c(1,2,3,4,5) > mean(a) [1] 3 A funo mean() calcula a mdia de uma lista de valores > a<-c(1,2,3,4,5) > median(a) [1] 3 A funo median() calcula a mediana de uma lista de valores

Quantis: quantile() a funo calcula os quantis que so estatsticas de ordem que separam a distribuio de acordo com um limite percentual de observaes. No caso dos quartis, a distribuio dividida em quatro partes iguais; estando ordenadas as observaes, por ordem crescente, o

> a<-c(1,2,3,4,5) > quantile(a) 0% 25% 50% 75% 100% 1 2 3 4 5 A funo quantile() calcula os quartis de uma lista de valores

1 e o 3 quartis acumulam (at si) 25% e 75% das observaes, respectivamente.


Geralmente definem-se dois tipos de variveis: qualitativas e quantitativas. Para saber mais sobre os tipos de dados e sobre as medidas a aplicar em cada caso, consultar o ALEA em Noes de Estatstica: III Dados, tabelas e grficos, disponvel em: http://www.alea.pt/html/nocoes/html/cap3_1_i.html.
1

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

12

Medidas de Disperso Varincia: var() - calcula a varincia para uma varivel quantitativa.

> a<-c(1,2,3,4,5) > var(a) [1] 2.5 A funo var() calcula a varincia de uma lista de valores

Desvio padro: sd() - calcula o desvio padro de uma varivel quantitativa.

> a<-c(1,2,3,4,5) > sd(a) [1] 1.581139 A funo sd() calcula o desvio padro de uma lista de valores de uma varivel quantitativa

O R dispe de algumas funes que permitem fazer uma sumarizao de dados, essencialmente para variveis quantitativas (discretas e contnuas). Uma dessas funes o summary(), que calcula para as variveis quantitativas as seguintes medidas: Mnimo (Min), 1 quartil (1st Qu), Mediana (Median), Mdia (Mean), 3 quartil (3rd Qu) e Mximo (Max).

> a<-c(1,2,3,4,5) > summary(a) Min. 1st Qu. Median Mean 3rd Qu. Max. 1 2 3 3 4 5 > A funo summary calcula algumas estatsticas bsicas de uma lista de valores

Em resumo, sintetizamos no quadro seguinte os nomes das funes apresentadas, bem como de outras mais especficas, que permitem calcular as respectivas medidas estatsticas no R:

Funo table() mean() median() sum() summary() var() sd() quantile() fivenum() IQR() cor()

Descrio Cruzamento de variveis Mdia aritmtica Mediana Soma Sumarizao de dados Varincia Desvio padro Quartis com descrio Quartis sem descrio Amplitude inter-quartil Coeficiente de correlao

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

13

4. R Commander: um ambiente grfico


O que ? Devido ao seu tipo de interface o R torna-se muitas vezes uma ferramenta de utilizao pouco amigvel. Por essa razo, tm surgido alguns ambientes grficos que permitem uma utilizao do R de uma forma mais intuitiva. O R-Commander uma dessas interfaces grficas que abre uma janela inicial contendo vrios menus e botes de acesso a diferentes procedimentos. Alm disso, este ambiente contm uma janela que gera os comandos R que so utilizados em cada procedimento, permitindo assim repetir ou alterar esses comandos. O aspecto geral da janela do R-Commander apresentado de seguida.
Apenas as linhas da janela script window (que contm os comandos gerados pelo R) podem ser editadas e submetidas novamente para execuo. Para serem submetidas basta carregar em submit.

Os menus do R-Commander so facilmente configurveis atravs de um ficheiro texto ou atravs dos packages.

As aces executadas via menus do origem a comandos do R que so mostrados na janela de output (output window), juntamente com a informao de output, como consequncia do comando executado.

As mensagens de erro e os avisos so mostrados na messages window.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

14

Como se instala? O R-Commander um package standard (designado por Rcmdr) e os processos de instalao e carregamento fazem-se da mesma forma do que nos outros packages (seguir o procedimento install packages escolhendo o package Rcmdr e, depois, load package). Existem, por vezes, alguns aspectos a ter em conta durante a instalao: um dos pontos a ter em conta que o R-Commander utiliza alguns contributed packages que devem estar instalados para que o R-Commander funcione adequadamente2.

Como funciona? Um dos primeiros passos a dar depois de entrar no R-Commander consiste em activar um conjunto de dados. A partir desse momento, todas as aces sero executadas nesse conjunto de dados. Ao abrir-se um novo conjunto de dados, este passar a ser o conjunto de dados activo. O utilizador pode, em qualquer momento, seleccionar o conjunto que pretende, entre todos os conjuntos de dados que j estiveram activos anteriormente.

Para activar um conjunto de dados podese importar um ficheiro de texto atravs do menu: (Data/Import Data/from text file or clipboard

O ficheiro em causa contm dados sobre as peas produzidas numa determinada fbrica de peas para automveis. Para cada pea produzida dispe-se de informao sobre:

seccao: Seco onde a pea foi produzida (var. qualitativa: valores de 1 a 6); cod: cdigo da pea (var. qualitativa: valores possveis: 12, 45, 78, 96); peso: peso da pea (var. quantitativa);

No caso da verso 1.4-2 do R-Commander esses packages so: abind, car, effects, lmtest, multcomp, mvtnorm, relimp, sandwich, strucchange, e zoo. Alm destes packages, deve-se instalar tambm o package rgl no caso de se pretender construir grficos 3D.
ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

15

diametro: dimetro da pea (var. quantitativa); empregado: empregado que executou/verificou a pea (var. qualitativa: valores de 1 a 3); tipo: Tipo de aplicao da pea: (var. qualitativa: (c) coluna ou (d) dentro); qualidade: resultado da verificao: (var. qualitativa: (0) rejeitada ou (1) aprovada).

De seguida, no menu Statistics/Summary/Active Data Set pode solicitar as estatsticas bsicas (mnimo, mximo, mediana, quartis) que correspondem execuo do comando summary.

No menu Statistics seleccione a opo Summary/Active Data Set que permite calcular as estatsticas bsicas (mnimo, mximo, mediana, quartis), que correspondem execuo do comando summary().

Os resultados encontram-se na figura ao lado (output window). Para cada varivel foram calculadas as

estatsticas: mnimo, mximo, 1, 2 e 3 quartis, a mdia e a mediana. Estes resultados poderiam ter sido obtidos directamente atravs do comando: >summary(dataset)

Como neste conjunto de dados existem variveis de vrios tipos, podemos utilizar algumas funcionalidades disponveis do R-Commander, tais como distribuies de frequncias, clculos de estatsticas variadas, representao grfica, etc. Desenvolveremos esta anlise nos prximos captulos do dossi.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

16

5. Anlise de Dados
Frequncias absolutas e relativas Prosseguindo com o exemplo anterior, em que dispomos de variveis de vrios tipos (qualitativas e quantitativas), interessa analisar agora as potencialidades do R-Commander. Aps a primeira sumarizao, onde se calcularam as medidas de localizao, podemos agora, por exemplo, calcular as frequncias absolutas das variveis qualitativas Para tal, deve-se escolher no menu Statistics a opo Summatize/Frequency Distributions.

O resultado mostrado na janela output window como sendo a aplicao da funo table() da seguinte forma: > .Table <- table(Dataset$tipo) > .Table # counts for tipo c d 16 18 de notar que a expresso Dataset$tipo a forma como correctamente nos referimos varivel tipo do conjunto de dados denominado Dataset e que equivalente a utilizar a expresso Dataset[, tipo]. No R-Commander mostram-se ainda as frequncias relativas associadas a estas frequncias absolutas. > 100*.Table/sum(.Table) # percentages for tipo c d

47.05882 52.94118

Tabelas de contingncia Podemos tambm combinar variveis e calcular tabelas de contingncia que resultam das frequncias cruzadas entre variveis qualitativas. Embora no exista um comando directamente acessvel, atravs dos menus do R-Commander, pode-se escrever o comando na janela Script Window e carregar no boto Submit para executar o comando. Assim sendo, para podermos, por exemplo,
ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

17

identificar quantas (e quais) as peas que foram feitas por cada empregado, devemos escrever: >table (Dataset$cod, Dataset$empregado) O resultado o seguinte: 123 12 3 1 0 45 7 7 4 78 7 2 0 96 2 0 1

Medidas de localizao e de disperso: De seguida podemos tambm calcular as medidas de localizao e de disperso para uma varivel quantitativa, por grupos definidos segundo as modalidades de uma varivel qualitativa. Por exemplo, podemos calcular estatsticas sobre o peso das peas produzidas, tendo em conta o tipo de pea. Para tal devemos escolher a opo Statistics/Summaries/Table of Statistics e, de seguida, escolher como Factor a varivel tipo. Neste caso, o tipo aqui considerada uma varivel independente.
Seleccione Statistics/Summaries/Table of Statistics

O resultado a execuo do comando tapply que aplica um procedimento varivel quantitativa para grupos distintos (identificados pela varivel qualitativa).

> tapply(Dataset$peso, list(tipo=Dataset$tipo), mean, na.rm=TRUE) tipo c d 26.02323 29.12170

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

18

Correlao Quando numa base de dados se dispe de mais do que uma varivel, pode fazer sentido calcular o nvel ou grau de associao existente entre essas variveis. Em geral, estes coeficientes medem a fora e a direco (no mesmo sentido ou em sentidos opostos) da relao entre as variveis. Existem vrios tipos de coeficientes de correlao conforme o tipo de variveis em estudo: qualitativas nominais, qualitativas ordinais, quantitativas, etc. O coeficiente de correlao linear de Pearson um dos mais conhecidos e aplica-se quando as variveis so quantitativas3. Para se perceber que tipo de relao existe entre um par de variveis, habitual comear-se por desenhar um diagrama de pontos. Este tipo de representao muito til, pois permite realar algumas propriedades entre os dados, nomeadamente no que diz respeito ao tipo de associao entre as variveis.

No caso do conjunto de dados em estudo, vamos verificar a relao existente entre as variveis peso e dimetro das peas. Para tal escolhemos no R-Commander a opo Graphs/XY Conditioning plot4.

Este grfico sugere a existncia de uma relao directa entre as variveis dimetro e peso, ou seja, a valores grandes de dimetro correspondem, de um modo geral, valores grandes de peso e vice-versa. Esta informao pode ser confirmada pelo clculo do coeficiente de correlao linear de Pearson (ou r de Pearson). Este procedimento pode ser desencadeado atravs do menu (ver figura seguinte) e corresponde execuo do comando cor(x,y), em que x e y representam as variveis em estudo para as quais se pretende calcular o coeficiente de correlao.

Embora este coeficiente se aplique especialmente no caso em que as variveis seguem distribuio Normal, esta restrio muitas vezes ignorada. Para saber mais sobre o coeficiente de correlao, consulte o curso de Noes de Estatstica no ALEA, Captulo VI Distribuies Bidimensionais, em http://www.alea.pt/html/nocoes/html/cap6_3_1.html e/ou ActivALEA n. 4 Associao entre variveis quantitativas: O coeficiente de Correlao.
4

No captulo 6 deste dossi pretende-se aprofundar um pouco mais a questo da representao grfica em R.
ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

19

Na janela Output Window podemos observar o resultado: > cor(Dataset[,c("dimetro","peso")], use="complete.obs") dimetro peso

dimetro 1.0000000 0.9166048 peso 0.9166048 1.0000000

De facto, podemos notar que a correlao existente entre o dimetro das peas (x) e o peso das peas (y) de, aproximadamente, 0.92.

O R-Commander dispe tambm de outras opes de anlise de dados: anlise factorial, testes paramtricos e no paramtricos, etc. Estas tcnicas no so abordadas no contexto deste dossi.

Gesto das variveis


No R-Commander existe a possibilidade de se fazer a gesto do conjunto de dados: acrescentar novas variveis, novas observaes, agregar valores em classes, etc. Esta opo encontra-se disponvel atravs de Data/Manage variables in active data set.

Para fazer a gesto dos dados recorra opo Data/Manage variables in active data set.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

20

6. Grficos
As facilidades grficas so uma componente importante e muito verstil no ambiente R, sendo possvel utilizar essas facilidades numa larga variedade de grficos estatsticos predefinidos, bem como construir grficos novos que podem ser formatados e apresentados com grande qualidade.

Os grficos constituem uma forma de sumariar a informao, sendo que a sua representao grfica deve ser feita de forma a dar relevo s propriedades importantes dos dados. A construo dos grficos deve ter em conta o tipo de variveis que se pretende representar. Na tabela seguinte apresenta-se um resumo do tipo de grficos, mais comuns, que deve ser feito para cada tipo de varivel:

Tipo de varivel Qualitativa (ordinal, nominal) Quantitativa discreta

Representao grfica Grficos de barras, diagramas circulares. Grficos de barras, diagramas circulares, diagramas de disperso, diagramas de caixas e bigodes, etc.

Quantitativa contnua

Histogramas,

diagramas

de

disperso,

diagramas de caixa e bigodes, etc.

Neste captulo pretende-se fazer uma visita geral a alguns tipos de grficos mais conhecidos (grficos de barras, diagramas circulares, histogramas e grficos de pontos) e forma com se podem construir atravs do R-Commander. A apresentao especfica de cada grfico e a sua formatao no so objectivo principal desta abordagem, pelo que dever consultar as ajudas do R para comandos adicionais.

Apresenta-se, de seguida, a forma como pode fazer alguns destes grficos tomando por base o mesmo conjunto de dados dos exemplos anteriores.

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

21

Grfico de barras e diagramas circulares O grfico de barras uma forma de representao adequada a variveis qualitativas e quantitativas discretas. No grfico de barras cada valor associado a uma modalidade da varivel representado atravs de uma barra cuja altura proporcional sua frequncia.

De seguida apresentam-se os passos necessrios para fazer um grfico de barras no RCommander para a varivel tipo (varivel qualitativa relacionada com o tipo de aplicao da pea: (c) coluna ou (d) dentro).

Para fazer um grfico de barras recorra opo Graphs/Bar Graph e escolha, depois, a varivel qualitativa que pretende representar

O comando gerado pelo R-Commander que permite fazer este grfico directamente no R o seguinte: >barplot(table(Dataset$tipo), xlab="tipo", ylab="Frequency")

Para construir um diagrama circular, igualmente adequado a este tipo de dados, o procedimento idntico, excepto na opo de grficos, onde se deve escolher pie chart em vez de bar graph. O

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

22

comando gerado no R o seguinte: >pie(table(Dataset$tipo),labels=levels(Dataset$tipo),main="tipo",col=rainbow(length(le vels(Dataset$tipo))))

Histograma O histograma uma das formas mais importantes de representar dados quantitativos. Para se fazer um histograma necessrio comear por agrupar as observaes em classes e depois representar, para cada classe, uma barra cuja altura seja proporcional ao nmero de observaes. Uma vez que as classes ou intervalos em que os dados so agrupados so contguas, as barras so apresentadas sem separao. Para fazer um histograma no R-Commander considerando a varivel dimetro proceda como se indica na figura:

O comando gerado pelo R-Commander que permite fazer este grfico directamente no R o seguinte: >hist(Dataset$dimetro, scale="frequency", breaks="Sturges", col="darkgray")

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

23

Diagrama de pontos Tambm conhecido por diagrama de disperso, o grfico de pontos muito adequado nos casos em que pretendemos representar duas variveis quantitativas (discretas ou contnuas), particularmente quando pretendemos analisar a sua correlao.

O comando gerado pelo R-Commander que permite fazer este grfico directamente no R : > xyplot(peso~dimetro,auto.key=TRUE,scales=list(x=list(relation='same'), y=list(relation='same')), data=Dataset)

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

24

7. Exemplos de Aplicao
Este captulo contm alguns exerccios de aplicao imediata e problemas resolvidos atravs do R tais como: Nmero de irmos dos alunos da turma H do 9 ano, Alturas dos Alunos, Construir um Tringulo, Uma Corrida Com Dados e Resultados de um teste (este ltimo associado ao programa PISA). Pensamos que estes exerccios e problemas ajudam a aprofundar os conhecimentos de R apresentados neste dossi, sendo que, para a sua resoluo, se utilizaram conceitos que so usualmente trabalhados no ensino bsico e secundrio. Nmero de irmos dos alunos da turma H do 9 ano5
1 4 0 2 1 3 2 2 1 1 1 3 1 1 3 2 0 1 4 2 0 1 1 2 1 3

Construa: a) a tabela de frequncias. b) o diagrama de barras

Resoluo com R: a) Para construir a tabela de frequncias: > cbind(fa=table(dados), fr=prop.table(table(dados)))

Exerccio 1 da pgina 3 (tabelas de frequncia e histograma) do ALEA: http://www.alea.pt/html/nocoes/html/cap7_2_1.html

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

25

b) Para construir o diagrama de barras: > barplot(table(dados), main="Nmero de Irmos no 9 H", xlab="Nmero de Irmos", ylab="Frequncia", col=rep("pink",5), ylim=c(0,12))

Alturas dos Alunos6 Para este exerccio, foram registadas as alturas, em centmetros, dos alunos de uma turma do 10 ano:
150 152 170 161 169 158 171 164 174 163 162 166 155 158 171 164 165 166 161 162 170 158 154 156 172 166 168 167

Construa uma tabela de frequncias, agrupando os dados em classes e represente graficamente os dados, utilizando o tipo de grfico que achar mais conveniente. Faa ainda um diagrama de caule-e-folhas.

Exerccio 2 da pgina 4 (tabelas de frequncia e histograma) do ALEA: http://www.alea.pt/html/nocoes/html/cap7_2_2.html

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

26

Resoluo com R: - O primeiro passo consiste em transmitir os dados ao R. Para tal, podemos criar um ficheiro com estes dados (exerccio1.csv) ou l-los atravs de um vector. > dados<-read.csv("Exercicio1.csv") ou >dados<c(150,169,174,155,165,170,172,152,158,163,158,166,158,166,170,171,162,171,161,15 4,168,161,164,166,164,162,156,167) - De seguida aplicamos o comando hist. > hist(dados[,1])

Para formatar melhor o grfico, podemos recorrer aos parmetros do comando hist: > hist(A[,1],breaks="Sturges", col="light blue", xlab="Altura", ylab="Frequncia", main="Alturas de Alunos")

E o resultado

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

27

A partir do comando do histograma, poderemos construir uma tabela de frequncias. Para tal, basta guardar o resultado do comando hist. > s<- hist(dados[,1]) >s $breaks [1] 150 155 160 165 170 175 $counts [1] 4 4 8 8 4 $intensities [1] 0.02857142 0.02857143 0.05714286 0.05714286 0.02857143 ()

Para fazer um diagrama de caule-e-folhas7 deveremos aplicar o comando stem:

Para saber mais sobre este tipo de grfico consulte o AELA em: http://www.alea.pt/html/nocoes/html/cap3_2_20.html

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

28

Construir um tringulo Um segmento de comprimento unitrio dividido em 3 partes, aleatoriamente. Qual a probabilidade de as partes resultantes poderem formar um tringulo?

A resoluo deste problema prende-se com uma regra que estabelece que a soma dos comprimentos de dois lados de um tringulo superior ao comprimento do outro lado. Nota Quando se fala em nmeros aleatrios, estamos intuitivamente a pensar em nmeros com uma distribuio uniforme, no intervalo [0,1]. Resoluo do problema por simulao no R: Vamos fazer um determinado nmero de simulaes e calcular a frequncia relativa das situaes que do origem a tringulos. Para tal, vamos gerar dois nmeros aleatrios entre 0 e 1 e estes nmeros iro representar os pontos P e Q em que um segmento [MN] de comprimento 1 fica dividido:

Vamos considerar para P o menor dos valores obtidos, que ser o comprimento de MP. Calcula-se o comprimento dos segmentos PQ e QN e depois testa-se se dois quaisquer dos comprimentos obtidos so superiores ao terceiro comprimento. Terminado o nmero de simulaes, calcula-se o nmero das situaes que do origem a tringulos e divide-se pelo nmero de simulaes.
Script 1 Problema do tringulo
cont=0 NumSim=1000 segmentos=array(0,dim=c(NumSim,3)) for (i in 1:NumSim) { M=0 N=1 A=runif(1,0,1) B=runif(1,0,1) MP=min(A,B) PQ=abs(A-B) QN=1-max(A,B) if (MP+PQ > QN & MP+QN>PQ & PQ+QN>MP) cont=cont+1 segmentos[i,1]=MP segmentos[i,2]=PQ segmentos[i,3]=QN } cat("frequncia relativa",cont/NumSim)

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

29

Por exemplo, pedindo 1000 simulaes, obteve-se: Frequncia relativa de tringulos 0.256 Acrescentando ao script anterior, o clculo do comprimento mdio de cada segmento nos casos em que possvel construir um tringulo:
Script 2 Problema do tringulo
cont=0 NumSim=1000 segmentos=array(0,dim=c(NumSim,3)) for (i in 1:NumSim) { M=0 N=1 A=runif(1,0,1) B=runif(1,0,1) MP=min(A,B) PQ=abs(A-B) QN=1-max(A,B) if (MP+PQ > QN & MP+QN>PQ & PQ+QN>MP) { cont=cont+1 segmentos[cont,1]=MP segmentos[cont,2]=PQ segmentos[cont,3]=QN par(mfrow=c(2,2)) cor1=c("blue") cor2=c("pink") cor3=c("yellow") } } segmentos=segmentos[1:cont,] hist(segmentos[,1],col=cor1,xlab="comprimento",ylab="frequncia",main="Segme nto MP") hist(segmentos[,2],col=cor2,xlab="comprimento",ylab="frequncia",main="Segme nto PQ") hist(segmentos[,3],col=cor3,xlab="comprimento",ylab="frequncia",main="Segme nto QN")

cat("frequncia relativa de tringulos",cont/NumSim) cat("comprimento mdio do segmento MP",mean(segmentos[,1])) cat("comprimento mdio do segmento PQ",mean(segmentos[,2])) cat("comprimento mdio do segmento QN",mean(segmentos[,3]))

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

30

Fizemos nova simulao e obtivemos:


40 50 frequncia 10 20 30

Segmento MP
10 20 30 40 50

Segmento PQ

Comprimento mdio do segmento MP: 0.3432921 Comprimento mdio do segmento PQ: 0.3286406 Comprimento mdio do segmento QN: 0.3280673

frequncia 0.0 0.1 0.2 0.3 0.4 0.5

0 0.0

0.1

0.2

0.3

0.4

0.5

comprimento

comprimento

Segmento QN
40 frequncia 0 0.0 10 20 30

0.1

0.2

0.3

0.4

0.5

comprimento

Curiosamente o comprimento mdio dos segmentos aproxima-se de 1/3. Efectuando maior nmero de simulaes, a frequncia relativa dos casos em que possvel construir um tringulo aproxima-se de 0,25 e o comprimento mdio dos segmentos desses tringulos um valor prximo de 0,33.

Voltando simulao no R O script elaborado inicialmente pareceu-nos o processo mais indicado para ser explicado aos alunos, mas explorando um pouco mais as potencialidades do R, fizemos um novo script tendo por base o seguinte raciocnio: considere-se duas variveis aleatrias X e Y (com distribuio uniforme no intervalo [0,1]) e independentes: X tem distribuio uniforme no intervalo [0,1] Y tem distribuio uniforme no intervalo [0,1]

Quando se seleccionam 2 nmeros, um com distribuio X e outro com distribuio Y, podemos ter uma de duas situaes: X<Y ou X>Y. X<Y

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

31

Lados do (suposto) tringulo: X (Y-X) (1-Y)

X>Y

Lados do (suposto) tringulo: Y (X-Y) (1-X)

Para que possam, efectivamente, ser os lados de um tringulo, cada lado tem de ser inferior soma dos outros dois8. Neste novo script indicamos apenas o nmero de simulaes desejadas e obtemos graficamente a evoluo da frequncia relativa, dos casos em que possvel construir um tringulo, observando-se em simultneo a frequncia relativa para os quartis do nmero n de simulaes indicadas.
Script 3 Problema do tringulo
grafico=function(n) { calculo=function(n) { x=runif(n,0,1) y=runif(n,0,1) cond=((x>1/2 & (x-y)<1/2 & y<1/2) | (x<1/2 & (y-x)<1/2 & y>1/2)) v=round(sum(cond)/n,3) color=c("blue") plot(1:n,col=color,cumsum(cond)/ (1:n), type="l",main=paste("freq. relativa",v ), xlab=paste("nde simulaes", round(quantile(n),0)[i]),ylab="") } par(mfrow=c(2,2)) for (i in 2:5) {calculo(round(quantile(1:n),0)[i])} }

Por exemplo, digitando grafico(1000) (designamos a nossa funo no R por grafico), obtivemos os resultados para 1000 simulaes, ilustradas na figura seguinte:

Ver explicao mais detalhada em http://www.alea.pt/html/probabil/html/probabilidades.html

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

32

freq. relativa 0.251


1.0

freq. relativa 0.266

0.8

0.6

0.4

0.2

50

100

150

200

250

0.0 0

0.2

0.4

100

200

300

400

500

nde simulaes 251

nde simulaes 500

freq. relativa 0.243


1.0

freq. relativa 0.254

0.6

0.8

0.4

200

400

600

0.00 0

0.2

0.10

0.20

200

400

600

800 1000

nde simulaes 750

nde simulaes 1000

Para 1 000 000 simulaes:


freq. relativa 0.249
0.30

freq. relativa 0.249

0.20

0.10

0.00

50000

150000

250000

0.00 0e+00

0.10

0.20

2e+05

4e+05

nde simulaes 250001

nde simulaes 5e+05

freq. relativa 0.25


0.30 0.30

freq. relativa 0.25

0.20

0.10

0.00

0e+00 2e+05 4e+05 6e+05 nde simulaes 750000

0.00 0e+00

0.10

0.20

4e+05

8e+05

nde simulaes 1e+06

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

33

Aumentando o nmero de simulaes, a frequncia relativa tende a estabilizar volta do valor 0,25, o que vem comprovar a definio frequencista do conceito de probabilidade: a probabilidade de um determinado acontecimento o valor obtido para a frequncia relativa com que se observou esse acontecimento, num grande nmero de realizaes da experincia aleatria.

Uma Corrida com Dados O Bruno arranjou um dado especial com a forma de um dodecaedro. Tem 12 faces, numeradas de 1 a 12. A Tnia tem dois dados normais. So cubos, cada um deles com as faces numeradas de 1 a 6. Resolveram fazer um jogo. Cada jogada consiste no lanamento dos trs dados. Vo somando os pontos que cada um obtm: o Bruno com o seu dado de 12 faces e a Tnia com os seus dois dados de 6 faces. Ganha quem primeiro chegar aos 100 pontos. Se por acaso os dois chegarem aos 100 pontos na mesma jogada, ganha quem tiver o total maior. Se esse total for igual para os dois, h empate.

Algum dos jogadores est em vantagem? Ou o jogo equilibrado?


(Desafios do Pblico)

Antes da realizao das experincias cada elemento do grupo conjecturou sobre quem teria maior probabilidade de vencer, se o Bruno lanando o dodecaedro, se a Tnia lanando dois dados cbicos. Surgiram opinies diversas: A Tnia obtm, no mnimo, por jogada, dois pontos enquanto que o Bruno pode obter um; No dodecaedro a probabilidade de sair doze 1 que maior que 1 ,
12 36

correspondente probabilidade do mesmo resultado no caso dos dados cbicos; A probabilidade de obter seis maior no lanamento dos dois dados cbicos, 5 , contra 1 no dodecaedro; essa vantagem acentua-se mais no caso da
36 12

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

34

obteno do valor sete ao qual corresponde as probabilidades cbicos, e


1 12

1, 6

nos dados

no outro dado.

Script 1 Corrida de Dados em R


#Simular um jogo da corrida de dados L=1 AcumCubico=0 AcumDode=0 while (AcumCubico<100 & AcumDode<100) { AcumCubico=AcumCubico+round(runif(1,1,6))+round(runif(1,1,6)) AcumDode=AcumDode+(round(runif(1, 1, 12))) L=L+1 } if (AcumCubico>AcumDode) print ("Foi o par de dados cubicos") else if (AcumDode>AcumCubico) print ("Foi o dodecaedro") else if (AcumCubico==AcumDode) print ("Empate") print (paste("Total de jogadas", L)) print (paste("Total de pontos dos dados cbicos", AcumCubico)) print (paste("Total de pontos do dodecaedro", AcumDode))

Comeamos por elaborar um script para a simulao de um jogo:

Na simulao que realizmos o resultado foi o seguinte: venceu o par de dados cbicos", realizaram-se 16 jogadas", sendo o total dos pontos dos dados cbicos 107 e o total de pontos do dodecaedro 105".

Elabormos um outro script para simular vrios jogos:


Script 2 Corrida de Dados em R
#Simular vrios jogos da corrida de dados dados=function(n) { CUBICO=0 DODE=0 EMPATE=0 for (i in 1:n) { L=1 AcumCubico=0 AcumDode=0 while (AcumCubico<100 & AcumDode<100) { AcumCubico=AcumCubico+round(runif(1,1,6))+round(runif(1,1,6)) AcumDode=AcumDode+(round(runif(1, 1, 12))) L=L+1 } if (AcumCubico>AcumDode) CUBICO=CUBICO+1 else if (AcumDode>AcumCubico) DODE=DODE+1 else if (AcumCubico==AcumDode) EMPATE=EMPATE+1 } print (paste("Freq.relativa do n.de vezes em que os dados cubicos ganharam", CUBICO/n)) print (paste("Freq.relativa do n.de vezes em que o dodecaedro ganhou", DODE/n)) print (paste("Freq.relativa do n.de empates", EMPATE/n)) }

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

35

Executado o script para simular 100 jogos, digitamos na consola do R dados (100) e obtivemos: "Freq. relativa do n. de vezes em que os dados cbicos ganharam 0.67" "Freq. relativa do n. de vezes em que o dodecaedro ganhou 0.32" "Freq. relativa do n. de empates 0.01"

Se o nmero de experincias for suficientemente grande, a percentagem de cada resultado estar prxima do valor real da probabilidade (Lei dos Grandes Nmeros).

Simulmos no R, um milho de jogos e ao fim de alguns minutos obtivemos: "Freq. relativa do n. de vezes em que os dados cbicos ganharam 0.676556"; "Freq. relativa do n. de vezes em que o dodecaedro ganhou 0.304982"; "Freq. relativa do n. de empates 0.018462".

Assim, a probabilidade de a Tnia ganhar ser aproximadamente 67,7% e a do Bruno 30,5%. A probabilidade de empate de 1,8%. Claro que estes no so valores exactos mas estaro prximos dos valores reais.

Resultados de um Teste O grfico seguinte mostra os resultados de um teste de Matemtica obtidos por dois grupos de alunos, designados por Grupo A e Grupo B. A nota mdia no grupo A de 62,0 e no grupo B de 64,5. Os alunos passam neste teste se tiverem uma nota igual ou superior a 50.

6 Nmero de alunos 5 4 3 2 1 0 0-9 10-19

Resultados no teste de Matemtica

20-29

30-39

40-49

50-59

60-69

70-79

80-89

Notas Grupo A Grupo B

ALEAyDossis Didcticos

90-100

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

36

Com base nesta informao, o professor concluiu que o grupo B teve melhores resultados neste teste que o grupo A. Os alunos do grupo A no esto de acordo com o professor. Tentam convencer o professor de que o grupo B no teve necessariamente melhores resultados. Utilizando a informao dada, apresente pelo menos um argumento matemtico que possa ser utilizado pelos alunos do grupo A.
(adaptado do Programa para a Avaliao Internacional de Alunos 2003, PISA Programme for Internacional Student Assessment)

Argumentos que podem ser utilizados: H mais alunos que passaram no teste no Grupo A do que no Grupo B (h mais positivas no Grupo A do que no Grupo B); O Grupo A tem mais alunos com nota igual ou superior a 80 que o grupo B; Se ignorarmos o aluno mais fraco do Grupo A, os alunos do Grupo A tm melhores resultados que os do grupo B. Respeitando a informao dada no problema, consideremos que os resultados obtidos pelos dois grupos foram os seguintes:
Grupo A: 8, 51, 52, 56, 61, 63, 65, 67, 74, 76, 82, 89 Grupo B: 41, 43, 55, 61, 62, 63, 67, 68, 74, 79, 79, 82

Utilizando o programa R9, calculemos as principais estatsticas descritivas destes dois grupos, bem como os respectivos boxplots (caixas de bigodes):

GrupoA
Min. : 8.0 1st Qu.:55.0 Median :64.0 Mean :62.0 3rd Qu.:74.5 Max. :89.0
80

GrupoB
Min. :41.00 1st Qu.:59.50 Median :65.00 Mean :64.50 3rd Qu.:75.25 Max. :82.00

20

40

60

GrupoA

GrupoB

Ver script elaborado no final deste problema.


ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

37

Note-se que a nota mais baixa do Grupo A, que se afasta significativamente das restantes (outlier), est assinalada com um (ponto). Este valor interfere bastante na mdia dos resultados do Grupo A. Efectivamente, se retirarmos a nota mais baixa a cada um dos grupos, respectivamente 8 e 41, obtemos:
GrupoA
Min. :51.00 1st Qu.:58.50 Median :65.00 Mean :66.91 3rd Qu.:75.00 Max. :89.00
90

GrupoB
Min. :43.00 1st Qu.:61.50 Median :67.00 Mean :66.64 3rd Qu.:76.50 Max. :82.00

50

60

70

80

GrupoA

GrupoB

Com esta alterao obtemos uma melhor leitura do grfico, dada a reduo na disperso dos dados. Confirma-se assim uma subida das estatsticas descritivas, em particular no Grupo A, em que a mdia das notas do Grupo A supera a mdia das notas do Grupo B.

Retomando as doze notas iniciais de cada grupo, alteremos agora apenas o menor valor do Grupo A, a nota 8 para 39 (nota mnima, de qualquer modo inferior nota mnima do Grupo B).
90

40

Min. :39.00 1st Qu.:55.00 Median :64.00 Mean :64.58 3rd Qu.:74.50 Max. :89.00

80

GrupoA

GrupoB
Min. :41.00 1st Qu.:59.50 Median :65.00 Mean :64.50 3rd Qu.:75.25 Max. :82.00
GrupoA GrupoB

A alterao do valor extremo teve como consequncia uma subida significativa da mdia, mantendo-se, o valor da mediana. Esta situao ilustra bem a maior resistncia da mediana a valores extremos relativamente mdia.

50

60 70

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

38

Apesar da importncia destas duas medidas de tendncia central, poderemos ter um conjunto de dados diferentes com igual mdia e mediana, sendo necessrio recorrer a outras medidas estatsticas para analisar melhor os dados.

Ainda na situao apresentada, se alterarmos no Grupo A, por exemplo, duas notas: 8 para 36 e 63 para 65, obtemos:
40 50 60 70 80 90

GrupoA
Min. : 36.0 1st Qu.:55.0 Median :65.0 Mean :64.50 3rd Qu.:74.5 Max. :89.0

GrupoB
Min. :41.00 1st Qu.:59.50 Median :65.00 Mean :64.50 3rd Qu.:75.25 Max. :82.00

GrupoA

GrupoB

sd(notas4$GrupoA)= 14.68147

sd(notas4$GrupoB)=13.35188

A mdia e a mediana so iguais, sendo por isso necessrio recorrer as outras medidas, por exemplo, de disperso para analisarmos melhor os dados e concluir, eventualmente qual dos grupos tem melhores resultados. No Grupo A a amplitude interquartil superior, bem como o desvio padro o que significa que neste grupo existe uma maior variabilidade das notas em relao mdia. Os histogramas destes conjuntos de dados apresentam-se a seguir:
GrupoA
4 5

GrupoB

frequncia

frequncia 30 50 notas 70 90

0 40 50 60 70 80 90 notas A LEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

39

Script Resultados de um teste


notas=data.frame(GrupoA=c(8,51,52,56,61,63,65,67,74,76,82,89),GrupoB=c(41,43 ,55,61,62,63,67,68,74,79,79,82)) summary(notas) par(mfrow=c(2,2)) color=c("red","blue") boxplot(notas,col=color) notas2=data.frame(GrupoA=c(51,52,56,61,63,65,67,74,76,82,89),GrupoB=c(43,55, 61,62,63,67,68,74,79,79,82)) summary(notas2) boxplot(notas2,col=color) notas3=data.frame(GrupoA=c(39,51,52,56,61,63,65,67,74,76,82,89),GrupoB=c(41, 43,55,61,62,63,67,68,74,79,79,82)) summary(notas3) boxplot(notas3,col=color) notas4=data.frame(GrupoA=c(36,51,52,56,61,65,65,67,74,76,82,89),GrupoB=c(41, 43,55,61,62,63,67,68,74,79,79,82)) summary(notas4) boxplot(notas4,col=color) sd(notas4$GrupoA) sd(notas4$GrupoB) # histogramas do problema Resultados de um teste par(mfrow=c(1,2)) color=c("red") hist(notas4$GrupoA,main="GrupoA",xlab="notas",ylab="frequncia",col.main=col or) color=c("blue") hist(notas4$GrupoB,main="GrupoB",xlab="notas",ylab="frequncia",col.main=col or)

ALEAyDossis Didcticos

Estatstica com R Uma iniciao para o Ensino Bsico e Secundrio

40

8. Para saber mais: recursos prticos para aprendizagem do R


ALEA, Dossi X Software Estatstico - Uma introduo a alguns aplicativos, numa abordagem inicial dos dados, Helder Alves, Lus Cunha. Ponte, Joo Pedro da, Introduo, in Seymour Papert, A Famlia em rede, Relgio d'gua, 1997. ALEA, Dossi X Software Estatstico - Uma introduo a alguns aplicativos, numa abordagem inicial dos dados, Helder Alves, Lus Cunha. L. Torgo (2009), A Linguagem R Programao para a Anlise de Dados, Escola Editora. Paul Murrell (2006), R Graphics, Chapman & Hall/CRC, London. Peter Dalgard (2002), Introductory Statistics with R, Springer, New York. The R Project for Statistical Computing: http://www.r-project.org/index.html R Site Search: http://finzi.psych.upenn.edu/search.html R mailing lists archive: http://tolstoy.newcastle.edu.au/R/ The R Commander A Basic-Statistics GUI for R: http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/ Tinn-R: http://www.sciviews.org/Tinn-R/

ALEAyDossis Didcticos

Você também pode gostar