Introducción

El presente estudio analiza el data set público Diamantes a través del uso de las librerías ggplot2, scales, plotrix del lenguaje R. El data set Diamantes forma parte del paquete ggplot2 y contiene información de precio, características del corte, color, quilates, claridad y profundidad de casi 54.000 diamantes; en el siguiente caso se utiliza la semilla 2545 para el manejo de una muestra de 1000 datos de la base original.

El diamante es un mineral natural, específicamente el más duro (mayor resistencia a la rayadura) de la Tierra. Para poder pulir o tallar un diamante se tiene que utilizar otro diamante, y mantienen muy bien su pulido. Los cuatro criterios de calidad más conocidos para valorar un diamante son las llamadas popularmente “4C”, siglas en inglés de Carat (Peso en quilates), Colour (Color), Clarity (Pureza) y Cut (Talla o Corte)

Base de datos

library(datos)
set.seed(2545)
datos.d <- data.frame(diamantes)
muestra1<-datos.d[sample(nrow(datos.d),size=1000),0:10]
muestra1

Análisis Cuantitativo

summary(muestra1)
##      precio           quilate             corte     color      claridad  
##  Min.   :  362.0   Min.   :0.2300   Regular  : 29   D: 97   SI1    :246  
##  1st Qu.:  944.5   1st Qu.:0.4000   Bueno    : 96   E:175   VS2    :215  
##  Median : 2420.0   Median :0.7100   Muy bueno:242   F:200   SI2    :182  
##  Mean   : 3895.0   Mean   :0.8016   Premium  :240   G:204   VS1    :168  
##  3rd Qu.: 5289.5   3rd Qu.:1.0600   Ideal    :393   H:161   VVS2   : 76  
##  Max.   :18615.0   Max.   :2.5100                   I:114   VVS1   : 74  
##                                                     J: 49   (Other): 39  
##   profundidad        tabla             x               y        
##  Min.   :55.90   Min.   :50.00   Min.   :3.920   Min.   :3.900  
##  1st Qu.:61.10   1st Qu.:56.00   1st Qu.:4.700   1st Qu.:4.710  
##  Median :61.90   Median :57.00   Median :5.720   Median :5.735  
##  Mean   :61.79   Mean   :57.37   Mean   :5.743   Mean   :5.747  
##  3rd Qu.:62.50   3rd Qu.:59.00   3rd Qu.:6.570   3rd Qu.:6.572  
##  Max.   :71.20   Max.   :69.00   Max.   :8.650   Max.   :8.600  
##                                                                 
##        z        
##  Min.   :2.410  
##  1st Qu.:2.900  
##  Median :3.540  
##  Mean   :3.549  
##  3rd Qu.:4.060  
##  Max.   :5.440  
## 

Análisis Cualitativo

Corte

El corte o tallado hace referencia a las proporciones de la piedra. Un diamante brilla y resplandece en función de su talla. Si sus proporciones no son las adecuadas, brillará menos porque la luz en su interior no se reflejará adecuadamente.

Tipos de corte

En el caso del data set Diamantes tenemos la siguiente calidad en los cortes: regular, bueno, muy bueno, premium e ideal y para el análisis de estos criterios se utiliza la frecuencia, frecuencia absoluta, frecuencia relativa, frecuencia absoluta acumulada y frecuencia relativa acumulada.

library(plotrix)
library(ggplot2)
table(muestra1$corte)
## 
##   Regular     Bueno Muy bueno   Premium     Ideal 
##        29        96       242       240       393
cal <-  c("Regular","Bueno", "Muy bueno","Premium","Ideal")
# vector de calidad de cortes

fabs <-  table(muestra1$corte) #frecuencia absoluta

fabs
## 
##   Regular     Bueno Muy bueno   Premium     Ideal 
##        29        96       242       240       393
frel <-  fabs/length(muestra1$corte) # frecuencia relativa

frel
## 
##   Regular     Bueno Muy bueno   Premium     Ideal 
##     0.029     0.096     0.242     0.240     0.393
fabsacum = cumsum(fabs) #frecuencia absoluta acumulada

