amerhamdan — Nov 20, 2012, 11:31 PM
#----------------------------------------------------#
# Estatistica descritiva I #
# Amer Cavalheiro Hamdan #
# NovembroA/2012 #
#----------------------------------------------------#
#-----------------------------------------------------
#Entrando com dados ja exstente no proprio R
data(mtcars)#para carregar o banco de dados
mtcars#para visualizar o banco de dados
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
help(mtcars)#para maiores informaçoes sobre os dados
names(mtcars)
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
[11] "carb"
class(mtcars)
[1] "data.frame"
str(mtcars)
'data.frame': 32 obs. of 11 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp: num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec: num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear: num 4 4 4 3 3 3 3 4 4 4 ...
$ carb: num 4 4 1 1 2 1 4 2 2 4 ...
#------------------
#variaveis nominais e ordinais
table(mtcars$am) #frequencia absoluta
0 1
19 13
prop.table(table(mtcars$am))# frequencia relativa (%)
0 1
0.5938 0.4062
100*table(mtcars$am)/length(mtcars$am)
0 1
59.38 40.62
#-------------------
# construindo graficos para variaveis categoricas
barplot(table(mtcars$am))#frequencia absoluta
barplot(prop.table(table(mtcars$am)))#para frequencia relativa
pie(table((mtcars$am)))
#-------------------------------------
#Exercicio
#1. Encontre a frequencia absoluta e relativas da variavle sexo:
#(homem, homem, mulher, mulher, homem, mulher, mulher,mulher, homem, homem)
#2. Construa um grafico para representar os dados acima
#----------------------------------------
#variaveis discretas e continuas
attach(mtcars)#para facilitar o uso dos dados
summary(hp)#resumo
Min. 1st Qu. Median Mean 3rd Qu. Max.
52.0 96.5 123.0 147.0 180.0 335.0
mean(hp)#media
[1] 146.7
median(hp)#mediana
[1] 123
sd(hp)#desvio-padrão
[1] 68.56
var(hp)#variancia
[1] 4701
#------------------------------------------
#grafico para variaveis discretas e continuas
hist(hp)
boxplot(hp)
stem(hp)
The decimal point is 2 digit(s) to the right of the |
0 | 5677799
1 | 0011111122
1 | 55888888
2 | 123
2 | 556
3 | 4
#----------------------------------------
#-------------------------------------
#exercicio
#1. Encontre a media,mediana, o desvio-padrao e a variancia da variavel idade:
#45,43,46,48,51,46,50,47,46,45.
#2. faça graficos para representar estes dados
#---------------------------------------------
#duas variaveis categoricas(nominal e ordinal)
table(am,cyl)
cyl
am 4 6 8
0 3 4 12
1 8 3 2
prop.table(table(am,cyl))
cyl
am 4 6 8
0 0.09375 0.12500 0.37500
1 0.25000 0.09375 0.06250
#------------------------------------
#construindo graficos para duas variaveis categoricas
plot(table(am,cyl))
barplot(table(am, cyl), leg = T)
barplot(table(am, cyl), beside = T, leg = T)
#---------------------------------------------------
#Exercicio
#1. Encontre a frequencia absoluta e relativa da variavel escolaridade
#(fundamental, medio, superior, fundamental, fundamental, superior, superior, medio, medio, funamental)
# e da variavel sexo do exercicio anterior
#2. construa gráficos para as duas variaveis categoricas
#---------------------------------------------------------
#duas variaveis uma categorica e uma continua
tapply(mpg, am, summary)#resumo de consumo por tipo de transmissao
$`0`
Min. 1st Qu. Median Mean 3rd Qu. Max.
10.4 15.0 17.3 17.1 19.2 24.4
$`1`
Min. 1st Qu. Median Mean 3rd Qu. Max.
15.0 21.0 22.8 24.4 30.4 33.9
tapply(mpg, am, mean) #media por grupo(prefiro entao um automatico)
0 1
17.15 24.39
#-----------------------------------------
#construindo gráficos para duas variaveis um acategorica e outras continua
plot(am,mpg)
par(mfrow = c(1, 2)) #para consturir dois graficos paralelos use este comando
by(mpg, am, hist, main = "", xlim = c(10, 35)) #"xlim" é o valores do eixo "x", vc podera altera-la
am: 0
$breaks
[1] 10 12 14 16 18 20 22 24 26
$counts
[1] 2 1 5 3 4 2 1 1
$intensities
[1] 0.05263 0.02632 0.13158 0.07895 0.10526 0.05263 0.02632 0.02632
$density
[1] 0.05263 0.02632 0.13158 0.07895 0.10526 0.05263 0.02632 0.02632
$mids
[1] 11 13 15 17 19 21 23 25
$xname
[1] "dd[x, ]"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"
--------------------------------------------------------
am: 1
$breaks
[1] 15 20 25 30 35
$counts
[1] 3 4 2 4
$intensities
[1] 0.04615 0.06154 0.03077 0.06154
$density
[1] 0.04615 0.06154 0.03077 0.06154
$mids
[1] 17.5 22.5 27.5 32.5
$xname
[1] "dd[x, ]"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"
par(mfrow = c(1, 1))
#-----------------------------------------------
#Exercicio
#1. Apresente um resumo dos dados entre as variaveis idade e sexo
#2. Construa dois graficos representando estes dados
#3. Faça um resumo dos dados entre as variaveis idade e escolaridade
#4. Elabore dois graficos para representar estes dados
#------------------------------------------
# Extra:
# Que tal explorar outro banco de dado disponivel no r
data(airquality)
airquality
Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6
7 23 299 8.6 65 5 7
8 19 99 13.8 59 5 8
9 8 19 20.1 61 5 9
10 NA 194 8.6 69 5 10
11 7 NA 6.9 74 5 11
12 16 256 9.7 69 5 12
13 11 290 9.2 66 5 13
14 14 274 10.9 68 5 14
15 18 65 13.2 58 5 15
16 14 334 11.5 64 5 16
17 34 307 12.0 66 5 17
18 6 78 18.4 57 5 18
19 30 322 11.5 68 5 19
20 11 44 9.7 62 5 20
21 1 8 9.7 59 5 21
22 11 320 16.6 73 5 22
23 4 25 9.7 61 5 23
24 32 92 12.0 61 5 24
25 NA 66 16.6 57 5 25
26 NA 266 14.9 58 5 26
27 NA NA 8.0 57 5 27
28 23 13 12.0 67 5 28
29 45 252 14.9 81 5 29
30 115 223 5.7 79 5 30
31 37 279 7.4 76 5 31
32 NA 286 8.6 78 6 1
33 NA 287 9.7 74 6 2
34 NA 242 16.1 67 6 3
35 NA 186 9.2 84 6 4
36 NA 220 8.6 85 6 5
37 NA 264 14.3 79 6 6
38 29 127 9.7 82 6 7
39 NA 273 6.9 87 6 8
40 71 291 13.8 90 6 9
41 39 323 11.5 87 6 10
42 NA 259 10.9 93 6 11
43 NA 250 9.2 92 6 12
44 23 148 8.0 82 6 13
45 NA 332 13.8 80 6 14
46 NA 322 11.5 79 6 15
47 21 191 14.9 77 6 16
48 37 284 20.7 72 6 17
49 20 37 9.2 65 6 18
50 12 120 11.5 73 6 19
51 13 137 10.3 76 6 20
52 NA 150 6.3 77 6 21
53 NA 59 1.7 76 6 22
54 NA 91 4.6 76 6 23
55 NA 250 6.3 76 6 24
56 NA 135 8.0 75 6 25
57 NA 127 8.0 78 6 26
58 NA 47 10.3 73 6 27
59 NA 98 11.5 80 6 28
60 NA 31 14.9 77 6 29
61 NA 138 8.0 83 6 30
62 135 269 4.1 84 7 1
63 49 248 9.2 85 7 2
64 32 236 9.2 81 7 3
65 NA 101 10.9 84 7 4
66 64 175 4.6 83 7 5
67 40 314 10.9 83 7 6
68 77 276 5.1 88 7 7
69 97 267 6.3 92 7 8
70 97 272 5.7 92 7 9
71 85 175 7.4 89 7 10
72 NA 139 8.6 82 7 11
73 10 264 14.3 73 7 12
74 27 175 14.9 81 7 13
75 NA 291 14.9 91 7 14
76 7 48 14.3 80 7 15
77 48 260 6.9 81 7 16
78 35 274 10.3 82 7 17
79 61 285 6.3 84 7 18
80 79 187 5.1 87 7 19
81 63 220 11.5 85 7 20
82 16 7 6.9 74 7 21
83 NA 258 9.7 81 7 22
84 NA 295 11.5 82 7 23
85 80 294 8.6 86 7 24
86 108 223 8.0 85 7 25
87 20 81 8.6 82 7 26
88 52 82 12.0 86 7 27
89 82 213 7.4 88 7 28
90 50 275 7.4 86 7 29
91 64 253 7.4 83 7 30
92 59 254 9.2 81 7 31
93 39 83 6.9 81 8 1
94 9 24 13.8 81 8 2
95 16 77 7.4 82 8 3
96 78 NA 6.9 86 8 4
97 35 NA 7.4 85 8 5
98 66 NA 4.6 87 8 6
99 122 255 4.0 89 8 7
100 89 229 10.3 90 8 8
101 110 207 8.0 90 8 9
102 NA 222 8.6 92 8 10
103 NA 137 11.5 86 8 11
104 44 192 11.5 86 8 12
105 28 273 11.5 82 8 13
106 65 157 9.7 80 8 14
107 NA 64 11.5 79 8 15
108 22 71 10.3 77 8 16
109 59 51 6.3 79 8 17
110 23 115 7.4 76 8 18
111 31 244 10.9 78 8 19
112 44 190 10.3 78 8 20
113 21 259 15.5 77 8 21
114 9 36 14.3 72 8 22
115 NA 255 12.6 75 8 23
116 45 212 9.7 79 8 24
117 168 238 3.4 81 8 25
118 73 215 8.0 86 8 26
119 NA 153 5.7 88 8 27
120 76 203 9.7 97 8 28
121 118 225 2.3 94 8 29
122 84 237 6.3 96 8 30
123 85 188 6.3 94 8 31
124 96 167 6.9 91 9 1
125 78 197 5.1 92 9 2
126 73 183 2.8 93 9 3
127 91 189 4.6 93 9 4
128 47 95 7.4 87 9 5
129 32 92 15.5 84 9 6
130 20 252 10.9 80 9 7
131 23 220 10.3 78 9 8
132 21 230 10.9 75 9 9
133 24 259 9.7 73 9 10
134 44 236 14.9 81 9 11
135 21 259 15.5 76 9 12
136 28 238 6.3 77 9 13
137 9 24 10.9 71 9 14
138 13 112 11.5 71 9 15
139 46 237 6.9 78 9 16
140 18 224 13.8 67 9 17
141 13 27 10.3 76 9 18
142 24 238 10.3 68 9 19
143 16 201 8.0 82 9 20
144 13 238 12.6 64 9 21
145 23 14 9.2 71 9 22
146 36 139 10.3 81 9 23
147 7 49 10.3 69 9 24
148 14 20 16.6 63 9 25
149 30 193 6.9 70 9 26
150 NA 145 13.2 77 9 27
151 14 191 14.3 75 9 28
152 18 131 8.0 76 9 29
153 20 223 11.5 68 9 30
help(airquality)
#Pense em como resumir estes dados (media, desvio-padrao) e construir graficos para
#visulizar os resultaos.
#dica: para dados faltantes "NA" use mean(Ozone, na.rm=T)