Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Análise Estatística em R: Exemplos e Aplicativos, Notas de estudo de Matemática

Vários exemplos de análise estatística utilizando o software r. Ele aborda diferentes temas, como a criação de gráficos, cálculos estatísticos básicos, análise de variância e distribuições de probabilidade. Além disso, são apresentados alguns conjuntos de dados disponíveis no r e como obter resultados utilizando comandos específicos.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 10/08/2008

petterson-pramiu-3
petterson-pramiu-3 🇧🇷

8 documentos

1 / 113

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Curso sobre o programa computacional R
Paulo Justiniano Ribeiro Junior
´
Ultima atualiza¸ao: 16 de janeiro de 2005
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Análise Estatística em R: Exemplos e Aplicativos e outras Notas de estudo em PDF para Matemática, somente na Docsity!

Paulo Justiniano Ribeiro Junior

Ultima atualiza¸´ c˜ao: 16 de janeiro de 2005

Sobre o ministrante do curso

Paulo Justiniano Ribeiro Junior ´e Eng. Agrˆonomo pela ESAL, Lavras (atual UFLA), Mestre em Agronomia com ´area de concentra¸c˜ao em estat´ıstica e experimenta¸c˜ao agronˆomica pela ESALQ/USP. PhD em Estat´ıstica pela Lancaster University, UK. PJRJr ´e professor do Departamento de Estat´ıstica da Universidade Federal do Paran´a desde 1992 e tem usado o programa R em suas pesquisas desde 1999. E co-autor dos pacotes´ geoR e geoRglm contribu´ıdos ao CRAN (Compreheensive R Arquives Network).

tornando vis´ıveis as colunas do data-frame

attach(dummy)

fazendo uma regress~ao local n~ao-param´etrica, e visualizando o resultado

lrf <- lowess(x, y) plot(x, y) lines(lrf)

... e a linha de regress~ao verdadeira (intercepto 0 e inclina¸c~ao 1)

abline(0, 1, lty=3)

a linha da regress~ao sem pondera¸c~ao

abline(coef(fm))

e a linha de regress~ao ponderada.

abline(coef(fm1), col = "red")

removendo o objeto do caminho de procura

detach()

O gr´afico diagn´ostico padr~ao para checar homocedasticidade.

plot(fitted(fm), resid(fm), xlab="Fitted values", ylab="Residuals", main="Residuals vs Fitted")

