Curso: Minería de datos

Pre procesamiento de datos :Discretización de datos

Aplicación 2. Productores pecuarios

Se tienen los datos de una encuesta de una línea base para implementar un programa de asistencia técnica a los productores pecuarios de la región de Cajamarca.

Archivo: IMD_PD_Clase_03_PreProcesamiento_02_Datos01.csv

Las variables son:

X1_Tamaño_Predio Tamaño de predio (has)

X2_N_Vacuno Número de cabezas de ganado vacuno

X3_N_Ovino Número de cabezas de ganado ovino

X4_N_Cuy Número de cabezas de cuyes

X5_P_Leche Producción de leche (litros/día)

X6_P_Lana Producción de lana (libras/día)

X7_P_Carne Producción de carne (kgs/día)

X8_V_Leche Venta de leche (litros)

X9_V_lana Venta de lana (libras)

X10_V_Carne Venta de carne (kgs.)

X11_Ingreso Ingreso (soles)

X12_Capacitacion Recibió capacitación en manejo de pastos (Si, No)

X13_A_Tecnica Recibió asistencia técnica (Si, No)

X14_T_Pasto Tipo de pasto (Cultivado o Natural)

X15_Tecnologia Tecnología para el manejo de pastos (Alta, Media o Baja)

Y_Productividad Mejoró su productividad en el último año (Si, No)

# Lectura de archivo de datos 
Datos=read.table("IMD_PD_Clase_03_PreProcesamiento_02_Datos01.csv", stringsAsFactors=TRUE, header=F,sep=";")

Discretización de datos con el programa R

# install.packages("arules")
library(arules)
# Lectura de archivo de datos
Datos=read.table("IMD_PD_Clase_03_PreProcesamiento_02_Datos01.csv", stringsAsFactors=TRUE, header=TRUE,sep=";")
attach(Datos)
str(Datos)
## 'data.frame':    840 obs. of  16 variables:
##  $ X1_Tamano_Predio: num  8 6 3 3 4 3 3 3 8 2 ...
##  $ X2_N_Vacuno     : int  19 34 17 58 14 45 21 45 52 14 ...
##  $ X3_N_Ovino      : int  118 26 143 52 47 39 81 47 25 59 ...
##  $ X4_N_Cuy        : int  147 337 337 134 282 48 383 356 244 230 ...
##  $ X5_P_Leche      : int  16 54 123 171 177 104 183 56 57 62 ...
##  $ X6_P_Lana       : int  11 52 73 70 20 78 64 60 20 77 ...
##  $ X7_P_Carne      : int  40 92 118 43 49 113 20 18 124 95 ...
##  $ X8_V_Leche      : int  29 12 23 21 15 15 20 6 21 29 ...
##  $ X9_V_lana       : int  41 36 48 39 38 38 42 12 36 8 ...
##  $ X10_V_Carne     : int  15 7 53 43 39 60 48 38 57 31 ...
##  $ X11_Ingreso     : int  1074 999 1008 1358 1398 1311 929 1374 1040 1246 ...
##  $ X12_Capacitacion: Factor w/ 2 levels "NO","SI": 1 2 1 2 1 1 2 1 2 2 ...
##  $ X13_A_Tecnica   : Factor w/ 2 levels "NO","SI": 2 2 2 1 1 1 2 2 1 1 ...
##  $ X14_T_Pasto     : Factor w/ 2 levels "Cultivado","Natural": 1 2 2 1 1 2 1 2 1 1 ...
##  $ X15_Tecnologia  : Factor w/ 3 levels "Alta","Baja",..: 3 3 3 1 2 2 1 2 3 2 ...
##  $ y_Productividad : Factor w/ 2 levels "NO","SI": 1 1 1 1 2 2 2 2 2 2 ...
n=dim(Datos)[1]
summary(Datos)
##  X1_Tamano_Predio  X2_N_Vacuno      X3_N_Ovino        X4_N_Cuy    
##  Min.   :2.00     Min.   : 4.00   Min.   :  4.00   Min.   : 10.0  
##  1st Qu.:3.00     1st Qu.:19.00   1st Qu.: 41.00   1st Qu.:107.0  
##  Median :5.00     Median :32.00   Median : 76.00   Median :217.5  
##  Mean   :4.96     Mean   :32.14   Mean   : 76.34   Mean   :210.6  
##  3rd Qu.:7.00     3rd Qu.:46.00   3rd Qu.:111.00   3rd Qu.:313.0  
##  Max.   :8.00     Max.   :60.00   Max.   :150.00   Max.   :400.0  
##    X5_P_Leche       X6_P_Lana       X7_P_Carne       X8_V_Leche   
##  Min.   : 10.00   Min.   :10.00   Min.   : 10.00   Min.   : 5.00  
##  1st Qu.: 54.75   1st Qu.:26.00   1st Qu.: 47.00   1st Qu.:11.00  
##  Median :105.00   Median :44.00   Median : 79.00   Median :18.50  
##  Mean   :104.34   Mean   :44.19   Mean   : 80.32   Mean   :17.77  
##  3rd Qu.:151.00   3rd Qu.:62.00   3rd Qu.:117.00   3rd Qu.:24.00  
##  Max.   :200.00   Max.   :80.00   Max.   :150.00   Max.   :30.00  
##    X9_V_lana      X10_V_Carne     X11_Ingreso   X12_Capacitacion X13_A_Tecnica
##  Min.   : 5.00   Min.   : 5.00   Min.   : 900   NO:422           NO:425       
##  1st Qu.:15.00   1st Qu.:19.00   1st Qu.:1051   SI:418           SI:415       
##  Median :27.00   Median :32.00   Median :1201                                 
##  Mean   :27.16   Mean   :32.76   Mean   :1202                                 
##  3rd Qu.:39.00   3rd Qu.:47.25   3rd Qu.:1354                                 
##  Max.   :50.00   Max.   :60.00   Max.   :1498                                 
##     X14_T_Pasto  X15_Tecnologia y_Productividad
##  Cultivado:539   Alta :161      NO:248         
##  Natural  :301   Baja :385      SI:592         
##                  Media:294                     
##                                                
##                                                
## 
# Renombrar los nombres de las variables si es necesario
# names(Datos)=c("X1","X2","X3","X4","X5","X6","Y")
# Selección de variables para su discretización
Var_A<- c(2,4,6,8)
nv=length(Var_A)

