A continuación, se observan una serie de preguntas e instrucciones.
Deberás contestar todas por medio de código en un script de R llamado caso_1_XY.R (XY son tus iniciales) y enviarlas a mario.heredia@lasquinceletras.com.mx antes del 2021-07-18.
Recuerda que siempre habrá más de una manera correcta de resolver un problema. No te preocupes mucho por cuál elegir si se te ocurre más de una, lo importante es que llegues al resultado correcto o puedas contestar puntualmente las preguntas.
¿Cuáles son los valores máximo y minimo de la columna price?
¿Cuáles son los valores máximo y mínimo de la columna carat?
Crea una columna llamada ppk que indique el precio por kilate, calculado como \(ppk = \frac {price}{carat}\)
Crea una columna llamada volumen que aproxime el volumen total del diamante (asumiendo que el diamante es cúbico), dado por \(x*y*z\)
Conserva los renglones en los cuales cut es mejor que Fair, color es mejor o igual que F y el precio no es mayor a $400
Selecciona todas las variables cuyo nombre empieza con la letra “c”.
Agrega una columna que permita identificar a cada diamante por un número único.
¿Qué categorías de color están presentes en los diamantes con precio mayor a 18700? (Muestralos en orden)
¿Qué categorías de clarity están presentes en los diamantes con precio menor a 337? (Muestralos en orden)
A partir de este nivel, se muestra la respuesta a la cual debes llegar.
carat) de los 20 diamantes más costosos?## # A tibble: 1 x 1
## mean_carat
## <dbl>
## 1 2.02
carat) de los 20 diamantes de menor precio?## # A tibble: 1 x 1
## mean_carat
## <dbl>
## 1 0.262
cut Premium?## # A tibble: 1 x 1
## mean_price
## <dbl>
## 1 4584.
x, y, z y pasalas a formato long.## # A tibble: 161,820 x 2
## eje valor
## <chr> <dbl>
## 1 x 3.95
## 2 y 3.98
## 3 z 2.43
## 4 x 3.89
## 5 y 3.84
## 6 z 2.31
## 7 x 4.05
## 8 y 4.07
## 9 z 2.31
## 10 x 4.2
## # ... with 161,810 more rows
id_diamante que nos permita identificar cada diamanante cuando esté en formato long.## # A tibble: 161,820 x 3
## id_diamante eje valor
## <int> <chr> <dbl>
## 1 1 x 3.95
## 2 1 y 3.98
## 3 1 z 2.43
## 4 2 x 3.89
## 5 2 y 3.84
## 6 2 z 2.31
## 7 3 x 4.05
## 8 3 y 4.07
## 9 3 z 2.31
## 10 4 x 4.2
## # ... with 161,810 more rows
x, y, z y presenta los resultados en formato long. (Parte del resultado del ejercicio anterior)## # A tibble: 3 x 2
## eje prom
## <chr> <dbl>
## 1 x 5.73
## 2 y 5.73
## 3 z 3.54
x, y, z y presenta los resultados en formato wide. Aunque puede ser útil partir del ejercicio anterior, es más práctico empezar desde 0.## # A tibble: 1 x 3
## x y z
## <dbl> <dbl> <dbl>
## 1 5.73 5.73 3.54
cut## # A tibble: 5 x 4
## cut max_price min_price mean_price
## <ord> <int> <int> <dbl>
## 1 Fair 18574 337 4359.
## 2 Good 18788 327 3929.
## 3 Very Good 18818 336 3982.
## 4 Premium 18823 326 4584.
## 5 Ideal 18806 326 3458.
cut, color y clarity. Consulta ?diamonds para saber qué nivel de cada variable es el más alto.## # A tibble: 1 x 1
## mean_ppk
## <dbl>
## 1 9034.
cut, color y clarity. Consulta ?diamonds para saber qué nivel de cada variable es el más bajo.## # A tibble: 1 x 1
## mean_ppk
## <dbl>
## 1 2631.
Para este nivel, es posible que las notas no sean suficientes para contestar las preguntas.
Este libro, Stack Overflow, Google y la ayuda de R serán tus recursos favoritos en este proceso.
Pista: Tal vez te sean útiles los operadores lógicos &(y), |(o)
## # A tibble: 2 x 4
## cut color clarity mean_ppk
## <ord> <ord> <ord> <dbl>
## 1 Fair J I1 2631.
## 2 Ideal D IF 9034.
n(). Escribe ?n en tu consola para acceder a la ayuda de R y obtener más información.## # A tibble: 7 x 2
## color n
## <ord> <int>
## 1 D 6775
## 2 E 9797
## 3 F 9542
## 4 G 11292
## 5 H 8304
## 6 I 5422
## 7 J 2808
## # A tibble: 8 x 8
## clarity D E F G H I J
## <ord> <int> <int> <int> <int> <int> <int> <int>
## 1 I1 42 102 143 150 162 92 50
## 2 SI2 1370 1713 1609 1548 1563 912 479
## 3 SI1 2083 2426 2131 1976 2275 1424 750
## 4 VS2 1697 2470 2201 2347 1643 1169 731
## 5 VS1 705 1281 1364 2148 1169 962 542
## 6 VVS2 553 991 975 1443 608 365 131
## 7 VVS1 252 656 734 999 585 355 74
## 8 IF 73 158 385 681 299 143 51
## # A tibble: 8 x 8
## clarity D E F G H I J
## <ord> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 I1 0.0779 0.189 0.265 0.278 0.300 0.171 0.0927
## 2 SI2 2.54 3.18 2.98 2.87 2.90 1.69 0.888
## 3 SI1 3.86 4.50 3.95 3.66 4.22 2.64 1.39
## 4 VS2 3.15 4.58 4.08 4.35 3.05 2.17 1.36
## 5 VS1 1.31 2.37 2.53 3.98 2.17 1.78 1.00
## 6 VVS2 1.03 1.84 1.81 2.68 1.13 0.677 0.243
## 7 VVS1 0.467 1.22 1.36 1.85 1.08 0.658 0.137
## 8 IF 0.135 0.293 0.714 1.26 0.554 0.265 0.0945
color. Es decir, cada columna debe sumar 100%## # A tibble: 8 x 8
## clarity D E F G H I J
## <ord> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 I1 0.620 1.04 1.50 1.33 1.95 1.70 1.78
## 2 SI2 20.2 17.5 16.9 13.7 18.8 16.8 17.1
## 3 SI1 30.7 24.8 22.3 17.5 27.4 26.3 26.7
## 4 VS2 25.0 25.2 23.1 20.8 19.8 21.6 26.0
## 5 VS1 10.4 13.1 14.3 19.0 14.1 17.7 19.3
## 6 VVS2 8.16 10.1 10.2 12.8 7.32 6.73 4.67
## 7 VVS1 3.72 6.70 7.69 8.85 7.04 6.55 2.64
## 8 IF 1.08 1.61 4.03 6.03 3.60 2.64 1.82
clarity. Los valores de clarity deben ser ahora los nombres de las columnas, de manera que una vez más, las columnas sumen 100%## # A tibble: 7 x 9
## color I1 SI2 SI1 VS2 VS1 VVS2 VVS1 IF
## <ord> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 D 5.67 14.9 15.9 13.8 8.63 10.9 6.89 4.08
## 2 E 13.8 18.6 18.6 20.2 15.7 19.6 17.9 8.83
## 3 F 19.3 17.5 16.3 18.0 16.7 19.2 20.1 21.5
## 4 G 20.2 16.8 15.1 19.1 26.3 28.5 27.3 38.0
## 5 H 21.9 17.0 17.4 13.4 14.3 12.0 16.0 16.7
## 6 I 12.4 9.92 10.9 9.54 11.8 7.20 9.71 7.99
## 7 J 6.75 5.21 5.74 5.96 6.63 2.59 2.02 2.85
quantile() dentro de summarise(). Escribe ?quantile en tu consola para ver más información de cómo usarla.## # A tibble: 1 x 3
## p_10 p_20 p_90
## <dbl> <dbl> <dbl>
## 1 646 837 9821
color## # A tibble: 7 x 6
## color p_10 p_20 p_50 p_90 mean
## <ord> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 D 666. 803 1838 7325. 3170.
## 2 E 658 805 1739 7232. 3077.
## 3 F 684. 880 2344. 9211. 3725.
## 4 G 666 840 2242 9852. 3999.
## 5 H 600 798 3460 11038. 4487.
## 6 I 572 850 3730 12985 5092.
## 7 J 642. 1210. 4234 12642. 5324.
Es importante no perder de vista que al hacer estas operaciones, estamos haciendo preguntas a nuestros datos. Es decir, en la práctica no realizarás estas operaciones como un ejercicio, sino que las utilizarás como un medio para realizar preguntas y obtener respuestas, como parte de un proceso analítico.
El ejercicio anterior muestra un comportamiento interesante. ¿Por qué si el color D es el mejor y el color J el peor, los percentiles y el promedio sugieren que mientras peor sea el color, mayor es el precio?
Propón algunas operaciones que puedas realizar a tus datos para obtener una respuesta a la pregunta anterior.
Pistas:
El proceso aproximado para calcular porcentajes es:
color y clarityungroup()