45
UTILIZAÇÃO DO R NO ENSINO DA ESTATÍSTICA BÁSICA I Autores: Carolina Valani Cavalcante * Luciane Ferreira Alcoforado **

UTILIZAÇÃO DO R NO ENSINO DA ESTATÍSTICA BÁSICA I · Para que o iniciante no R se torne apto a colocar em prática o que foi ... o R. 2. Operações ... ao digitarmos seu nome,

Embed Size (px)

Citation preview

UTILIZAÇÃO DO R NO ENSINO DA

ESTATÍSTICA BÁSICA I

Autores:

Carolina Valani Cavalcante *

Luciane Ferreira Alcoforado **

2

Sumário Autores: ..................................................................................................................1

Carolina Valani Cavalcante * ...............................................................................1

Luciane Ferreira Alcoforado ** ..........................................................................1

1. Introdução.........................................................................................................5

2. Operações Básicas............................................................................................6

Exemplo 2.1 ......................................................................................................7

3. Armazenando dados ........................................................................................7

Exemplo 3.1 ......................................................................................................8

Exemplo 3.2 ......................................................................................................8

3.1 Vetor ................................................................................................................8

Exemplo 3.3 ......................................................................................................9

Exemplo 3.4 ......................................................................................................9

Exemplo 3.6 ....................................................................................................11

3.2 Matriz .............................................................................................................11

Exemplo 3.7 ....................................................................................................11

Exemplo 3.8 ....................................................................................................12

Exemplo 3.9 ....................................................................................................13

Exemplo 3.10..................................................................................................14

Exemplo 3.11..................................................................................................14

3.3 Data frame.....................................................................................................14

Exemplo 3.12..................................................................................................15

Exemplo 3.13..................................................................................................16

3

4. Funções mais utilizadas .................................................................................18

Exemplo 4.1 ....................................................................................................19

4.1 Usando a função length(x) ..........................................................................19

Exemplo 4.2 ....................................................................................................20

4.2 Usando as funções min(x), max(x) e range(x)...........................................20

Exemplo 4.3 ....................................................................................................20

4.3 Usando a função sum(x) e prod(x).............................................................20

Exemplo 4.4 ....................................................................................................20

Exemplo 4.5 ....................................................................................................21

4.4 Usando a função mean(x)............................................................................21

Exemplo 4.6 ....................................................................................................21

Exemplo 4.7 ....................................................................................................21

4.5 Usando a função median(x) ........................................................................21

Exemplo 4.8 ....................................................................................................22

Exemplo 4.9 ....................................................................................................22

4.6 Usando as funções var(x) e sd(x)................................................................22

Exemplo 4.10..................................................................................................22

Exemplo 4.11..................................................................................................22

4.7 Usando a função quantile(x,p) ....................................................................23

Exemplo 4.12..................................................................................................23

4.8 Usando a função cor(x,y) e cov(x,y)...........................................................23

Exemplo 4.13..................................................................................................23

4.9 Tabelas ...........................................................................................................23

4.10 Função summary(x)....................................................................................24

4

5. Gráficos ...........................................................................................................25

5.1 Dispersão.......................................................................................................26

Exemplo 5.1 ....................................................................................................26

Exemplo5.2 .................................................................................................27

5.2 Box-plot ....................................................................................................28

Exemplo 5.3 ....................................................................................................28

Exemplo 5.4 ....................................................................................................29

Exemplo 5.5 ....................................................................................................30

5.3 Colunas......................................................................................................31

Exemplo 5.6 ....................................................................................................31

Exemplo 5.7 ....................................................................................................32

5.4 Setores .......................................................................................................33

Exemplo 5.8 ....................................................................................................33

Exemplo 5.9 ....................................................................................................34

5.5 Histograma................................................................................................35

Exemplo 5.10..................................................................................................35

Exemplo 5.11..................................................................................................36

Exemplo 5.12..................................................................................................37