Discretización no supervisada de datos

1. Discretizacion con intervalos de igual amplitud

nbins=5
#nbins<-nclass.Sturges(Datos[,h]) #Usando Sturges
# nbins<-nclass.scott(Datos[,h]) # Usando Scott
# nbins<-nclass.FD(Datos[,h]) # Usando Friedman-Diaconis


Datos_D=Datos

for(i in 1:nv){
  h=Var_A[i]
  Datos_D[,h]<-discretize(Datos[,h], method="interval", categories=nbins)
  cat("Número de intervalos: ",nbins, " Variable = ",h, "\n")
  # print(table(Datos_D[,h]))
  f= table(Datos_D[,h])
  fr=round(prop.table(f)*100,1)
  print(cbind(f, fr))
  }
## Número de intervalos:  5  Variable =  2 
##               f   fr
## [4,15.2)    162 19.3
## [15.2,26.4) 177 21.1
## [26.4,37.6) 165 19.6
## [37.6,48.8) 164 19.5
## [48.8,60]   172 20.5
## Número de intervalos:  5  Variable =  4 
##             f   fr
## [10,88)   161 19.2
## [88,166)  167 19.9
## [166,244) 147 17.5
## [244,322) 176 21.0
## [322,400] 189 22.5
## Número de intervalos:  5  Variable =  6 
##           f   fr
## [10,24) 169 20.1
## [24,38) 179 21.3
## [38,52) 168 20.0
## [52,66) 153 18.2
## [66,80] 171 20.4
## Número de intervalos:  5  Variable =  8 
##           f   fr
## [5,10)  172 20.5
## [10,15) 140 16.7
## [15,20) 146 17.4
## [20,25) 184 21.9
## [25,30] 198 23.6
 # Guardar los datos discretizados
# write.table(Datos_D, file ="Datos_Discretizada_01.csv", sep = ";", eol = "\n", dec= ".", row.names = TRUE, col.names = TRUE)