gr´aficos de escores normais para checar assimetria, curtose e outliers (n~ao muito ´util a

qqnorm(resid(fm), main="Residuals Rankit Plot")

‘‘limpando’’ novamente (apagando objetos)

rm(fm, fm1, lrf, x, dummy)

Agora vamos inspecionar dados do experimento cl´assico de Michaelson e Morley para medir a velo- cidade da luz. Clique para ver o arquivo morley.tab de dados no formato texto. Gravar este arquivo no diret´orio c:\temp.

para ver o arquivo digite:

file.show("c:\temp\morley.tab.txt")

Lendo dados como um ’data-frame’ e inspecionando seu conte´udo.

H´a 5 experimentos (coluna Expt) e cada um com 20 ‘‘rodadas’’(coluna

Run) e sl ´e o valor medido da velocidade da luz numa escala apropriada

mm <- read.table("c:\temp\morley.tab.txt") mm

definindo Expt e Run como fatores

mm$Expt <- factor(mm$Expt) mm$Run <- factor(mm$Run)

tornando o data-frame vis´ıvel na posi¸c~ao 2 do caminho de procura (default)

attach(mm)

comparando os 5 experimentos

plot(Expt, Speed, main="Speed of Light Data", xlab="Experiment No.")

analisando como blocos ao acaso com ‘runs’ and ‘experiments’ como

fatores e inspecionando resultados fm <- aov(Speed ~ Run + Expt, data=mm) summary(fm) names(fm) fm$coef

ajustando um sub-modelo sem ‘‘runs’’ e comparando via an´alise de vari^ancia

fm0 <- update(fm,. ~. - Run) anova(fm0, fm)

desanexando o objeto e limpando novamente

detach() rm(fm, fm0)

Vamos agora ver alguns gr´aficos gerados pelas fun¸c˜oes contour e image.

x ´e um vetor de 50 valores igualmente espa¸cados no intervalo [-pi, pi]. y idem.

x <- seq(-pi, pi, len=50) y <- x

f ´e uma matrix quadrada com linhas e colunas indexadas por x e y respectivamente

com os valores da fun¸c~ao cos(y)/(1 + x^2).

f <- outer(x, y, function(x, y) cos(y)/(1 + x^2))

gravando par^ametros gr´aficos e definindo a regi~ao gr´afica como quadrada

oldpar <- par(no.readonly = TRUE) par(pty="s")

fazendo um mapa de contorno de f e depois adicionando mais linhas para maiores detalhes

contour(x, y, f) contour(x, y, f, nlevels=15, add=TRUE)

fa ´e a ‘‘parte assim´etrica’’. (t() ´e transposi¸c~ao).

fa <- (f-t(f))/

fazendo um mapa de contorno

contour(x, y, fa, nlevels=15)

... e restaurando par^ametros gr´aficos iniciais

par(oldpar)

Fazendo um gr´afico de imagem

image(x, y, f) image(x, y, fa)

e apagando objetos novamente antes de prosseguir.

objects(); rm(x, y, f, fa)

2 Aritm´etica e Objetos

2.1 Opera¸c˜oes aritm´eticas

Voce pode usar o R para avaliar algumas express˜oes aritm´eticas simples. Por exemplo:

> 1+2+3 # somando estes n´umeros ... [1] 6 # obtem-se a resposta marcada com [1]

> 2+3*4 # um pouquinho mais complexo [1] 14 # prioridade de opera¸c~oes (multiplica¸c~ao primeiro)

[1] 2.5 # assim como divis~ao

> 43*3 # pot^encias s~ao indicadas por ** ou ^ [1] 108 # e tem prioridade sobre multiplica¸c~ao e divis~ao

O s´ımbolo [1] pode parecer estranho e ser´a explicado mais adiante. O R tamb´em disponibiliza fun¸c˜oes como as que voce encontra em uma calculadora:

> sqrt(2) [1] 1.

> sin(3.14159) # seno(Pi radianos) ´e zero [1] 2.65359e-06 # e a resposta ´e bem pr´oxima ...

O valor Pi est´a dispon´ıvel como uma constante. Tente isto:

> sin(pi) [1] 1.224606e-16 bem mais pr´oximo de zero ...

Aqui est´a uma lista resumida de algumas fun¸c˜oes aritm´eticas no R:

sqrt raiz quadrada abs valor absoluto (positivo) sin cos tan fun¸c˜oes trigonom´etricas asin acos atan fun¸c˜oes trigonom´etricas inversas sinh cosh tanh fun¸c˜oes hiperb´olicas asinh acosh atanh fun¸c˜oes hiperb´olicas inversas exp log exponencial e logar´ıtmo natural log10 logar´ıtmo base-

Estas express˜oes podem ser agrupadas e combinadas em express˜oes mais complexas:

> sqrt(sin(45*pi/180)) [1] 0.

2.2 Objetos

O R ´e uma linguagem orientada `a objetos: vari´aveis, dados, matrizes, fun¸c˜oes, etc s˜ao armazenados na mem´oria ativa do computador na forma de objetos. Por exemplo, se um objeto x tem o valor 10 ao digitarmos e seu nome e programa exibe o valor do objeto:

> x [1] 10

O d´ıgito 1 entre colchetes indica que o conte´udo exibido inicia-se com o primeiro elemento de x. Voce pode armazenar um valor em um objeto com certo nome usando o s´ımbolo ¡- (ou -¿). Exemplos:

> x <- sqrt(2) # armazena a raiz quadrada de 2 em x > x # digite o nome do objeto para ver seu conte´udo [1] 1.

Alternativamente podem-se usar o s´ımbolos ->, = ou. As linhas a seguir produzem o mesmo resultado.

> x <- sin(pi) # este ´e o formato ‘‘tradicional’’ > sin(pi) -> x > x = sin(pi) # este formato foi introduzido em vers~oes mais recentes

Neste material ser´a dada preferˆencia ao primeiro s´ımbolo. Usu´arios pronunciam o comando dizendo que o objeto recebe um certo valor. Por exemplo em x <- sqrt(2) dizemos que ”x recebe a raiz quadrada de 2”. Como pode ser esperado voce pode fazer opera¸c˜oes aritm´eticas com os objetos.

> y <- sqrt(5) # uma nova vari´avel chamada y > y+x # somando valores de x e y [1] 2.

Note que ao atribuir um valor a um objeto o programa n˜ao imprime nada na tela. Digitando o nome do objeto o programa imprime seu conte´udo na tela. Digitando uma opera¸c˜ao aritm´etica, sem atribuir o resultado a um objeto, faz com que o programa imprima o resultado na tela. Nomes de vari´aveis devem come¸car com uma letra e podem conter letras, n´umeros e pontos. Mai´usculas e min´usculas s˜ao consideradas diferentes. DICA: tente atribuir nomes que tenham um significado l´ogico. Isto facilita lidar com um grande n´umero de objetos. Ter nomes como a1 at´e a20 pode causar confus˜ao... Aqui est˜ao alguns exemplo v´alidos

> x <- 25 > x * sqrt(x) -> x > x2.1 <- sin(x1) > xsq <- x2.12 + x2.2

E alguns que N AO s˜˜ ao v´alidos

> 99a <- 10 #‘99a’ n~ao come¸ca com letra > a1 <- sqrt 10 # Faltou o par^entesis em sqrt > a1_1 <- 10 # N~ao pode usar o ’underscore’ em um nome > a-1 <- 99 # h´ıfens tamb´em n~ao podem ser usados... > sqrt(x) <- 10 # n~ao faz sentido...

sum(x9) mean(x9) var(x9) min(x9) max(x9) summary(1:10)

x10 <- x9[x9 > 72]

Para mais detalhes sobre vetores voce pode consultar as seguinte p´aginas:

  • Vetores
  • Aritm´etica de vetores
  • Caracteres e fatores
  • Vetores L´ogicos
  • ´Indices

3.2 Matrizes

m1 <- matrix(1:12, ncol=3) m length(m1) dim(m1) nrow(m1) ncol(m1) m1[1,2] m1[2,2] m1[,2] m1[3,] dimnames(m1) dimnames(m1) <- list(c("L1", "L2", "L3","L4"), c("C1","C2","C3")) dimnames(m1) m1[c("L1","L3"),] m1[c(1,3),]

m2 <- cbind(1:5, 6:10) m

m3 <- cbind(1:5, 6) m

Para mais detalhes sobre matrizes consulte a p´agina:

  • Matrizes

3.3 Arrays

O conceito de array generaliza a id´eia de matrix. Enquanto em uma matrix os elementos s˜ao organizados em duas dimens˜oes (linhas e colunas), em um array os elementos podem ser organizados em um n´umero arbitr´ario de dimens˜oes. No R um array ´e definido utilizando a fun¸c˜ao array().

  1. Defina um array com o comando a seguir e inspecione o objeto certificando-se que voce entendeu como arrays s˜ao criados.

ar1 <- array(1:24, dim=c(3,4,2)) ar

Examine agora os seguinte comandos:

ar1 <- array(1:24, dim=c(3,4,2)) ar1[,2:3,] ar1[2,,1] sum(ar1[,,1]) sum(ar1[1:2,,1])

  1. Inspecione o “help” da fun¸c˜ao array (digite help(array)), rode e inspecione os exemplos contidos na documenta¸c˜ao.

Veja agora um exemplo de dados j´a incluido no R no formato de array. Para “carregar” e visualizar os dados digite:

data(Titanic) Titanic

Para maiores informa¸c˜oes sobre estes dados digite:

help(Titanic)

Agora responda `as seguintes perguntas, mostrando os comandos do R utilizados:

  1. quantas pessoas havia no total?
  2. quantas pessoas havia na tripula¸c˜ao (crew)?
  3. quantas crian¸cas sobreviveram?
  4. qual a propor¸c˜ao (em %) entre pessoas do sexo masculino e feminino entre os passageiros da primeira classe?
  5. quais sao as propor¸c˜oes de sobreviventes entre homens e mulheres?

3.4 Data-frames

d1 <- data.frame(X = 1:10, Y = c(51, 54, 61, 67, 68, 75, 77, 75, 80, 82)) d names(d1) d1$X d1$Y plot(d1) plot(d1$X, d1$Y)

d2 <- data.frame(Y= c(10+rnorm(5, sd=2), 16+rnorm(5, sd=2), 14+rnorm(5, sd=2))) d2$lev <- gl(3,5) d by(d2$Y, d2$lev, summary)

d3 <- expand.grid(1:3, 4:5) d

4 Entrando com dados

Pode-se entrar com dados no R de diferentes formas. O formato mais adequado vai depender do tamanho do conjunto de dados, e se os dados j´a existem em outro formato para serem importados ou se ser˜ao digitados diretamente no R. A seguir s˜ao descritas 4 formas de entrada de dados com indica¸c˜ao de quando cada uma das formas deve ser usada. Os trˆes primeiros casos s˜ao adequados para entrada de dados diretamente no R, enquanto o ´ultimo descreve como importar dados j´a dispon´ıveis eletronicamente.

4.1 Definindo vetores

Podemos entrar com dados definindo vetores com o comando c() (“c“ corresponde a concatenate) ou usando fun¸c˜oes que criam vetores. Veja e experimente com os seguinte exemplos.

a1 <- c(2,5,8) # cria vetor a1 com os dados 2, 5 e 8 a1 # exibe os elementos de a

a2 <- c(23,56,34,23,12,56) a

Esta forma de entrada de dados ´e conveniente quando se tem um pequeno n´umero de dados. Quando os dados tem algum “padr˜ao” tal como elementos repetidos, n´umeros sequenciais pode-se usar mecanismos do R para facilitar a entrada dos dados como vetores. Examine os seguintes exemplos.

a3 <- 1:10 # cria vetor com n´umeros sequenciais de 1 a 10 a

a4 <- (1:10)*10 # cria vetor com elementos 10, 20, ..., 100 a

a5 <- rep(3, 5) # cria vetor com elemento 3 repetido 5 vezes a

a6 <- rep(c(5,8), 3) # cria vetor repetindo 3 vezes 5 e 8 alternadamente a

a7 <- rep(c(5,8), each=3) # cria vetor repetindo 3 vezes 5 e depois 8 a

4.2 Usando a fun¸c˜ao scan

Est´a fun¸c˜ao coloca o Rem modo prompt onde o usu´ario deve digitar cada dado seguido da tecla ¡ENTER¿. Para encerrar a entrada de dados basta digitar ¡ENTER¿ duas vezes consecutivas. Veja o seguinte resultado:

y <- scan() #1: 11 #2: 24 #3: 35 #4: 29 #5: 39 #6: 47

#Read 6 items

y #[1] 11 24 35 29 39 47

Este formato ´e maais ´agil que o anterior e ´e conveniente para digitar vetores longos.

4.3 Usando a fun¸c˜ao edit

O comando edit(data.frame()) abre uma planilha para digita¸c˜ao de dados que s˜ao armazanados como data-frames. Data-frames s˜ao o an´alogo no R a uma planilha. Portanto digitando

a8 <- edit(data.frame())

ser´a aberta uma planilha na qual os dados devem ser digitados. Quando terminar de entrar com os dados note que no canto superior direito da planilha existe um bot˜ao ¡QUIT¿. Pressionando este bot˜ao a planilha ser´a fechada e os dados ser˜ao gravados no objeto indicado (no exemplo acima no objeto a8). Se voce precisar abrir novamente planilha com os dados, para fazer corre¸c˜oes e/ou inserir mais dados use o comando fix. No exemplo acima voce digitaria fix(a8). Esta forma de entrada de dados ´e adequada quando voce tem dados que n˜ao podem ser armazenados em um ´unico vetor, por exemplo quando h´a dados de mais de uma vari´avel para serem digitados.

4.4 Lendo dados de um arquivo texto

Se os dados j´a est˜ao dispon´ıveis em formato eletrˆonico, isto ´e, j´a foram digitados em outro programa, voce pode importar os dados para o R sem a necessidade de digit´a-los novamente. A forma mais f´acil de fazer isto ´e usar dados em formato texto (arquivo do tipo ASCII). Por exemplo, se seus dados est˜ao dispon´ıveis em uma planilha eletrˆonica como EXCEL ou similar, voce pode na planilha escolher a op¸c˜ao ¡SALVAR COMO¿ e gravar os dados em um arquivo em formato texto. No R usa-se a fun¸c˜ao read.table para ler os dados de um arquivo texto e armazenar no formato de data-frame.

Exemplo 1 Como primeiro exemplo considere importar para o R os dados deste arquivo texto. Clique no link para visualizar o arquivo. Agora copie o arquivo para sua ´area de trabalho (working directory do R). Para importar este arquivo usamos:

ex01 <- read.table(‘‘gam01.txt’’) ex

Exemplo 2 Como primeiro exemplo considere importar para o R os dados deste arquivo texto. Clique no link para visualizar o arquivo. Agora copie o arquivo para sua ´area de trabalho (working directory do R). Note que este arquivo difere do anterior em um aspecto: os nomes das vari´aveis est˜ao na primeira linha. Para que o R considere isto corretamente temos que inform´a-lo disto com o argumento head=T. Portanto para importar este arquivo usamos:

ex02 <- read.table(‘‘exemplo02.txt’’, head=T) ex

5 An´alise descritiva

5.1 Descri¸c˜ao univariada

Nesta sess˜ao vamos ver alguns (mas n˜ao todos!) comandos do R para fazer uma an´alise descritiva de um conjunto de dados. Uma boa forma de iniciar uma an´alise descritiva adequada ´e verificar os tipode de vari´aveis dis- pon´ıveis. Vari´aveis podem ser classificadas da seguinte forma:

  • qualitativas (categ´oricas)
    • nominais
    • ordinais
  • quantitativas
    • discretas
    • cont´ınuas

e podem ser resumidas por tabelas, gr´aficos e/ou medidas. Vamos ilustrar estes conceitos com um conjunto de dados j´a inclu´ıdo no R, o conjunto mtcars que descreve caracter´ısticas de diferentes modelos de autom´ovel. Primeiro vamos carregar e inspecionar os dados.

> data(mtcars) > mtcars # mostra todo o conjunto de dados > dim(mtcars) # mostra a dimens~ao dos dados > mtcars[1:5,] # mostra as 5 primeiras linhas > names(mtcars) # mostra os nomes das vari´aveis > help(mtcars) # mostra documenta¸c~ao do conjunto de dados

Vamos agora, por simplicidade, selecionar um subconjunto destes dados com apenas algumas das vari´aveis. Para isto vamos criar um objeto chamado mtc que cont´em apenas as vari´aveis desejadas. Para selecion´a-las indicamos os n´umeros das colunas correspondentes `a estas vari´aveis.

> mtc <- mtcars[,c(1,2,4,6,9,10)] > mtc[1:5,] > names(mtc)

Vamos anexar o objeto para facilitar a digita¸c˜ao com o comando abaixo. O uso e sentido deste comando ser´a explicado mais adiante.

> attach(mtc)

Vamos agora ver uma descri¸c˜ao da vari´avel n´umero de cilindros. Vamos fazer uma tabela de frequˆencias absolutas e gr´aficos de barrase do tipo “torta“. Depois fazemos o mesmo para frequˆencias relativas.

> tcyl <- table(cyl) > barplot(tcyl) > pie(tcyl)

> tcyl <- 100* table(cyl)/length(cyl) > tcyl > prop.table(tcyl) # outra forma de obter freq. rel. > barplot(tcyl) > pie(tcyl)

Passando agora para uma vari´avel quantitativa cont´ınua vamos ver o comportamento da vari´avel que mede o rendimento dos carros (em mpg – milhas por gal˜ao). Primeiro fazemos uma tabela de frequˆencias, depois gr´aficos (histograma, box-plot e diagrama ramos-e-folhas) e finalmente obtemos algumas medidas que resumem os dados.

> table(cut(mpg, br=seq(10,35, 5)))

> hist(mpg) > boxplot(mpg) > stem(mpg)

> summary(mpg)

5.2 Descri¸c˜ao bivariada

Vamos primeiro ver o resumo de duas vari´aveis categ´oricas: o tipo de marcha e o n´umero de cilindros. Os comandos abaixo mostram como obter uma tabela com o cruzamento destas vari´aveis e gr´aficos.

> table(am, cyl) > prop.table(table(am, cyl)) > prop.table(table(am, cyl), margin=1) > prop.table(table(am, cyl), margin=2) > plot(table(am, cyl)) > barplot(table(am, cyl), leg=T) > barplot(table(am, cyl), beside=T, leg=T)

Agora vamos relacionar uma categ´orica (tipo de cˆambio) com uma cont´ınua (rendimento). O pri- meiro comando abaixo mostra como obter medidas resumo do rendimento para cada tipo de cˆambio. A seguir s˜ao mostrados alguns tipos de gr´aficos que podem ser obtidos para descrever o comportamento e associa¸c˜ao destas vari´aveis.

> tapply(mpg, am, summary)

> plot(am, mpg)

> m0 <- mean(mpg[am==0]) # m´edia de rendimento para cambio autom´atico > m > m1 <- mean(mpg[am==1]) # m´edia de rendimento para cambio manual > m

> points(c(0,1), c(m0, m1), cex=2,col=2, pch=20)

> par(mfrow=c(1,2)) > by(hp, am, hist) > par(mfrow=c(1,1))

Pode-se fazer um teste estat´ıstico (usando o teste t) para comparar os redimentos de carros com diferentes tipos de cˆambio e/ou com diferentes n´umeros de cilindros (usando a an´alise de variˆancia).

> t.test(mpg[am==0], mpg[am==1])

> tapply(mpg, cyl, mean) > plot(cyl,mpg) > anova(aov(mpg ~ cyl))

Note que os ´utimos tres comandos s˜ao trabalhosos de serem digitados pois temos que digitar airquality a cada vez! Mas h´a um mecanismo no R para facilitar isto: o caminho de procura (“search path”). Come¸ce digi- tando e vendo s sa´ıda de: search() O programa vai mostrar o caminho de procura dos objetos. Ou seja, quando voce usa um nome do objeto o R vai procurar este objeto nos caminhos indicado, na ordem apresentada. Pois bem, podemos “adicionar” um novo local neste caminho de procura e este novo local pode ser o nosso objeto airquality. Digite o seguinte e compare com o anterior:

> attach(airquality) # anexando o objeto airquality no caminho de procura. > search() # mostra o caminho agora com o airquality inclu´ıdo > mean(Temp) # e ... a digita¸c~ao fica mais f´acil e r´apida !!!! > mean(Ozone, na.rm=T) # pois com o airquality anexado o R acha as vari´aveis

NOTA: Para retirar o objeto do caminho de procura basta digitar detach(airquality).

Bem, agora ´e com voce!

Reflita sobre os dados e use seus conhecimentos de estat´ıstica para fazer uma an´alise

descritiva interessante destes dados.

Pense em quest˜oes relevantes e veja como usar medidas e gr´aficos para respondˆe-las. Use os comandos mostrados anteriormente. Por exemplo:

  • as m´edias mensais variam entre si?
  • como mostrar a evolu¸c˜ao das vari´aveis no tempo?
  • as vari´aveis est˜ao relacionadas?
  • etc, etc, etc

5.4 Descrevendo o conjunto de dados “Milsa” de Bussab & Morettin

O livro Estat´ıstica B´asica de W. Bussab e P. Morettin traz no primeiro cap´ıtulo um conjunto de dados hipot´etico de atributos de 36 funcion´arios da companhia “Milsa”. Os dados est˜ao reproduzidos na tabela 5.4. Veja o livro para mais detalhes sobre este dados. O que queremos aqui ´e ver como, no programa R:

  • entrar com os dados
  • fazer uma an´alise descritiva

Estes s˜ao dados no “estilo planilha”, com vari´aveis de diferentes tipos: categ´oricas e num´ericas (qualitativas e quantitativas). Portanto o formato ideal de armazanamento destes dados no R ´e o data.frame. Para entrar com estes dados no diretamente no Rpodemos usar o editor que vem com o programa. Para digitar rapidamente estes dados ´e mais f´acil usar c´odigos para as vari´aveis categ´oricas. Desta forma, na coluna de estado civil vamos digitar o c´odigo 1 para solteiro e 2 para casado. Fazemos de maneira similar com as colunas Grau de Instru¸c˜ao e Regi˜ao de Procedˆencia. No comando a seguir invocamos o editor, entramos com os dados na janela que vai aparecer na sua tela e quanto sa´ımos do editor (pressionando o bot˜ao QUIT) os dados ficam armazenados no objeto milsa. Ap´os isto digitamos o nome do objeto (milsa) e podemos ver o conte´udo digitado, como mostra a tabela 5.4. Lembre-se que se voce precisar corrigir algo na digita¸c˜ao voce pode fazˆe-lo abrindo a planilha novamente com o comando fix(milsa).

Tabela 1: Dados de Bussab & Morettin Funcion´ario Est. Civil Instru¸c˜ao No^ Filhos Sal´ario Ano Mˆes Regi˜ao 1 solteiro 1o Grau - 4.00 26 3 interior 2 casado 1o Grau 1 4.56 32 10 capital 3 casado 1o Grau 2 5.25 36 5 capital 4 solteiro 2o Grau - 5.73 20 10 outro 5 solteiro 1o Grau - 6.26 40 7 outro 6 casado 1o Grau 0 6.66 28 0 interior 7 solteiro 1o Grau - 6.86 41 0 interior 8 solteiro 1o Grau - 7.39 43 4 capital 9 casado 2o Grau 1 7.59 34 10 capital 10 solteiro 2o Grau - 7.44 23 6 outro 11 casado 2o Grau 2 8.12 33 6 interior 12 solteiro 1o Grau - 8.46 27 11 capital 13 solteiro 2o Grau - 8.74 37 5 outro 14 casado 1o Grau 3 8.95 44 2 outro 15 casado 2o Grau 0 9.13 30 5 interior 16 solteiro 2o Grau - 9.35 38 8 outro 17 casado 2o Grau 1 9.77 31 7 capital 18 casado 1o Grau 2 9.80 39 7 outro 19 solteiro Superior - 10.53 25 8 interior 20 solteiro 2o Grau - 10.76 37 4 interior 21 casado 2o Grau 1 11.06 30 9 outro 22 solteiro 2o Grau - 11.59 34 2 capital 23 solteiro 1o Grau - 12.00 41 0 outro 24 casado Superior 0 12.79 26 1 outro 25 casado 2o Grau 2 13.23 32 5 interior 26 casado 2o Grau 2 13.60 35 0 outro 27 solteiro 1o Grau - 13.85 46 7 outro 28 casado 2o Grau 0 14.69 29 8 interior 29 casado 2o Grau 5 14.71 40 6 interior 30 casado 2o Grau 2 15.99 35 10 capital 31 solteiro Superior - 16.22 31 5 outro 32 casado 2o Grau 1 16.61 36 4 interior 33 casado Superior 3 17.26 43 7 capital 34 solteiro Superior - 18.75 33 7 capital 35 casado 2o Grau 2 19.40 48 11 capital 36 casado Superior 3 23.30 42 2 interior