Exemplo 5.13..................................................................................................38

Exemplo 5.14..................................................................................................39

Exemplo 5.15..................................................................................................40

5

1. Introdução

O R é um programa gratuito, de código aberto e livremente distribuído que

proporciona análises estatísticas de alta qualidade. Pelo fato de ser usada uma

linguagem de programação pode existir certa dificuldade até que se familiarize

com os comandos mais comuns. Detalhes sobre o projeto, colaboradores,

documentação e diversas outras informações podem ser encontradas na

página oficial do projeto em: http://www.r-project.org.

Ao abrir o R no seu computador, é assim que o programa será apresentado.

Um outro tipo de R, sendo a única diferença sua forma de ser apresentado, é

o Tinn-R. A principal diferença do Tinn-R para o R é que no Tinn-R, a janela

de edição fica sempre aberta (lado esquerdo), impossibilitando o uso direto

pela janela do R, já que a janela tem apenas a função de mostrar os resultados.

6

No caso do R, você tem a opção de abrir uma janela de edição, podendo

sempre que quiser fazer alterações na própria janela do R. Abaixo está a

principal imagem do Tinn-R, onde do lado esquerdo está a tela de edição, e do

lado direito a tela do R.

Este material foi desenvolvido durante o projeto de monitoria de Métodos

Computacionais I, com o objetivo de auxiliar o aprendizado do conteúdo

abordado em Estatística Básica I.

Para que o iniciante no R se torne apto a colocar em prática o que foi

apresentado durante as aulas, é preciso uma pequena introdução de como usar

o R.

2. Operações Básicas

No R podemos resolver todas as operações básicas vistas frequentemente. São

elas:

7

• Adição/Subtração [+/-]

• Multiplicação [*]

• Divisão [/]

• Potência [** ou ^]

• Raiz quadrada [sqrt()]

• Exponencial [exp(), log()]

obs.: A função log() no R, é equivalente ao log na base e. Caso queria

calcular na base 10, basta colocar log10().

Abaixo segue um exemplo de cada uma das operações, utilizando o R:

Exemplo 2.1

3. Armazenando dados

Existem quatro tipos básicos de dados no R, os numéricos, os de caracteres, os

lógicos e os complexos. Os mais utilizados são os numéricos, que são dados

compostos por números, e os de caracteres, que são dados compostos por

letras ou palavras.

8

Quando os dados são armazenados, eles são chamados de objeto. Para

armazenar um objeto, basta utilizar o símbolo “<-” ou “=”. Supondo que um

objeto tenha valor 4, ao digitarmos seu nome, é exibido seu valor. Segue o

exemplo:

Exemplo 3.1

Algumas regras devem ser seguidas na hora de dar nome a um objeto. O nome

do objeto precisa começar com uma letra, não pode ser um número, não pode

conter símbolos referentes a funções ou nome de funções e a “seta” deve ser

estar sempre apontada para o nome do objeto.

Abaixo segue alguns exemplos não válidos:

Exemplo 3.2

Os objetos podem ter várias formas, inclusive funções podem ser

armazenadas como objeto. As formas mais utilizadas para armazenar dados

são os vetores, matrizes e data-frames.

3.1 Vetor

O vetor é a forma mais simples de ter os dados armazenados. Pode ser

um vetor numérico ou de caractere. A função c() é utilizada na criação do

vetor. Sempre que armazenar um vetor de caractere é necessário colocar as

aspas em palavra do vetor.

9

Exemplo 3.3

Supondo que queremos fazer algumas análises de uma seqüência de

números, ou apenas de números pares, ou apenas de números primos, ou até

mesmo de números repetidos. Para isso temos duas importantes funções a

função seq() e a função rep(). A função seq() lista a seqüência de números que

quiser, no intervalo que quiser. Já a função rep() lista números repetidos,

quantos números quiser com quantas repetições quiser.

