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)
library(datos)
set.seed(2545)
<- data.frame(diamantes)
datos.d <-datos.d[sample(nrow(datos.d),size=1000),0:10]
muestra1 muestra1
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
##
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
<- c("Regular","Bueno", "Muy bueno","Premium","Ideal")
cal # vector de calidad de cortes
<- table(muestra1$corte) #frecuencia absoluta
fabs
fabs
##
## Regular Bueno Muy bueno Premium Ideal
## 29 96 242 240 393
<- fabs/length(muestra1$corte) # frecuencia relativa
frel
frel
##
## Regular Bueno Muy bueno Premium Ideal
## 0.029 0.096 0.242 0.240 0.393
= cumsum(fabs) #frecuencia absoluta acumulada
fabsacum
fabsacum
## Regular Bueno Muy bueno Premium Ideal
## 29 125 367 607 1000
= cumsum(frel) #frecuencia relativa acumulada
frelacum
frelacum
## Regular Bueno Muy bueno Premium Ideal
## 0.029 0.125 0.367 0.607 1.000
#tabla con las frecuencias encontradas
= cbind(fabs, frel,fabsacum,frelacum)
tablafrecuencias
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
.1 <- cbind(cal,fabs)
tabla.1 tabla
## cal fabs
## Regular "Regular" "29"
## Bueno "Bueno" "96"
## Muy bueno "Muy bueno" "242"
## Premium "Premium" "240"
## Ideal "Ideal" "393"
<- barplot(fabs,names.arg = cal,ylim = c(0,500),xlab="Calidad",ylab="Frecuencia" ,col=c("#66CDAA","#98F5FF","darkorchid1","#EEC900","cornsilk1"),main = "Calidad de cortes") b1
#Grafico tipo pastel
<- 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_fc
<- 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") pastel_fcr
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
<- c("D","E","F","G","H","I","J")
vcolor <- table(muestra1$color) #frecuencia absoluta por color
frea_c frea_c
##
## D E F G H I J
## 97 175 200 204 161 114 49
<- frea_c/length(muestra1$color) #frecuencia relativa
frel_c frel_c
##
## D E F G H I J
## 0.097 0.175 0.200 0.204 0.161 0.114 0.049
<- cumsum(frea_c) #frecuencia absoluta acumulada
fabsacum_color
fabsacum_color
## D E F G H I J
## 97 272 472 676 837 951 1000
<- cumsum(frel_c) #frecuencia relativa acumulada
frelacum_color
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
.2 <- cbind(frea_c, frel_c, fabsacum_color, frelacum_color)
tablafrecuencias
.2 tablafrecuencias
## 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
.2 <- cbind(vcolor,frea_c)
tabla.2 tabla
## vcolor frea_c
## D "D" "97"
## E "E" "175"
## F "F" "200"
## G "G" "204"
## H "H" "161"
## I "I" "114"
## J "J" "49"
<-barplot(frea_c,names.arg = vcolor, ylim = c(0,300),
barrasc1 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
<-pie3D(frea_c,labels = vcolor,col=c("gold1","#FF6A6A","darkorchid1","#54FF9F","#FFFAFA","hotpink1","#00FFFF"),edges = 100,radius = 2,
pastel_facolmain="Diagrama de torta para color de diamantes")
#pastel frecuencia relativa
<-pie(frel_c, col=c("gold1","#FF6A6A","darkorchid1","#54FF9F","#FFFAFA","hotpink1","#00FFFF"),
pastel_frcollabels=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")
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.
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.
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.
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.
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.
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.
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
<- c("I1","SI2","SI1","VS2","VS1","VVS2","VVS1","IF")
vclaridad <- table(muestra1$claridad) #frecuencia absoluta por claridad
frea_claridad frea_claridad
##
## I1 SI2 SI1 VS2 VS1 VVS2 VVS1 IF
## 9 182 246 215 168 76 74 30
<- frea_claridad/length(muestra1$color) #frecuencia relativa
frel_claridad 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
<- cumsum(frea_claridad) #frecuencia absoluta acumulada
fabsacum_claridad
fabsacum_claridad
## I1 SI2 SI1 VS2 VS1 VVS2 VVS1 IF
## 9 191 437 652 820 896 970 1000
<- cumsum(frel_claridad) #frecuencia relativa acumulada
frelacum_claridad 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
.3 <- cbind(frea_claridad,frel_claridad,fabsacum_claridad,frelacum_claridad)
tablafrecuencias
.3 tablafrecuencias
## 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
.3 <- cbind(vclaridad,frea_claridad)
tabla.3 tabla
## 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"
<- barplot(frea_claridad,names.arg = vclaridad, ylim = c(0,300),
barrascl1xlab="Claridad",ylab="Frecuencia Absoluta",col = c("#76EE00","#FF1493","dodgerblue1","#EE2C2C","honeydew1","#FFF68F","mediumpurple2","#050505"), main="Tipos de claridad para diamantes")
#Grafico tipo pastel
<-pie3D(frea_claridad,labels = vclaridad,col=c("#76EE00","#FF1493","dodgerblue1","#EE2C2C","honeydew1","#FFF68F","mediumpurple2","#050505"),edges = 100,radius = 2,
pastel_faclaridadmain="Diagrama de torta para claridad de diamantes") #pastel para frecuencia absoluta claridad
<-pie(frel_claridad, col=c("#76EE00","#FF1493","dodgerblue1","#EE2C2C","honeydew1","#FFF68F","mediumpurple2","#050505"),
pastel_frclaridadlabels=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
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
<- ggplot(muestra1, aes(quilate, precio))+geom_point(alpha = 0.4,
d1 aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(color))
d1
<- ggplot(muestra1, aes(quilate, precio))+geom_point(alpha = 0.4,
d2 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)
<- ggplot(muestra1, aes(profundidad, precio))+geom_point(alpha = 0.4,
d3 aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(color))
d3
<- ggplot(muestra1, aes(profundidad, precio))+geom_point(alpha = 0.4,
d4 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)
<- ggplot(muestra1, aes(tabla, precio))+geom_point(alpha = 0.4,
d5 aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(color))
d5
<- ggplot(muestra1, aes(tabla, precio))+geom_point(alpha = 0.4,
d6 aes(color = corte))+facet_grid(rows = vars(corte), cols = vars(claridad))
d6
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.