You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# RESPUESTA: Definimos nuestro criterio de participación en base al total de la suma de los conceptos discutidos por asamblea, lo que sería básicamente un conteo de frecuencias.
171
+
172
+
sum_rows = rowSums(data_tf[2:113])
173
+
localities = data_tf$localidad
174
+
aux_df = data.frame(localidad = localities, total = sum_rows)
175
+
sorted_df <- aux_df[order(-aux_df$total),]
176
+
head(sorted_df, 10)
177
+
178
+
171
179
```
172
180
173
181
5. Ejecute el siguiente código que permitirá agregar una nueva columna a nuestro dataframe que solo tendrá el nombre de la región.
@@ -243,7 +251,7 @@ ggplot(topSantiago) + # asociamos un data frame a ggplot
243
251
6. De la pregunta anterior, ¿considera que es razonable usar el conteo de frecuencias para determinar las regiones que tuvieron mayor participación en el proceso? ¿Por qué? Sugiera y solamente comente una forma distinta de hacerlo.
244
252
245
253
```{r}
246
-
# RESPUESTA
254
+
# RESPUESTA: No es razonable para determinar la participación a nivel nacional, dado que distintas regiones tienen distintos tamaños de población. Por lo que regiones con menos participación pero más habitantes podrían dominar el conteo de frecuencias. Una alternativa mejor sería normalizar dicho conteo de frecuencias dividiendo por el total de población de cada región. De ese modo se podría evaluar por porcentajes de población, permitiéndole representación a las regiones con menor población.
247
255
```
248
256
249
257
## Ejercicios
@@ -290,18 +298,109 @@ Realice una exploración por el set de datos para responder las siguientes pregu
290
298
291
299
1. Teniendo en cuenta las medidas físicas, ¿considera que existen valores inexistentes o inconsistentes? Describa como manejaría esta situación. Adjunte el código necesario.
292
300
293
-
**Respuesta: Podemos filtrar los datos utilizando el concepto matemático de la desigualdad triangular para encontrar los diamantes cuyas dimensiones sean inconsistentes y/o inexistentes dentro de los datos entregados.**
301
+
**Respuesta: Primero podemos filtrar buscando filas que tengan valores N/A. Luego, podemos revisar si las dimensiones indicadas son consistentes con la realidad. Por ejemplo, no pueden haber diamantes en dimensiones menores a 3, dada la naturaleza de nuestra realidad. En el caso de que sí hubieran, esto representaría una inconsistencia con la información del dataframe. Es por esto que podemos buscar valores mínimos o máximos en las dimensiones como primer acercamiento.**
294
302
295
303
```{r}
296
304
# RESPUESTA
305
+
306
+
#Revisar valores inexistentes
307
+
non_existant = sum(is.na(diamonds))
308
+
non_existant
309
+
310
+
# Resulta que no hay valores nulos en el dataframe, por lo que queda analizar las dimensiones de forma más específica. Partiremos revisando los valores mínimos que toman las dimensiones de los diamantes.
311
+
312
+
#Revisaremos con Summary a ver qué aparece.
313
+
summary(diamonds)
314
+
```
315
+
316
+
```{r}
317
+
#Podemos notar que para las dimensiones x, y o z, hay valores iguales 0, así como valores demasiado grandes para una escala en centímetros. Respecto a cualquiera de los 3 valores iguales a 0, son dimensiones imposibles de concebir en una realidad de 3 dimensiones. Análogamente, sucede lo mismo con valores demasiado grandes. Veremos algunas de las filas en detalle que presentan valores iguales a 0 en x, y o z.
#Respecto a los diamantes con algún valor en sus dimensiones demasiado grande, podemos calcular la desviación estándar de cada dimensión y revisar aquellas filas que posean algún valor de x, y o z que se aleje sustancialmente de una cota razonable definida a partir de dicha desviación. Por ejemplo, podríamos buscar las filas que posean alguna de sus dimensiones más allá de 9 veces la desviación estándar de tal dimensión.
326
+
327
+
#Primero calcularemos la desviación estándar de cada dimensión y la amplificaremos por un factor arbitrario.
328
+
f = 9 # factor multiplicativo para la desviación estándar
329
+
sd_x = sd(diamonds$x) * f
330
+
sd_y = sd(diamonds$y) * f
331
+
sd_z = sd(diamonds$z) * f
332
+
333
+
334
+
#Ahora buscaremos las filas donde hayan dimensiones que se alejen más de f veces la desviación estándar respectiva a ellas. Mostraremos solo algunas de ellas.
#Podemos notar la primera inconsistencia de este tipo, donde hay un diamante con una dimensión en y igual a 58.90. Aunque hiciéramos el supuesto de tomarlo como consistente, éste sería mucho más grande que el diamante de igual corte "Premium" de dimensiones (10.14, 10.10, 6.17), pero vale aprox. 3000 menos, lo cual es extraño e inconsistente.
338
+
339
+
```
340
+
341
+
```{r}
342
+
#Para abordar estas inconsistencias, hay varios caminos que seguir: en primer lugar, podemos derechamente eliminar las filas inconsistentes según los criterios definidos anteriormente, ya que son pocas en comparació al volumen original del dataframe. Por otro lado, siguiendo una ruta más compleja, se podría definir un tamaño hipotético esperable para los diamantes en función de los datos realmente consistentes, con el fin de rellenar los valores iguales a 0 para los diamantes inconsistentes. Respecto a los valores demasiado grandes, se podría hacer lo mismo, reduciendo tales valores, pero sería más complejo ya que habría que definir una cota, como se mencionó en el apartado anterior. El camino más sencillo es simplemente eliminar los datos inconsistentes, ya que son pocos.
343
+
344
+
#Podemos crear un nuevo dataframe (para no editar el de la tarea) eliminando los valores que tengan 0 y luego los valores que sean demasiado grandes, usando la libreria dplyr:
#Podemos notar que se eliminan 28 filas de datos inconsistentes según los criterios explicados anteriormente
357
+
297
358
```
298
359
299
360
2. Considerando la relación entre dos atributos, ¿qué atributos están más correlacionadas con el precio (price) y qué significa esto? ¿cuál es la correlación más alta para table? Adjunte el código necesario para la respuesta.
300
361
301
362
```{r}
302
363
# RESPUESTA
364
+
# Podemos calcular la correlación entre el precio y las demás variables con el coeficiente de correlación de Pearson y luego compararlas en un histograma. Usaremos el dataset que no tiene inconsistencias. Solamente analizaremos las variables numéricas
#En este caso, la correlación es muy alta con las dimensiones, sobretodo en x, y con el parámetro "carat"; no así con el parámetro "depth".
401
+
303
402
```
304
403
305
404
3. Proponga otra forma para explorar los datos. ¿Qué información adicional aporta? Adjunte una breve explicación.
306
405
307
-
**Respuesta:**
406
+
**Respuesta: Podríamos cambiar los valores de tipo string por factores ponderantes numéricos, por ejemplo, el valor "Premium" de la columna "cut" podría tener el máximo valor de 5, y el valor "Fair", uno menor, con el fin de poder calcular matemáticamente el coeficiente de correlación de Pearson. De esta manera, se podrían obtener más correlaciones entre el precio con tales variables.**
0 commit comments