fabsacum
##   Regular     Bueno Muy bueno   Premium     Ideal 
##        29       125       367       607      1000
frelacum = cumsum(frel) #frecuencia relativa acumulada

frelacum
##   Regular     Bueno Muy bueno   Premium     Ideal 
##     0.029     0.125     0.367     0.607     1.000
#tabla con las frecuencias encontradas

tablafrecuencias = cbind(fabs, frel,fabsacum,frelacum)

tablafrecuencias
##           fabs  frel fabsacum frelacum
## Regular     29 0.029       29    0.029
## Bueno       96 0.096      125    0.125
## Muy bueno  242 0.242      367    0.367
## Premium    240 0.240      607    0.607
## Ideal      393 0.393     1000    1.000

Para evidenciar más fácilmente la frecuencia en la calidad de los cortes que presentan las muestras, procedemos a plasmar los datos de frecuencia en una gráfica de barras , y en grafica de pastel la frecuencia y la frecuencia relativa.

library(ggplot2)
library(plotrix)
#gráfica de barras para frecuencia 

sum(fabs)
## [1] 1000
tabla.1 <- cbind(cal,fabs)
tabla.1
##           cal         fabs 
## Regular   "Regular"   "29" 
## Bueno     "Bueno"     "96" 
## Muy bueno "Muy bueno" "242"
## Premium   "Premium"   "240"
## Ideal     "Ideal"     "393"
b1 <- barplot(fabs,names.arg = cal,ylim = c(0,500),xlab="Calidad",ylab="Frecuencia"     ,col=c("#66CDAA","#98F5FF","darkorchid1","#EEC900","cornsilk1"),main = "Calidad de cortes")               

#Grafico tipo pastel

pastel_fc <- pie3D(fabs,labels = cal,col=c("#CD5B45","#FF7F24","#FFB90F","darkolivegreen1","green"),edges = 100,radius = 2, main="Diagrama de torta para corte de diamantes 3D")

pastel_fcr <- pie(frel,col=c("#CD5B45","#FF7F24","#FFB90F","darkolivegreen1","green"),labels=c("Regular (3.2%)","Bueno (7.9%)","Muy bueno (21.6%)","Premium (27.4%)","Ideal (39.9%)"),  main = "Diagrama de torta para calidad de cortes 2D")

Color

El color es una de las características más importantes de un diamante: cuanto más transparente, más bonito, escaso y valioso. Para determinar la claridad o transparencia de un diamante existe una escala de colores que divide los grados de color desde la D a la Z. Escala establecida por el GIA (Gemological Institute of America) admitida internacionalmente, donde el color D corresponde al más transparente o blanco y el color Z corresponde al amarillo o marrón de peor calidad. A medida que se desplaza de D a Z en la escala normal de color, se indica un creciente nivel de tonos amarillos y/o marrones.

Color de diamantes

En el caso del data set Diamantes tenemos presentes los siguiente colores: D, E, F, H, I, J y para estos criterios contamos con la siguiente frecuencia, frecuencia absoluta, frecuencia relativa, frecuencia absoluta acumulada y frecuencia relativa acumulada:

library(plotrix)
library(ggplot2)
table(muestra1$color);
## 
##   D   E   F   G   H   I   J 
##  97 175 200 204 161 114  49
vcolor <- c("D","E","F","G","H","I","J") 
frea_c <- table(muestra1$color)  #frecuencia absoluta por color 
frea_c
## 
##   D   E   F   G   H   I   J 
##  97 175 200 204 161 114  49
frel_c <- frea_c/length(muestra1$color)  #frecuencia relativa 
frel_c
## 
##     D     E     F     G     H     I     J 
## 0.097 0.175 0.200 0.204 0.161 0.114 0.049
fabsacum_color <- cumsum(frea_c)  #frecuencia absoluta acumulada                       

fabsacum_color
##    D    E    F    G    H    I    J 
##   97  272  472  676  837  951 1000
frelacum_color <- cumsum(frel_c)  #frecuencia relativa acumulada

frelacum_color
##     D     E     F     G     H     I     J 
## 0.097 0.272 0.472 0.676 0.837 0.951 1.000
#tabla de frecuencias