Exemplo 3.4

10

Outra ferramenta que pode ser muito útil ao trabalhar com vetores é a

de seleção de elementos dentro de um vetor. Para isso são utilizados os

colchetes e indicados as posições ou os próprios elementos.

Exemplo 3.5

Podemos aplicar as operações básicas nos vetores também. Ao somar,

subtrair, dividir ou multiplicar dois vetores (numéricos) observamos que cada

“coordenada” de um vetor é somada, subtraída, dividida ou multiplicada pela

“coordenada” correspondente do outro vetor. Por isso soma e multiplicação

de vetores não pode ser confundida com somatório e produtório de vetores.

Veja o exemplo 1.

11

Exemplo 3.6

3.2 Matriz

Matriz é um conjunto de vetores numéricos. Podemos criar uma matriz a

partir de um ou mais vetores, e também podemos transformar uma matriz em

vetor. Lembrando que o vetor tem que ser numérico para ser transformado

em matriz.

Vamos mostrar alguns comandos para se criar uma matriz, como por

exemplo, o comando matrix() que cria uma matriz a partir de uma seqüência

de números, sendo esta seqüência atribuída às colunas da matriz a ser formada

(este é o padrão do comando matrix(), preencher a matriz na seguinte ordem:

da primeira coluna em direção à última coluna). Veja o exemplo:

Exemplo 3.7

Vamos criar uma matriz a partir da seqüência de números de 1 a 9, com 3

linhas e 3 colunas. Temos duas opções:

12

matrix(c(1:9),nrow=3) ou matrix(c(1:9),ncol=3) #Matriz formada pelos

números de 1 até 9, com 3 linhas.

Observe que ambos os comandos resultaram na criação da mesma

matriz, a seqüência foi alocada da primeira coluna em direção a terceira na

ordem de formação dos números.

Entretanto se quiséssemos que a matriz fosse preenchida na ordem da

primeira linha para a última, deveríamos informar no comando matriz() que o

argumento byrow=T (pois byrow=F é o padrão e pode ser omitido no

comando, conforme vemos acima). Veja como ficaria:

Exemplo 3.8

matrix(c(1:9),ncol=3,byrow=T) ou matrix(c(1:9),nrow=3,byrow=T)

#Matriz formada pelos números de 1 até 9, com 3 linhas, e distribuição dos

números por linha (Primeiro número na primeira linha e na primeira coluna,

segundo número do vetor na primeira linha e na segunda coluna e assim por

diante.)

Podemos também criar matrizes a partir de vetores pré definidos, veja o

exemplo 3.8, em que temos um vetor x de comprimento 9 e a partir dele

criamos uma matriz 3x3.

13

Exemplo 3.9

matrix(x,byrow=T,nrow=2) #Matriz formada pelo vetor x, com 2

linhas, e distribuição dos números por linha (Primeiro número do vetor na

primeira linha e na primeira coluna, segundo número do vetor na primeira

linha e na segunda coluna e assim por diante.)

matrix(x,byrow=F,nrow=2) #Matriz formada pelo vetor x, com 2

linhas, e distribuição dos números por coluna (Primeiro número do vetor na

primeira linha e na primeira coluna, segundo número do vetor na segunda

linha e na primeira coluna coluna e assim por diante.)

Outro comando que também pode ser usado para criação de matrizes é o

comando cbind ou rbind, o primeiro cria matrizes por colunas e o segundo

por linhas. Veja o exemplo 3.9

14

Exemplo 3.10

Cada elemento da matriz é armazenado no objeto matriz associado com

seu número de linha e de coluna. Dessa forma podemos obter parte de uma

matriz através de comandos bem simples, como pode ser visto no exemplo

3.10

Exemplo 3.11

Suponha que desejamos o conteúdo da primeira coluna ou da primeira linha

da matriz, utilizamos o seguinte comando:

3.3 Data frame

