#...............................................................................
# Clase. Histograma de frecuencias  con r base
#
# Ejemplo distribución de frecuencias
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library (agricolae)     # para hacer la tabla de frecuencias


# número de tardanzas al trabajo en una empresa Industrial

data<-c(68, 63, 42, 27, 30, 36, 28, 32, 79, 27,
        22, 23, 24, 25, 44, 65, 43, 25, 74, 51,
        36, 42, 28, 31, 28, 25, 45, 12, 57, 51,
        12, 32, 49, 38, 42, 27, 31, 50, 38, 21,
        16, 24, 69, 47, 23, 22, 43, 27, 49, 28,
        23, 19, 46, 30, 43, 49, 12)


# según Sturges

n<-length(data) ;n   # n= 57
## [1] 57
m<- 1+3.32*log(n,10);m     # m-->7
## [1] 6.829505
rango<- max(data)- min(data) ; rango    # R=67
## [1] 67
c= rango/7  ;c                  #  la amplitud se redondea a: c--->10
## [1] 9.571429
# para  hacer la tabla de frecuencias :
## paso previo crear un objeto x  con intérvalos tipo:  [li--ls)
# se recomienda presentar limites de utilidad practica.
# para una mejor interpretacion se hace los intervalos en multiplos de 10

# el objeto x sirve para poder usar la función :table.freq ()

x <- hist(data,plot = FALSE,right = F);x
## $breaks
## [1] 10 20 30 40 50 60 70 80
## 
## $counts
## [1]  5 19 10 13  4  4  2
## 
## $density
## [1] 0.008771930 0.033333333 0.017543860 0.022807018 0.007017544 0.007017544
## [7] 0.003508772
## 
## $mids
## [1] 15 25 35 45 55 65 75
## 
## $xname
## [1] "data"
## 
## $equidist
## [1] TRUE
## 
## attr(,"class")
## [1] "histogram"
# creando la tabla de frecuencias completa a partir del objeto x:

Tabla <- table.freq(x);Tabla
##   Lower Upper Main Frequency Percentage CF   CPF
## 1    10    20   15         5        8.8  5   8.8
## 2    20    30   25        19       33.3 24  42.1
## 3    30    40   35        10       17.5 34  59.6
## 4    40    50   45        13       22.8 47  82.5
## 5    50    60   55         4        7.0 51  89.5
## 6    60    70   65         4        7.0 55  96.5
## 7    70    80   75         2        3.5 57 100.0
# el histograma con r base por defecto utiliza sturges y coloca limites de utilidad práctica.

hist(data,                    #data vector
     plot = T,                # muestra el histograma
     right = F,               # intervalos : [...)
     col= "lightblue",           #color de barras
     main= "Histograma para el número de tardanzas \n (n=57)",  # título grafico
     ylim = c(0,20),         # escala eje y segun frecuencias
     ylab= "Frecuencias",    # título del eje Y
     xlab="tardanzas",        # título del  eje X, segun variable
     labels = T)              # mostrar  etiquetas sobre las barras