tablafrecuencias.2 <- cbind(frea_c, frel_c, fabsacum_color, frelacum_color)

tablafrecuencias.2
##   frea_c frel_c fabsacum_color frelacum_color
## D     97  0.097             97          0.097
## E    175  0.175            272          0.272
## F    200  0.200            472          0.472
## G    204  0.204            676          0.676
## H    161  0.161            837          0.837
## I    114  0.114            951          0.951
## J     49  0.049           1000          1.000

Para ver mejor la frecuencia de los colores que presentan las muestras procedemos a graficar en gráficas de barras para la frecuencia absoluta, y en grafica de pastel la frecuencia y la frecuencia relativa.

library(ggplot2)
library(plotrix)
#gráfica de barras para frecuencia y frecuencia absoluta

sum(frea_c)
## [1] 1000
tabla.2 <- cbind(vcolor,frea_c)
tabla.2
##   vcolor frea_c
## D "D"    "97"  
## E "E"    "175" 
## F "F"    "200" 
## G "G"    "204" 
## H "H"    "161" 
## I "I"    "114" 
## J "J"    "49"
barrasc1 <-barplot(frea_c,names.arg = vcolor, ylim = c(0,300),
                   xlab="Color",ylab="Frecuencia abs",col =c("gold1","#FF6A6A","darkorchid1","#54FF9F","#FFFAFA","hotpink1","#00FFFF"), 
                   main = "Frecuencia de colores")

#Gráfico tipo pastel
#pastel para frecuencia absoluta color
pastel_facol<-pie3D(frea_c,labels = vcolor,col=c("gold1","#FF6A6A","darkorchid1","#54FF9F","#FFFAFA","hotpink1","#00FFFF"),edges = 100,radius = 2, 
                    main="Diagrama de torta para color de diamantes")

#pastel frecuencia relativa 


pastel_frcol<-pie(frel_c, col=c("gold1","#FF6A6A","darkorchid1","#54FF9F","#FFFAFA","hotpink1","#00FFFF"),
                  labels=c("D(9.7%)","E(17.5%)","F(20%)","G(20.4%)","H(16.1%)","I(11.4%)","J(4.9%)"),main = "Diagrama de torta para colores") 

Claridad

La claridad hace referencia a las diminutas imperfecciones naturales presentes en todos los diamantes, excepto en los más finos. Estas imperfecciones, llamadas inclusiones, pueden ser una nube, una fractura, un diamante dentro de otro más grande, líquido, etc. Los criterios se evalúan por una observación de la corona del diamante y de la siguiente tabla.

  1. IF Internally Flawless o Sin inclusiones internas: No presenta inclusiones internas visibles para un experto con una lupa de 10 aumentos, pero puede haber algunas minúsculas irregularidades externas en el acabado.

  2. Very Very Small Inclusions /Muy muy pequeñas inclusiones:

Grado 1: Una minúscula inclusión visible únicamente para un experto con una lupa de 10 aumentos. Grado 2: Varias inclusiones minúsculas visibles únicamente para un experto con una lupa de 10 aumentos.

  1. Very Small Inclusions / Muy pequeña inclusión

Grado 1: Inclusión muy pequeña visible con una lupa de 10 aumentos. Grado 2: Varias inclusiones muy pequeñas visibles con una lupa de 10 aumentos.

  1. Small Inclusions / Pequeña inclusión

Grado 1: Inclusión pequeña visible con una lupa de 10 aumentos. Grado 2: Varias inclusiones pequeñas visibles con una lupa de 10 aumentos.

  1. Included 1 o Imperfecto

Grado 1: Inclusión que resulta visible a simple vista. Grado 2: Numerosas inclusiones claramente visibles a simple vista que también disminuyen el brillo. Grado 3: Numerosas inclusiones claramente visibles a simple vista que disminuyen el brillo y comprometen la estructura del diamante, haciendo que pueda agrietarse o romperse más fácilmente.

Claridad de diamantes En el caso del data set Diamantes tenemos presentes las siguientes claridades: I1, SI2, SI1, VS2, VS1, VVS2, VVS1, IF y para estos criterios contamos con la siguiente frecuencia, frecuencia absoluta, frecuencia relativa, frecuencia absoluta acumulada y frecuencia relativa acumulada