Data frame é muito parecido com a matriz, a diferença é que enquanto

na matriz só podem haver números, no data frame podem ter colunas de

15

caracteres além das colunas numéricas. Uma das melhores formas de

armazenar dados, onde cada coluna é uma variável e cada linha é o indivíduo,

ou pessoa, ou unidade.

Exemplo 3.12

Uma maneira diferente de criar um data frame é utilizando a função

edit(data.frame()). Ao usar essa função, uma janela, parecida com uma planilha

do Excel, é aberta para digitar as informações do banco de dados. Para

colocar os nomes das variáveis, basta clicar em cima do “var1”, que uma

janela é aberta para você escrever o nome da variável de dizer se é numérica

ou de caractere.

16

Há ainda um outro caminho para ter o banco de dados no R. A função

read.csv2(file=”local do arquivo/nome do arquivo.csv”) pode ler arquivos

com a extensão .csv que estiverem salvos no computador. Então, caso tenha

digitado o banco de dados no Excel, basta salvar com a extensão .csv que ele

poderá ser lido no R. E para você utilizar os dados que foram lidos, basta usar

a função attach(nome do objeto), dessa forma poderá usar todas as outras

funções sem maiores problemas.

Exemplo 3.13

17

Agora que foi feita uma introdução do R, já é possível utiliza-lo para por

em prática o que foi estudado em sala de aula.

18

4. Funções mais utilizadas

Ao estudar Estatística Básica I são utilizados muitos cálculos para observar

diferentes medidas. As principais medidas estudadas e calculadas são as

medidas de centralidade, medidas de dispersão, medidas de posição e medidas

de assimetria. Usando o R é possível realizar esses cálculos, e muitos outros,

de forma prática e rápida, facilitando a observação dos resultados do banco de

dados.

Abaixo segue o nome das principais funções utilizadas, e quando elas são

utilizadas.

Função Utilização

Sum(x) Somatório dos elementos de x

prod(x) Produtório dos elementos de x

Max(x) Elemento máximo em x

Min(x) Elemento mínimo em x

range(x) Elemento máximo e mínimo em x

length(x) Número total de elementos em x

mean(x) Média de x

median(x) Mediana de x

Var(x) Variância de x

sd(x) Desvio padrão de x

cor(x,y) Correlação entre x e y

quantile(x,p) Quantil

cov(x,y) Covariância de x e y

19

Para exemplificar cada uma das funções usaremos um banco de dados que

mostra o sexo, peso e altura de uma determinada turma de alunos. Para isso