2. Discretizacion con intervalos de igual frecuencia

Datos_D=Datos
for(i in 1:nv){
  h=Var_A[i]
  Datos_D[,h]<-discretize(Datos[,h],method="frequency",categories=nbins)
  cat("Número de intervalos: ",nbins, " Variable = ",h, "\n")
  # print(table(Datos_D[,h]))
  f= table(Datos_D[,h])
  fr=round(prop.table(f)*100,1)
  print(cbind(f, fr))
     }
## Número de intervalos:  5  Variable =  2 
##             f   fr
## [4,16)    162 19.3
## [16,26)   160 19.0
## [26,37.4) 182 21.7
## [37.4,49) 164 19.5
## [49,60]   172 20.5
## Número de intervalos:  5  Variable =  4 
##              f   fr
## [10,91.8)  168 20.0
## [91.8,171) 168 20.0
## [171,256)  164 19.5
## [256,330)  170 20.2
## [330,400]  170 20.2
## Número de intervalos:  5  Variable =  6 
##           f   fr
## [10,23) 160 19.0
## [23,37) 175 20.8
## [37,51) 163 19.4
## [51,66) 171 20.4
## [66,80] 171 20.4
## Número de intervalos:  5  Variable =  8 
##           f   fr
## [5,9)   149 17.7
## [9,16)  185 22.0
## [16,21) 156 18.6
## [21,25) 152 18.1
## [25,30] 198 23.6
# Guardar los datos discretizados
# write.table(Datos_D, file ="Datos_Discretizada_01.csv", sep = ";", eol = "\n", dec= ".", row.names = TRUE, col.names = TRUE)

3. Discretizacion con k-medias

Datos_D=Datos
for(i in 1:nv){
  h=Var_A[i]
  Datos_D[,h]<-discretize(Datos[,h],method="cluster",categories=nbins)
  cat("Número de intervalos: ",nbins, " Variable = ",h, "\n")
  # print(table(Datos_D[,h]))
  f= table(Datos_D[,h]);fr=round(prop.table(f)*100,1); print(cbind(f, fr))
     }
## Número de intervalos:  5  Variable =  2 
##               f   fr
## [4,16.2)    174 20.7
## [16.2,28.6) 202 24.0
## [28.6,39.5) 158 18.8
## [39.5,49.7) 149 17.7
## [49.7,60]   157 18.7
## Número de intervalos:  5  Variable =  4 
##              f   fr
## [10,85.4)  155 18.5
## [85.4,167) 177 21.1
## [167,247)  153 18.2
## [247,324)  172 20.5
## [324,400]  183 21.8
## Número de intervalos:  5  Variable =  6 
##               f   fr
## [10,24.4)   182 21.7
## [24.4,39.1) 185 22.0
## [39.1,53.3) 178 21.2
## [53.3,66.5) 133 15.8
## [66.5,80]   162 19.3
## Número de intervalos:  5  Variable =  8 
##               f   fr
## [5,7.73)    113 13.5
## [7.73,12)   119 14.2
## [12,17.5)   159 18.9
## [17.5,23.7) 197 23.5
## [23.7,30]   252 30.0
# Guardar los datos discretizados
write.table(Datos_D, file ="Datos_Discretizada_01.csv", sep = ";", eol = "\n", dec= ".", row.names = TRUE, col.names = TRUE)

Discretización supervisada de datos