library(plotrix)
library(ggplot2)
 table(muestra1$claridad);
## 
##   I1  SI2  SI1  VS2  VS1 VVS2 VVS1   IF 
##    9  182  246  215  168   76   74   30
vclaridad <- c("I1","SI2","SI1","VS2","VS1","VVS2","VVS1","IF")
frea_claridad <- table(muestra1$claridad) #frecuencia absoluta por claridad 
frea_claridad
## 
##   I1  SI2  SI1  VS2  VS1 VVS2 VVS1   IF 
##    9  182  246  215  168   76   74   30
frel_claridad <- frea_claridad/length(muestra1$color)  #frecuencia relativa 
frel_claridad
## 
##    I1   SI2   SI1   VS2   VS1  VVS2  VVS1    IF 
## 0.009 0.182 0.246 0.215 0.168 0.076 0.074 0.030
fabsacum_claridad <- cumsum(frea_claridad)  #frecuencia absoluta acumulada                       

fabsacum_claridad
##   I1  SI2  SI1  VS2  VS1 VVS2 VVS1   IF 
##    9  191  437  652  820  896  970 1000
frelacum_claridad <- cumsum(frel_claridad)  #frecuencia relativa acumulada 
frelacum_claridad
##    I1   SI2   SI1   VS2   VS1  VVS2  VVS1    IF 
## 0.009 0.191 0.437 0.652 0.820 0.896 0.970 1.000
#tabla de frecuencias

tablafrecuencias.3 <- cbind(frea_claridad,frel_claridad,fabsacum_claridad,frelacum_claridad)

tablafrecuencias.3
##      frea_claridad frel_claridad fabsacum_claridad frelacum_claridad
## I1               9         0.009                 9             0.009
## SI2            182         0.182               191             0.191
## SI1            246         0.246               437             0.437
## VS2            215         0.215               652             0.652
## VS1            168         0.168               820             0.820
## VVS2            76         0.076               896             0.896
## VVS1            74         0.074               970             0.970
## IF              30         0.030              1000             1.000

Para ver mejor la frecuencia de los claridades que presentan las muestras procedemos a graficar en gráficas de barras para la frecuencia absoluta, y en grafica de pastel la frecuencia y la frecuencia relativa.

library(plotrix)
library(ggplot2)
#gráfica de barras para frecuencia y frecuencia absoluta

sum(frea_claridad)
## [1] 1000
tabla.3 <- cbind(vclaridad,frea_claridad)
tabla.3
##      vclaridad frea_claridad
## I1   "I1"      "9"          
## SI2  "SI2"     "182"        
## SI1  "SI1"     "246"        
## VS2  "VS2"     "215"        
## VS1  "VS1"     "168"        
## VVS2 "VVS2"    "76"         
## VVS1 "VVS1"    "74"         
## IF   "IF"      "30"
barrascl1<- barplot(frea_claridad,names.arg = vclaridad, ylim = c(0,300),
                    xlab="Claridad",ylab="Frecuencia Absoluta",col =  c("#76EE00","#FF1493","dodgerblue1","#EE2C2C","honeydew1","#FFF68F","mediumpurple2","#050505"), main="Tipos de claridad para diamantes")

#Grafico tipo pastel

pastel_faclaridad<-pie3D(frea_claridad,labels = vclaridad,col=c("#76EE00","#FF1493","dodgerblue1","#EE2C2C","honeydew1","#FFF68F","mediumpurple2","#050505"),edges = 100,radius = 2, 
                         main="Diagrama de torta para claridad de diamantes") #pastel para frecuencia absoluta claridad

pastel_frclaridad<-pie(frel_claridad, col=c("#76EE00","#FF1493","dodgerblue1","#EE2C2C","honeydew1","#FFF68F","mediumpurple2","#050505"),
                       labels=c("I1(0.9%)","SI2(18.2%)","SI1(24.6%)","VS2(21.5%)","VS1(16.8%)","VVS2(7.6%)","VVS1(7.4%)","IF(3.0%)"), main = "Diagrama de torta para claridad")

#pastel frecuencia relativa

