Вы находитесь на странице: 1из 9

ESTADSTICA I

incremento

Apellidos y Nombres:

Codigo:

La siguiente tabla muestra las edades de 1000 personas que prefieren un determinado
gnero musical:

[AB] Construir una distribucin de frecuencias utilizando la frmula de Sturges para


determinar el nmero de intervalos.
#TABLA DE FRECUENCIAS
> setwd ("d:r")
> scan ("data.txt")
Read 1000 items
[1] 61 59 39 54 32 57 39 64 53 62 38 38 49 45 54 52 45 39 38 41 58 46
60 52
[25] 62 49 66 53 65 55 50 54 51 47 48 67 65 63 49 42 55 59 53 46 62 63
49 33
[49] 46 49 40 51 41 58 38 50 47 44 39 62 42 50 49 66 43 50 48 57 45 56
56 63
[73] 61 50 39 43 52 48 70 58 79 71 60 53 72 57 31 46 44 41 43 41 39 64
46 46
[97] 44 30 47 42 59 27 46 54 57 39 45 38 44 49 49 52 56 41 53 76 34 52
61 43
[121] 40 53 51 43 59 37 56 41 45 44 53 47 58 45 49 56 54 56 26 64 48 42
68 57
[145] 75 37 44 28 40 65 49 52 39 67 59 48 47 51 49 40 64 53 51 56 57 58
41 40
[169] 52 71 44 45 46 54 64 52 46 30 43 29 60 57 46 54 33 59 51 66 41 46
56 52
[193] 54 42 41 39 38 45 56 68 46 59 48 64 58 70 42 57 44 59 56 61 51 59
60 50
[217] 55 45 54 39 61 63 49 63 44 45 58 57 58 40 54 51 58 43 53 42 41 46
50 37
[241] 46 30 68 34 31 35 44 69 42 39 47 39 50 35 44 59 40 53 31 53 46 55
57 53
[265] 39 33 32 41 31 42 47 43 65 39 39 34 54 50 69 48 49 49 52 46 31 57
54 61
[289] 56 42 56 31 45 46 65 55 44 49 48 45 47 49 38 60 53 44 54 45 67 53
35 51

[313] 60 51 44 61 54 42 55 57 48 27 42 38 45 37 35 35 46 57 43 53 56 46
59 64
[337] 67 35 69 59 73 39 45 48 47 52 53 40 49 62 48 54 45 56 39 54 61 62
58 55
[361] 47 41 42 46 73 74 56 39 64 64 29 49 38 52 60 62 50 62 61 51 67 53
47 47
[385] 43 45 61 67 56 63 54 66 50 64 71 59 55 62 81 57 55 47 48 59 43 34
36 48
[409] 49 51 64 59 57 55 32 44 33 33 51 60 59 41 55 54 66 49 34 53 47 40
55 53
[433] 52 56 62 50 51 38 46 42 52 50 49 42 53 49 48 47 54 64 52 61 60 43
54 60
[457] 72 43 46 44 49 71 63 56 43 56 41 57 57 60 40 49 43 55 51 38 63 34
46 62
[481] 50 57 47 59 40 53 70 55 46 40 62 61 48 52 69 55 42 43 49 54 45 47
47 47
[505] 63 50 21 60 51 58 47 71 55 47 67 47 49 69 69 55 36 42 40 71 68 61
54 67
[529] 49 61 46 61 47 52 66 69 58 48 66 49 61 71 68 50 40 45 60 43 36 58
59 53
[553] 58 53 29 49 67 51 34 55 48 48 51 64 47 57 50 52 41 62 57 53 50 46
53 37
[577] 31 48 48 46 52 47 32 41 53 31 42 46 49 49 33 49 49 43 55 56 61 56
51 47
[601] 43 59 47 38 44 33 44 41 50 50 43 59 53 59 59 41 36 45 42 47 29 55
53 50
[625] 59 51 45 70 53 41 45 53 46 45 45 57 67 46 37 55 46 49 43 40 46 57
27 57
[649] 46 62 42 60 44 55 48 60 40 48 55 58 62 36 67 61 38 53 35 51 33 54
46 45
[673] 62 40 57 55 69 54 50 55 59 46 41 29 50 47 58 52 40 41 44 53 54 60
60 51
[697] 61 44 46 32 53 47 54 45 64 42 54 39 52 48 44 57 50 60 47 47 44 46
46 37
[721] 49 54 63 50 42 55 52 37 58 50 49 54 47 59 51 33 46 49 56 48 44 41
41 49
[745] 30 59 41 63 50 51 51 49 41 56 56 51 39 33 51 54 36 53 34 44 57 52
50 44

[769] 50 32 31 42 67 53 45 61 41 53 69 50 42 59 44 62 59 53 57 60 44 57
63 60
[793] 27 44 71 36 63 55 47 51 55 61 48 53 40 59 49 34 39 50 61 48 38 42
62 41
[817] 63 37 50 56 51 37 48 53 59 55 52 36 41 40 42 42 52 42 61 45 58 60
55 29
[841] 51 38 43 38 49 44 38 41 55 63 67 42 41 46 58 38 58 49 53 51 34 39
70 48
[865] 39 54 31 41 46 49 45 56 54 51 58 37 58 70 34 36 40 47 26 44 40 28
67 31
[889] 46 50 52 45 49 46 44 58 48 67 42 31 52 37 45 46 40 52 66 58 45 63
53 52
[913] 49 41 41 67 39 54 49 35 45 70 45 48 43 50 41 42 42 44 46 28 60 37
61 62
[937] 59 32 52 59 48 65 50 48 46 62 43 52 53 59 54 43 54 45 55 46 64 36
30 51
[961] 39 62 52 66 52 48 48 44 35 46 54 51 62 56 52 42 39 62 56 51 42 49
47 68
[985] 58 65 50 56 42 39 49 49 35 48 52 63 49 38 60 64
> x = scan ("data.txt")
Read 1000 items
> 1+3.3*log10(1000)
[1] 10.9
> ceiling ( 1+3.3*log10(1000) )
[1] 11
> k = ceiling ( 1+3.3*log10(1000) )
> k
[1] 11
> n = length(x)
> n
[1] 1000
> range(x)
[1] 21 81
> R = range(x)
> R
[1] 21 81