usaremos a função “read.csv2(file=...”.

Exemplo 4.1

Agora que os dados já estão armazenados podemos começar as análises

descritivas.

4.1 Usando a função length(x)

Usamos essa função para calcular o tamanho da amostra. Utilizada no

banco de dados, podemos descobrir o número de variáveis.

20

Exemplo 4.2

4.2 Usando as funções min(x), max(x) e range(x)

Usamos a função min(x) para achar o menor valor da variável quantitativa,

a função max(x) para achar o maior valor da variável quantitativa e range(x)

para achar, ao mesmo tempo, o menor e o maior valor da variável quantitativa

observada.

Exemplo 4.3

4.3 Usando a função sum(x) e prod(x)

Essas funções, basicamente, somam e multiplicam, respectivamente, os

valores da variável observada. Não esquecer que sum(x) e prod(x) é diferente

de soma de vetores de produto de vetores, como visto anteriormente.

Exemplo 4.4

21

Podemos usar a função sum(x) para compor a média (que sabemos que é o

somatório dos valores dividido pelo tamanho da amostra).

Exemplo 4.5

4.4 Usando a função mean(x)

Usamos a função mean(x) para achar a média da variável observada.

Exemplo 4.6

Também podemos encontrar a média somente para alguns valores na

variável. Nesse caso temos uma forma de especificar nossa escolha.

Exemplo 4.7

Média do peso dos alunos de sexo feminino.

4.5 Usando a função median(x)

Usamos a função median(x) para achar a mediana da variável observada.

22

Exemplo 4.8

Também podemos encontrar a mediana somente para alguns valores na

variável. Nesse caso temos uma forma de especificar nossa escolha.

Exemplo 4.9

Mediana do peso dos alunos do sexo masculino.

4.6 Usando as funções var(x) e sd(x)

Usamos as funções var(x) e sd(x) para achar, respectivamente, a variância e

o desvio padrão da variável observada.

Exemplo 4.10

Também podemos encontrar a variância e o desvio padrão somente para

alguns valores na variável. Nesse caso temos uma forma de especificar nossa

escolha.

Exemplo 4.11

Variância do peso dos alunos do sexo feminino e desvio padrão da altura

dos alunos do sexo masculino.

23

4.7 Usando a função quantile(x,p)

Usamos a função quantile(x,p) para cacular percentil.

Exemplo 4.12

4.8 Usando a função cor(x,y) e cov(x,y)

Usamos essas funções quando queremos observar a relação entre duas

variáveis quantitativas.

Exemplo 4.13

4.9 Tabelas

Utilizamos as tabelas para observar de forma mais rápida o

comportamento de certa variável. Deve-se ter atenção para a diferença entre

as tabelas de variáveis qualitativas e quantitativas discretas para as quantitativas

contínuas.

Para as variáveis qualitativas e quantitativas discretas basta usar a função

table(x).

24

Podemos fazer também a tabela de freqüência relativa, nesse caso usamos

prop.table(x).

Para fazer tabela de freqüências para variáveis quantitativas contínuas é um

pouco mais complicado. Devemos observar seu menor valor, seu maior valor

e a amplitude de cada intervalo. Para isso usamos a função range(x) que já foi

utilizada anteriormente, e usamos a regra da raiz do tamanho da amostra, no

caso é raiz de length(x).O valor encontrado deve ser arredondado, e a

amplitude será o valor encontrado mais 1.

4.10 Função summary(x)

Usada para variáveis quantitativas. Essa função dá um resumo de algumas

funções que foram aprendidas anteriormente: min(x), max(x), median(x),

mean(x), quantile(x,0.25) e quantile(x,0.75).

25

5. Gráficos

Ao digitar a função para criação de gráfico no R, ao invés de

aparecer na própria janela o resultado (como acontece com as outras

funções), uma nova janela é aberta, automaticamente, contendo o

gráfico. Como nos gráficos feitos no Excel, também podemos

colocar títulos, diferentes cores e legendas nos gráficos do R. Abaixo

teremos um exemplo de cada tipo de gráfico, primeiro da forma

mais simples, e depois com título e cores modificadas.

Para fazer um gráfico com título, mudar o estilo e cor dos

pontos, basta adicionar algumas funções dentro da própria função

do gráfico. Abaixo seguem algumas funções para esse tipo de

formatação.

main="Título do gráfico" # Coloca um título no gráfico

pch=número # Muda o tipo do ponto no gráfico de

dispersão

col="nome da cor" # Coloca cor no gráfico

abline(lm(Variável1~Variável2)) # Reta de regressão linear

26

5.1 Dispersão

Para realizar o gráfico de dispersão no R, basta utilizarmos a função

plot(x,y), onde x e y são os vetores onde estão armazenados os valores das

variáveis quantitativas.

Exemplo 5.1

27

Exemplo5.2

28

5.2 Box-plot

Para fazer um gráfico de box-plot, basta utilizar a função de mesmo

nome, boxplot(x), sendo x o nome da variável.

Exemplo 5.3

29

Exemplo 5.4

30

Exemplo 5.5

31

5.3 Colunas

Exemplo 5.6

32

Exemplo 5.7

33

5.4 Setores

Exemplo 5.8

34

Exemplo 5.9

35

5.5 Histograma

Exemplo 5.10

36

Exemplo 5.11

37

Uma outra função que pode ser muito interessante para comparar

gráficos de diferentes variáveis é a função par(mfrow=c(x,y)), onde x é o

número de linhas e y o número de colunas, seguida das funções dos gráficos.

Essa função faz com que mais de um gráfico apareça na mesma janela.

Exemplo 5.12

38

Exemplo 5.13

39

Exemplo 5.14

40

Exemplo 5.15

41

42

Exercícios

Resolva as seguintes operações:

a) 43- ) ]([ 5324 +−

b) ] )121(log3257

2110−+

c)( )

