Se omiten las tildes para evitar los caracteres de edición.
Usada principalmente para reunir y resumir una gran cantidad de datos. De tal manera que sea interpretable facilmente para el lector.
Para obtener los calculos de una distribución de frecuencias haremos uso de algunos paquetes.
Ingresamos el conjunto de datos
x<-c(61,33,35,74,48,53,53,48,23,19,15,57,72,40,27,25,75,66,34,27,38,16,42,57,27,59,37,63,71,48)
#Debera instalar el paquete que vamos a llamar
library(fdth) # carga la extensión fdth (para el calculo de distribución de frecuencias.
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
dist <- fdt(x,breaks="Sturges") # calcula la distribución de frecuencias utilizando la regla Sturge
dist #nos brinda una tabla con los calculos de la distribución de frecuencias.
## Class limits f rf rf(%) cf cf(%)
## [15,25) 4 0.13 13.33 4 13.33
## [25,35) 7 0.23 23.33 11 36.67
## [35,45) 4 0.13 13.33 15 50.00
## [45,55) 5 0.17 16.67 20 66.67
## [55,66) 5 0.17 16.67 25 83.33
## [66,76) 5 0.17 16.67 30 100.00
#Donde
#f= frecuencia absoluta
#rf= frecuencia relativa
#rf(%) frecuencia relativa porcentual
#cf= frecuencia acumulada
#cf(%)=frecuencia acumulada porcentual
par(mfrow=c(3,2)) # particiona mi ventana grafica en 3x2.
hist(x, breaks = "Sturges") #histograma utilizando el numero de clases según Sturge
plot(dist, type="cfh") #histograma de frecuencias acumulada
plot(dist, type="cfp") #poligono de frecuencias acumulado
#explore los otros argumentos graficos,"fh", "fp", "rfh", "rfp", "rfph", "rfpp", "d", "cdh", "cdp", "cfh", "cfp", "cfph", "cfpp"
plot(dist, type="fh")
plot(dist, type="fh", col="blue") #si desea añadir color a su grafico
#Utilice el set de datos que presenta R. Para visualizarlos utilice la siguiente función
data() # visualiza los datos de R y asociados a las extensiones que ha cargado
Loblolly #nombre del set de datos que utilizaremos
## height age Seed
## 1 4.51 3 301
## 15 10.89 5 301
## 29 28.72 10 301
## 43 41.74 15 301
## 57 52.70 20 301
## 71 60.92 25 301
## 2 4.55 3 303
## 16 10.92 5 303
## 30 29.07 10 303
## 44 42.83 15 303
## 58 53.88 20 303
## 72 63.39 25 303
## 3 4.79 3 305
## 17 11.37 5 305
## 31 30.21 10 305
## 45 44.40 15 305
## 59 55.82 20 305
## 73 64.10 25 305
## 4 3.91 3 307
## 18 9.48 5 307
## 32 25.66 10 307
## 46 39.07 15 307
## 60 50.78 20 307
## 74 59.07 25 307
## 5 4.81 3 309
## 19 11.20 5 309
## 33 28.66 10 309
## 47 41.66 15 309
## 61 53.31 20 309
## 75 63.05 25 309
## 6 3.88 3 311
## 20 9.40 5 311
## 34 25.99 10 311
## 48 39.55 15 311
## 62 51.46 20 311
## 76 59.64 25 311
## 7 4.32 3 315
## 21 10.43 5 315
## 35 27.16 10 315
## 49 40.85 15 315
## 63 51.33 20 315
## 77 60.07 25 315
## 8 4.57 3 319
## 22 10.57 5 319
## 36 27.90 10 319
## 50 41.13 15 319
## 64 52.43 20 319
## 78 60.69 25 319
## 9 3.77 3 321
## 23 9.03 5 321
## 37 25.45 10 321
## 51 38.98 15 321
## 65 49.76 20 321
## 79 60.28 25 321
## 10 4.33 3 323
## 24 10.79 5 323
## 38 28.97 10 323
## 52 42.44 15 323
## 66 53.17 20 323
## 80 61.62 25 323
## 11 4.38 3 325
## 25 10.48 5 325
## 39 27.93 10 325
## 53 40.20 15 325
## 67 50.06 20 325
## 81 58.49 25 325
## 12 4.12 3 327
## 26 9.92 5 327
## 40 26.54 10 327
## 54 37.82 15 327
## 68 48.43 20 327
## 82 56.81 25 327
## 13 3.93 3 329
## 27 9.34 5 329
## 41 26.08 10 329
## 55 37.79 15 329
## 69 48.31 20 329
## 83 56.43 25 329
## 14 3.46 3 331
## 28 9.05 5 331
## 42 25.85 10 331
## 56 39.15 15 331
## 70 49.12 20 331
## 84 59.49 25 331
head(Loblolly) #visualiza los titulos que contiene los datos Loblolly, asi como una parte del contenido de los datos
## height age Seed
## 1 4.51 3 301
## 15 10.89 5 301
## 29 28.72 10 301
## 43 41.74 15 301
## 57 52.70 20 301
## 71 60.92 25 301
Para crear la distribución de frecuencia, buscamos primeramente el rango de los valores de la variable de interes, en nuestro caso trabajaremos con la variable “age”.
datosfreq<- Loblolly $ age #utilizamos el simbolo de $ para separar de los datos la variable de interes.
datosfreq
## [1] 3 5 10 15 20 25 3 5 10 15 20 25 3 5 10 15 20 25 3 5 10 15 20
## [24] 25 3 5 10 15 20 25 3 5 10 15 20 25 3 5 10 15 20 25 3 5 10 15
## [47] 20 25 3 5 10 15 20 25 3 5 10 15 20 25 3 5 10 15 20 25 3 5 10
## [70] 15 20 25 3 5 10 15 20 25 3 5 10 15 20 25
range(datosfreq) #observamos el rango de duración, en nuestro caso, va de 3 a 25
## [1] 3 25
dist1 <- fdt(Loblolly $ age,breaks="Sturges")
dist1
## Class limits f rf rf(%) cf cf(%)
## [3,5.8) 28 0.33 33.33 28 33.33
## [5.8,8.5) 0 0.00 0.00 28 33.33
## [8.5,11) 14 0.17 16.67 42 50.00
## [11,14) 0 0.00 0.00 42 50.00
## [14,17) 14 0.17 16.67 56 66.67
## [17,20) 0 0.00 0.00 56 66.67
## [20,22) 14 0.17 16.67 70 83.33
## [22,25) 14 0.17 16.67 84 100.00
#Si queremos utilizar un rango diferente (start, end) con amplitud definida (h), utilizamos lo siguiente.
dist2 <- fdt(Loblolly $ age, start=3, end=28, h=5)
dist2
## Class limits f rf rf(%) cf cf(%)
## [3,8) 28 0.33 33.33 28 33.33
## [8,13) 14 0.17 16.67 42 50.00
## [13,18) 14 0.17 16.67 56 66.67
## [18,23) 14 0.17 16.67 70 83.33
## [23,28) 14 0.17 16.67 84 100.00
#Si quisieramos utilizar un numero de clases diferente utilizamos el argumento k.
dist3 <- fdt(Loblolly $ age, k=9) #utilizamos k para determinar el numero de clases deseado.
dist3
## Class limits f rf rf(%) cf cf(%)
## [3,5.4) 28 0.33 33.33 28 33.33
## [5.4,7.9) 0 0.00 0.00 28 33.33
## [7.9,10) 14 0.17 16.67 42 50.00
## [10,13) 0 0.00 0.00 42 50.00
## [13,15) 14 0.17 16.67 56 66.67
## [15,18) 0 0.00 0.00 56 66.67
## [18,20) 14 0.17 16.67 70 83.33
## [20,23) 0 0.00 0.00 70 83.33
## [23,25) 14 0.17 16.67 84 100.00
#Caso 1.
#Regla de Stockes
#Utilizamos la formula
#K = 1+(Log(n) / Log(2))
#en donde K es el numero de clases (intervalos), y n el numero de muestras.
#Si observamos los datos Loblolly contiene 84 datos
k<-(1+log(84) /log(2)) #obtenemos el numero de clases sugeridas para nuestros datos
k
## [1] 7.392317
Caso 2 ##Regla de Sturges
K=1 + (3.322*Log10(n))
Dimensión de los intervalos de clase = R/k Donde R= al rango de los datos k= rango rango=(max-min)
k1<-1 + (3.322*log10(84))
k1
## [1] 7.392456
#Seria el numero de clases a formar (7 aproximadamente)
#o
#Hay una función escrita en R que estima el numero de clases
nclass.Sturges(datosfreq)
## [1] 8
#Esta función nos recomienda 8 clases.
palette() #muestra los colores disponibles
## [1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow"
## [8] "gray"
par(mfrow=c(3,2)) #permite dividir la ventana de graficos (3 filas, 2 columnas)
Utilizaremos la variable “height”"
hist(Loblolly $ height,xlab="cantidad",ylab="frecuencia",main="Histograma", col="green3")
hist(Loblolly $ height, xlab="cantidad",ylab="frecuencia",main="histograma", col="56")
DE UNA SOLA VARIABLE, DENTRO DEL ANALISIS DE FRECUENCIA
head(Loblolly)
## height age Seed
## 1 4.51 3 301
## 15 10.89 5 301
## 29 28.72 10 301
## 43 41.74 15 301
## 57 52.70 20 301
## 71 60.92 25 301
attach(Loblolly) #función que adjunta los datos al programa
summary(age) #note que ya no tendremos que separar por $, dado la función attach
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.0 5.0 12.5 13.0 20.0 25.0
summary(height)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.46 10.47 34.00 32.36 51.36 64.10
#Obtenga el set completo de la distribución de frecuencia para la variable -weight-.
#Interprete la primera clase de la Frec. Abs.______________________________
#Interprete la tercera clase de Frec. rel.:_________________________________
#Interprete la segunda clase de Frec. Acum.:_____________________________
#Interprete la segunda clase de Frec. Rel. Acum.:_________________________
#Elabore un poligono de frecuencia, póngale titulo y color a su figura.:___________________________________________________________
#Elabore un poligono de frecuencia: ____________________________________
#library() Carga un paquete especifico de R
#attach() permite adjuntar los datos de acuerdo a como fueron nombradas las variable
#data() muestra conjunto de datos que contiene los paquetes que ha cargado
#head() visualiza los titulos que contiene los datos
#fdt() Función del paquete fdth que permite elaborar distribuciones de frecuencias
#hist() elabora un histograma de frecuencias.
#palette() muestra los colores disponibles
#par(mfrow=c(3,2)) permite dividir la ventana de graficos (3 filas, 2 columnas)
#range() obtiene el rango de datos de un vector
#sort() ordena los datos de la variable de interes en forma ascendente