#install.packages("discretization") 
library(discretization)
# Lectura de archivo de datos
Datos=read.table("IMD_PD_Clase_03_PreProcesamiento_02_Datos01.csv", stringsAsFactors=TRUE, header=TRUE,sep=";")
attach(Datos)
str(Datos)
## 'data.frame':    840 obs. of  16 variables:
##  $ X1_Tamano_Predio: num  8 6 3 3 4 3 3 3 8 2 ...
##  $ X2_N_Vacuno     : int  19 34 17 58 14 45 21 45 52 14 ...
##  $ X3_N_Ovino      : int  118 26 143 52 47 39 81 47 25 59 ...
##  $ X4_N_Cuy        : int  147 337 337 134 282 48 383 356 244 230 ...
##  $ X5_P_Leche      : int  16 54 123 171 177 104 183 56 57 62 ...
##  $ X6_P_Lana       : int  11 52 73 70 20 78 64 60 20 77 ...
##  $ X7_P_Carne      : int  40 92 118 43 49 113 20 18 124 95 ...
##  $ X8_V_Leche      : int  29 12 23 21 15 15 20 6 21 29 ...
##  $ X9_V_lana       : int  41 36 48 39 38 38 42 12 36 8 ...
##  $ X10_V_Carne     : int  15 7 53 43 39 60 48 38 57 31 ...
##  $ X11_Ingreso     : int  1074 999 1008 1358 1398 1311 929 1374 1040 1246 ...
##  $ X12_Capacitacion: Factor w/ 2 levels "NO","SI": 1 2 1 2 1 1 2 1 2 2 ...
##  $ X13_A_Tecnica   : Factor w/ 2 levels "NO","SI": 2 2 2 1 1 1 2 2 1 1 ...
##  $ X14_T_Pasto     : Factor w/ 2 levels "Cultivado","Natural": 1 2 2 1 1 2 1 2 1 1 ...
##  $ X15_Tecnologia  : Factor w/ 3 levels "Alta","Baja",..: 3 3 3 1 2 2 1 2 3 2 ...
##  $ y_Productividad : Factor w/ 2 levels "NO","SI": 1 1 1 1 2 2 2 2 2 2 ...
# Selección de variables para su discretización
Datos_A=Datos[, c(1,2,3,4,5,6,7,8,9,10,11,16)]
# Presentar la tablas de frecuencias
Var_A<- c(1,2,3,4,5,6,7,8,9,10,11); nv=length(Var_A)

1. Método ChiMerge