4

5

323

3413

+

2. Crie uma seqüência de dados de 1 a 30 apenas com números ímpares.

3. Crie uma seqüência decrescente de dados de 102 a 334 apenas com

números pares.

4. Crie uma seqüência de dados de 1 a 5, com cada um dos números

repetindo 2 vezes.

5. Crie uma seqüência de dados de 1 a 4, repetindo essa seqüência 3 vezes.

6. A partir dos resultados abaixo, retorne o comando que realiza esse

resultado:

a) [1] 5 6 1

b) [1] -5 -4 -3 -2 -1 0 1 2 3 4 5

c) [1] 1 1 1 2 2 2 3 3 3

d) 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

43

Agora, dado os vetores abaixo, encontre os comandos que realize os

seguintes resultados:

x<-c(1,3,5,7,9) y<-c(2,3,5,11,13)

e) [1] 2 4 6 8 10

f) [1] 4 6 10 22 26

g) [1] 3 6 10 18 22

7. Suponha que você marcou o tempo que você leva para chegar à

faculdade durante 10 dias e esses tempos foram:

17,13,13,11,13,15,16,18,21,26.

Armazene esses valores em um vetor chamado tempo. Para esses valores,

calcule o tempo máximo, mínimo e o tempo médio que você levou para

chegar na faculdade.

8. Em uma pesquisa feita sobre a população de sapos em 10 regiões

diferentes, foram observados os números de sapo, a umidade e a temperatura

de cada região. Abaixo seguem os dados:

sapos 7-12-10-16-17-21-13-24-25-31

umid 63-23-29-36-41-74-44-58-61-76

temp 32-30-29-16-24-10-11-25-22-12

a) Armazene os dados acima como data frame no R.

b) Calcule a média e mediana para cada uma das observações.

c) Faça dois gráficos de dispersão, para aparecerem na mesma janela, um

comparando o número de sapos com a umidade da região e outro

comparando o número de sapos com a temperatura.

44

9. Durante um ano foi observado o consumo de energia de uma casa e a

temperatura, a fim de descobrir se havia alguma relação entre o consumo e a

temperatura. Abaixo seguem os dados de cada mês:

Mês = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Consumo de energia = 87, 45, 92, 138, 99, 41, 59, 118, 132, 50, 43, 52

Temperatura em ºC = 20, 19, 26, 35, 23, 15, 26, 29, 32, 21, 17, 23

a) Armazene os dados do consumo de energia como “consumo” e da temperatura com “temp”, como um objeto do tipo data.frame.

b) Calcule a correlação e a covariância entre esses dados. c) Faça um gráfico de dispersão entre as duas variáveis e inclua no gráfico

uma linha de tendência, na cor vermelha e a equação da reta.

10. O tempo de vida de algumas baterias, da mesma marca, foi observado a

fim de descobrir se o tempo de garantia atual (3 anos) era suficiente. Abaixo

seguem os tempos observados:

4.0 2.3 2.6 2.9 3.5 3.6 3.9 3.8 4.3 2.4 3.2 3.3 2.0 2.6 2.7 2.9

3.8 2.9 2.2 3.7 2.1 3.6 3.6 2.3 4.0

a)Construa a tabela de freqüência e o histograma

b)Calcule a média

c)Calcule a variância

45