Gráficas de dispersión

Relación variables cuantitativas y cualitativas

Los diagramas de dispersión planteados a continuación se hicieron utilizando como base 2 variables cuantitativas entre precio, quilate, profundidad y tabla, dado que a partir de la relación en ellas se comparan las variables corte, color y claridad según su frecuencia.

En el siguiente diagrama se presenta la relación “base” entre quilate y precio en el plano de coordenadas, en la gráfica 1 la relación se divide en filas según la frecuencia de la calidad de corte y en columnas según la frecuencia de los colores y en la gráfica 2 la relación se divide en filas según la frecuencia de la calidad de corte y en columnas según la frecuencia de las claridades.

En este caso al ser el corte una cualidad no natural dado que depende de factores externos no se puede relacionar directamente con los factores intrínsecos de los diamantes, sin embargo, se ve que aquellos diamantes con precios elevados suelen tener una calidad de corte superior a bueno, y en el caso del color los diamantes de color G y H son los más apetecidos.Finalmente, se evidencia que la mayoría de muestras son de 1 quilate.

library(plotrix)
library(ggplot2)
###Graficos de dispersión de corte, claridad y color según datos cuantitativos

d1 <- ggplot(muestra1, aes(quilate, precio))+geom_point(alpha = 0.4, 
                                                        aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(color))
d1                                                                   

d2 <- ggplot(muestra1, aes(quilate, precio))+geom_point(alpha = 0.4, 
                                                        aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(claridad))
d2                                                                 

Adicionalmente, en el siguiente diagrama se establece la relación base entre profundidad y precio en el plano de coordenadas, en la gráfica 3 la relación se divide en filas según la frecuencia de la calidad de corte y en columnas según la frecuencia de los colores y en la gráfica 4 la relación se divide en filas según la frecuencia de la calidad de corte y en columnas según la frecuencia de las claridades.

En este caso al ser el corte una cualidad no natural dado que depende de factores externos no se puede relacionar directamente con los factores intrínsecos de los diamantes, sin embargo se ve que aquellos diamantes con precios elevados suelen tener una calidad de corte superior a bueno, y en el caso del color los diamantes de color G y H son los más apetecidos y suelen darse a una profundidad entre 60 y 65.

library(ggplot2)
library(plotrix)
d3 <- ggplot(muestra1, aes(profundidad, precio))+geom_point(alpha = 0.4, 
                                                            aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(color))
d3                                                                   

d4 <- ggplot(muestra1, aes(profundidad, precio))+geom_point(alpha = 0.4, 
                                                            aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(claridad))
d4

Por ultimo, se plasma la relación base entre tabla y precio en el plano de coordenadas, en la gráfica 5 la relación se divide en filas según la frecuencia de la calidad de corte y en columnas según la frecuencia de los colores y en la gráfica 6 la relación se divide en filas según la frecuencia de la calidad de corte y en columnas según la frecuencia de la claridades.

En este caso al ser el corte una cualidad no natural dado que depende de factores externos no se puede relacionar directamente con los factores intrínsecos de los diamantes, sin embargo, se ve que los diamantes con cortes regulares son muy pocos, y en el caso del color los diamantes de color G tienen mayor frecuencia según la variable cuantitativa tabla.

library(ggplot2)
library(plotrix)

d5 <- ggplot(muestra1, aes(tabla, precio))+geom_point(alpha = 0.4, 
                                                      aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(color))
d5                                                                   

d6 <- ggplot(muestra1, aes(tabla, precio))+geom_point(alpha = 0.4, 
                                                      aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(claridad))
d6

Conclusiones

En primer lugar, se evidencia como al hacer un uso correcto del lenguaje R y sus librerías se convierte en una herramienta de analisis de datos masivos, en especial permite una optimización de tiempo colosal a la hora de un analisis estádistico de bases de datos tan grandes como la de diamantes.

Para el análisis Cualitativo se reporta en primera instancia que la calidad de corte predominante es del tipo ideal con un 39.9% ,en segundo lugar, el color predominante es el “G” (casi incoloro), y por ultimo los diamantes con claridad “SI1” implicando pequeñas inclusiones.