> rango <- R[2] - R[1]


> A <- ceiling( rango/k )
> partes <- seq(21, 87, by=A)
> intervalos <- cut(x, partes, right = FALSE, include.lowest =
TRUE)
> tf <- as.data.frame(table(intervalos))
> names(tf) = c("Interv","f")
> tf
Interv

[21,27)

[27,33)

37

[33,39)

73

[39,45) 178

[45,51) 240

[51,57) 209

[57,63) 156

[63,69)

71

[69,75)

29

10 [75,81)

11 [81,87]

> tf <- transform(tf, h = round(f/n,4), p = round(100*f/n,1))


> tf
Interv

[21,27)

3 0.003

0.3

[27,33)

37 0.037

3.7

[33,39)

73 0.073

7.3

[39,45) 178 0.178 17.8

[45,51) 240 0.240 24.0

[51,57) 209 0.209 20.9

[57,63) 156 0.156 15.6

[63,69)

71 0.071

7.1

[69,75)

29 0.029

2.9

10 [75,81)

3 0.003

0.3

11 [81,87]

1 0.001

0.1

> tf <- transform(tf, F = cumsum(f))


> tf <- transform(tf, H = round(F/n,4), P = round(100*F/n,1))
> tf
Interv

[21,27)

3 0.003

0.3

3 0.003

0.3

[27,33)

37 0.037

3.7

40 0.040

4.0

[33,39)

73 0.073

7.3

113 0.113

11.3

[39,45) 178 0.178 17.8

291 0.291

29.1

[45,51) 240 0.240 24.0

531 0.531

53.1

[51,57) 209 0.209 20.9

740 0.740

74.0

[57,63) 156 0.156 15.6

896 0.896

89.6

[63,69)

71 0.071

7.1

967 0.967

96.7

[69,75)

29 0.029

2.9

996 0.996

99.6

10 [75,81)

3 0.003

0.3

999 0.999

99.9

11 [81,87]

1 0.001

0.1 1000 1.000 100.0

N
1
2
3
4
5
6
7
8
9
10
11

Interv
[21,27)
[27,33)
[33,39)
[39,45)
[45,51)
[51,57)
[57,63)
[63,69)
[69,75)
[75,81)
[81,87]

h
3
37
73
178
240
209
156
71
29
3
1

p
0.003
0.037
0.073
0.178
0.24
0.209
0.156
0.071
0.029
0.003
0.001

F
0.3
3.7
7.3
17.8
24
20.9
15.6
7.1
2.9
0.3
0.1

H
3
40
113
291
531
740
896
967
996
999
1000

P
0.003
0.04
0.113
0.291
0.531
0.74
0.896
0.967
0.996
0.999
1

Cuadro 1: Distribucin de edades de 1000 personas


[A] Grafique el histograma y la ojiva.
#HISTOGRAMA

> hist(x, breaks = partes, right = FALSE, include.lowest = TRUE,


+ xlim = c(18,98), main="", ylab="", xlab="")
> lines(c(partes[1]-A/2 , partes+A/2) , c(0,tf$f,0) , col =
"red")

0.3
4
11.3
29.1
53.1
74
89.6
96.7
99.6
99.9
100

Figura 1: Histograma
#OJIVA
> plot(partes, c(0,tf$F), main = "", xlab = "", ylab = "F", col
= "blue")
> lines(partes, c(0,tf$F), col = "red")

Figura 2: Ojiva
[A] Determine el rango intercuartlico.

#CUANTIL
> cuantil = function(tabla, q) {
+

k = length(tabla$F)

n = tabla$F[k]

for (i in 1:k) {

if ( tabla$F[i] >= q*n ) {

break()

+ IntvCad <- strsplit( gsub("\\]","",gsub("\\[", "",


gsub(")","",tabla$Interv[i]))) , ",")

I <- as.numeric( IntvCad[[1]] )

A = I[2] - I[1]

if (i == 1) {

Fim <- 0

} else {

Fim <- tabla$F[i-1]

return( I[1] + (q*n - Fim)*A/tabla$f[i] )

#RANGO INTERCUATILICO
> Q3=cuantil(tf, 3/4)
> Q3
[1] 57.38462
> Q1=cuantil(tf, 1/4)
> Q1
[1] 43.61798
> RI=Q3 - Q1
> RI
[1] 13.76664

[B] Determine la media y la varianza para datos agrupados y no

agrupados.

#DATOS NO AGRUPADOS
#MEDIA
> xb = sum(x)/n
> xb
[1] 50.015
#VARIANZA
> sum(x^2)/n - xb^2
[1] 95.69477
#DATOS NO AGRUPADOS
#MARCA DE CLASE

> m = partes[1:k] + A/2


> m
[1] 24 30 36 42 48 54 60 66 72 78 84
#MEDIA
> xb = sum(tf$f*m)/n
> xb
[1] 50.544
#VARIANZA
> sum(tf$f*m^2)/n - xb^2
[1] 97.85606

Вам также может понравиться