Datos_D<-chiM(Datos_A, alpha=0.05)
# Datos_D$cutp
# head(Datos_D$Disc.data)
for(i in 1:nv){
  h=Var_A[i]
  f=table(Datos_D$Disc.data[,h]); fr=round(prop.table(f)*100,1)
  nbins=length(f)
  cat("Número de intervalos: ",nbins, " Variable = ",h, "\n")
  print(cbind(f, fr))
  cat("Puntos de cortes: ", "\n");
  print(Datos_D$cutp[h])
}
## Número de intervalos:  3  Variable =  1 
##     f   fr
## 1 262 31.2
## 2 107 12.7
## 3 471 56.1
## Puntos de cortes:  
## [[1]]
## [1] 3.5 4.5
## 
## Número de intervalos:  7  Variable =  2 
##     f   fr
## 1 322 38.3
## 2  75  8.9
## 3  69  8.2
## 4 157 18.7
## 5  26  3.1
## 6  78  9.3
## 7 113 13.5
## Puntos de cortes:  
## [[1]]
## [1] 25.5 30.5 35.5 45.5 47.5 52.5
## 
## Número de intervalos:  8  Variable =  3 
##     f   fr
## 1  84 10.0
## 2  13  1.5
## 3   3  0.4
## 4  15  1.8
## 5 412 49.0
## 6 155 18.5
## 7   2  0.2
## 8 156 18.6
## Puntos de cortes:  
## [[1]]
## [1]  20.5  22.5  23.5  25.5  93.5 121.5 122.5
## 
## Número de intervalos:  32  Variable =  4 
##      f   fr
## 1   63  7.5
## 2    4  0.5
## 3    4  0.5
## 4    1  0.1
## 5   18  2.1
## 6   46  5.5
## 7   80  9.5
## 8   10  1.2
## 9    9  1.1
## 10   2  0.2
## 11  27  3.2
## 12   2  0.2
## 13  59  7.0
## 14   7  0.8
## 15   7  0.8
## 16  15  1.8
## 17  15  1.8
## 18   7  0.8
## 19   8  1.0
## 20   7  0.8
## 21  68  8.1
## 22  12  1.4
## 23  25  3.0
## 24   4  0.5
## 25  98 11.7
## 26  27  3.2
## 27  42  5.0
## 28  23  2.7
## 29  17  2.0
## 30   1  0.1
## 31  18  2.1
## 32 114 13.6
## Puntos de cortes:  
## [[1]]
##  [1]  40.0  42.5  44.5  45.5  53.5  74.5 109.5 115.5 120.5 121.5 133.5 134.5
## [13] 163.5 167.5 173.5 182.5 192.5 194.5 198.5 204.5 236.5 241.5 253.5 255.5
## [25] 292.5 311.5 328.5 337.5 347.5 348.5 357.5
## 
## Número de intervalos:  17  Variable =  5 
##      f   fr
## 1   21  2.5
## 2   28  3.3
## 3  109 13.0
## 4    7  0.8
## 5  207 24.6
## 6  103 12.3
## 7    8  1.0
## 8    6  0.7
## 9   28  3.3
## 10   5  0.6
## 11 143 17.0
## 12   4  0.5
## 13  27  3.2
## 14   2  0.2
## 15  33  3.9
## 16   4  0.5
## 17 105 12.5
## Puntos de cortes:  
## [[1]]
##  [1]  14.5  19.5  41.5  42.5  95.5 118.5 121.5 122.5 128.5 130.5 156.5 157.5
## [13] 165.5 166.5 174.5 175.5
## 
## Número de intervalos:  2  Variable =  6 
##     f   fr
## 1  60  7.1
## 2 780 92.9
## Puntos de cortes:  
## [[1]]
## [1] 15.5
## 
## Número de intervalos:  12  Variable =  7 
##      f   fr
## 1  124 14.8
## 2    7  0.8
## 3  195 23.2
## 4   11  1.3
## 5  133 15.8
## 6   17  2.0
## 7   30  3.6
## 8   20  2.4
## 9    6  0.7
## 10  25  3.0
## 11  59  7.0
## 12 213 25.4
## Puntos de cortes:  
## [[1]]
##  [1]  31.5  32.5  64.5  66.5  87.5  89.5  94.5  98.5  99.5 103.5 116.5
## 
## Número de intervalos:  3  Variable =  8 
##     f   fr
## 1 285 33.9
## 2  49  5.8
## 3 506 60.2
## Puntos de cortes:  
## [[1]]
## [1] 13.5 15.5
## 
## Número de intervalos:  6  Variable =  9 
##     f   fr
## 1  37  4.4
## 2 200 23.8
## 3  20  2.4
## 4 152 18.1
## 5  44  5.2
## 6 387 46.1
## Puntos de cortes:  
## [[1]]
## [1]  6.5 16.5 17.5 26.5 28.5
## 
## Número de intervalos:  4  Variable =  10 
##     f   fr
## 1  70  8.3
## 2 308 36.7
## 3  32  3.8
## 4 430 51.2
## Puntos de cortes:  
## [[1]]
## [1]  9.5 29.5 31.5
## 
## Número de intervalos:  44  Variable =  11 
##      f   fr
## 1   20  2.4
## 2   15  1.8
## 3   17  2.0
## 4    2  0.2
## 5   12  1.4
## 6    1  0.1
## 7    8  1.0
## 8    2  0.2
## 9    4  0.5
## 10   3  0.4
## 11  25  3.0
## 12   2  0.2
## 13  22  2.6
## 14   2  0.2
## 15  18  2.1
## 16   2  0.2
## 17  46  5.5
## 18  19  2.3
## 19  66  7.9
## 20   3  0.4
## 21 173 20.6
## 22   8  1.0
## 23   7  0.8
## 24   4  0.5
## 25  59  7.0
## 26   8  1.0
## 27   3  0.4
## 28   7  0.8
## 29   1  0.1
## 30   4  0.5
## 31   4  0.5
## 32   8  1.0
## 33   2  0.2
## 34  41  4.9
## 35   4  0.5
## 36  48  5.7
## 37   3  0.4
## 38 103 12.3
## 39  13  1.5
## 40   7  0.8
## 41   1  0.1
## 42  23  2.7
## 43   3  0.4
## 44  17  2.0
## Puntos de cortes:  
## [[1]]
##  [1]  911.5  918.5  932.5  934.5  945.5  946.5  951.5  952.5  956.0  957.5
## [11]  979.5  981.5  995.5  996.5 1011.5 1012.5 1046.5 1056.5 1101.5 1102.5
## [21] 1232.5 1240.5 1246.5 1247.5 1294.5 1299.0 1300.5 1304.5 1305.5 1308.5
## [31] 1310.5 1314.5 1316.5 1345.0 1347.5 1386.5 1388.5 1462.5 1471.5 1474.5
## [41] 1475.5 1489.5 1492.5

2. Método Entropia

Datos_D<-mdlp(Datos_A)
# Datos_D$cutp
# head(Datos_D$Disc.data)
for(i in 1:nv){
  h=Var_A[i]
  f=table(Datos_D$Disc.data[,h]); fr=round(prop.table(f)*100,1)
  nbins=length(f)
  cat("Número de intervalos: ",nbins, " Variable = ",h, "\n")
  print(cbind(f, fr))
  cat("Puntos de cortes: ", "\n"); print(Datos_D$cutp[h])
}
## Número de intervalos:  1  Variable =  1 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  2 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  3 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  4 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  5 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  6 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  7 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  8 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  9 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  10 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"
## 
## Número de intervalos:  1  Variable =  11 
##     f  fr
## 1 840 100
## Puntos de cortes:  
## [[1]]
## [1] "All"

3. Método CAIM (Maximización la interdependencia Atributo-Clase)

Datos_D<-disc.Topdown(Datos_A, method=1)
# Datos_D$cutp
# head(Datos_D$Disc.data)
for(i in 1:nv){
  h=Var_A[i]
  f=table(Datos_D$Disc.data[,h]); fr=round(prop.table(f)*100,1)
  nbins=length(f)
  cat("Número de intervalos: ",nbins, " Variable = ",h, "\n")
  print(cbind(f, fr))
  cat("Puntos de cortes: ", "\n"); print(Datos_D$cutp[h])
}
## Número de intervalos:  2  Variable =  1 
##     f fr
## 1 706 84
## 2 134 16
## Puntos de cortes:  
## [[1]]
## [1] 2.0 7.5 8.0
## 
## Número de intervalos:  2  Variable =  2 
##     f   fr
## 1 242 28.8
## 2 598 71.2
## Puntos de cortes:  
## [[1]]
## [1]  4.0 20.5 60.0
## 
## Número de intervalos:  2  Variable =  3 
##     f   fr
## 1 527 62.7
## 2 313 37.3
## Puntos de cortes:  
## [[1]]
## [1]   4.0  93.5 150.0
## 
## Número de intervalos:  2  Variable =  4 
##     f   fr
## 1 834 99.3
## 2   6  0.7
## Puntos de cortes:  
## [[1]]
## [1]  10.0 398.5 400.0
## 
## Número de intervalos:  2  Variable =  5 
##     f   fr
## 1 522 62.1
## 2 318 37.9
## Puntos de cortes:  
## [[1]]
## [1]  10.0 130.5 200.0
## 
## Número de intervalos:  2  Variable =  6 
##     f   fr
## 1  60  7.1
## 2 780 92.9
## Puntos de cortes:  
## [[1]]
## [1] 10.0 15.5 80.0
## 
## Número de intervalos:  2  Variable =  7 
##     f fr
## 1 487 58
## 2 353 42
## Puntos de cortes:  
## [[1]]
## [1]  10.0  89.5 150.0
## 
## Número de intervalos:  2  Variable =  8 
##     f fr
## 1 260 31
## 2 580 69
## Puntos de cortes:  
## [[1]]
## [1]  5.0 12.5 30.0
## 
## Número de intervalos:  2  Variable =  9 
##     f   fr
## 1  57  6.8
## 2 783 93.2
## Puntos de cortes:  
## [[1]]
## [1]  5.0  7.5 50.0
## 
## Número de intervalos:  2  Variable =  10 
##     f   fr
## 1  70  8.3
## 2 770 91.7
## Puntos de cortes:  
## [[1]]
## [1]  5.0  9.5 60.0
## 
## Número de intervalos:  2  Variable =  11 
##     f   fr
## 1 789 93.9
## 2  51  6.1
## Puntos de cortes:  
## [[1]]
## [1]  900.0 1471.5 1498.0