Imprimir los primeros seis renglones de starwars

## # A tibble: 6 x 14
##   name  height  mass hair_color skin_color eye_color birth_year sex  
##   <chr>  <int> <dbl> <chr>      <chr>      <chr>          <dbl> <chr>
## 1 Luke…    172    77 blond      fair       blue            19   male 
## 2 C-3PO    167    75 <NA>       gold       yellow         112   none 
## 3 R2-D2     96    32 <NA>       white, bl… red             33   none 
## 4 Dart…    202   136 none       white      yellow          41.9 male 
## 5 Leia…    150    49 brown      light      brown           19   fema…
## 6 Owen…    178   120 brown, gr… light      blue            52   male 
## # … with 6 more variables: gender <chr>, homeworld <chr>, species <chr>,
## #   films <list>, vehicles <list>, starships <list>

Ejercicio 1

Por favor escribe un chunk de código con las funciones de {dplyr} que te permitan

Generar el siguiente tibble:

## # A tibble: 6 x 5
##   name               height hair_color eye_color species
##   <chr>               <int> <chr>      <chr>     <chr>  
## 1 Rey                    NA brown      hazel     Human  
## 2 Padmé Amidala         165 brown      brown     Human  
## 3 Leia Organa           150 brown      brown     Human  
## 4 Dormé                 165 brown      brown     Human  
## 5 Cordé                 157 brown      brown     Human  
## 6 Beru Whitesun lars    165 brown      blue      Human

Ejercicio 2

Por favor explica qué estoy haciendo en cada línea del siguiente chunk de código.

## # A tibble: 10 x 5
##    name         height  mass var_1 var_2
##    <chr>         <int> <dbl> <int> <dbl>
##  1 Yarael Poof     264    NA     1    NA
##  2 Tarfful         234   136     2    NA
##  3 Lama Su         229    88     3    NA
##  4 Chewbacca       228   112     4    NA
##  5 Roos Tarpals    224    82     5    NA
##  6 Grievous        216   159     6    NA
##  7 Taun We         213    NA     7    NA
##  8 Rugor Nass      206    NA     8    NA
##  9 Tion Medon      206    80     9    NA
## 10 Darth Vader     202   136    10    NA

Ejercicio 3

Copia y pega el chunk del ejercicio anterior y por favor dinos:

¿Cuál es el valor de var_2?

R: Es NA, en todas sus observaciones.

¿Por qué es este valor?

_Porque en al menos una observación del tibble, el valor de mass (su masa) _es un NA.__ Como los NAs no pueden operacionalizarse y además son contagiosos, el promedio no puede obtenerse si estos son tomados en cuenta.

Si tuvieras que ofrecer una respuesta numérica, ¿qué cambio le harías al código para conseguirlo?

R: La función mean() tiene el argumento na.rm, que si se define como T o TRUE no tomará en cuenta para el cálculo todos los valores NA.

Esto se resovería como variable_2 = mean(mass, na.rm = T)).

Otra alternativa sería también filtrar las observaciones que tienen NAs dentro de la variable de interés. La diferencia con la solución anterior consiste en que borramos renglones que podrían tener otros datos de interés para futuros cálculos.

Ejercicio 4

Por favor responde las siguientes preguntas (debes sustentar tus respuestas con el código correspondiente):

  • ¿Cuánto mide Chewbacca?
## [1] "La altura de Chewbacca es: Chewbacca"
## [2] "La altura de Chewbacca es: 228"
  • ¿Cuántos personajes miden más que él?
## # A tibble: 87 x 3
##    name         height pos_altura
##    <chr>         <int>      <dbl>
##  1 Yarael Poof     264        1  
##  2 Tarfful         234        2  
##  3 Lama Su         229        3  
##  4 Chewbacca       228        4  
##  5 Roos Tarpals    224        5  
##  6 Grievous        216        6  
##  7 Taun We         213        7  
##  8 Rugor Nass      206        8.5
##  9 Tion Medon      206        8.5
## 10 Darth Vader     202       10  
## # … with 77 more rows

Con el código anterior, podemos observar que Chewbacca está en cuarto lugar, por lo que hay 3 personajes que miden más que él.

  • ¿Cuál es el personaje menos alto?
## # A tibble: 1 x 2
##   name  height
##   <chr>  <int>
## 1 Yoda      66
  • ¿Cuál es la altura promedio de todos los personajes?
## # A tibble: 1 x 1
##   altura_prom
##         <dbl>
## 1        174.

Para los personajes de los que hay datos, la altura promedio es 174.

  • ¿Cuál es la altura promedio del género masculino y femenino?
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 3 x 2
##   gender    altura_prom
##   <chr>           <dbl>
## 1 feminine         165.
## 2 masculine        177.
## 3 <NA>             181.

Este código revela que para el género femenino, la altura promedio es 165, para el masculino, es 177, y hay personajes sin género cuya altura promedio es 181.

Ejercicio 5

Por favor ayuda al viejo Segasi a corregir todos los problemas que tiene el siguiente chunk de código:

  • Dejó un espacio entre la n y el %. Aquí utilizó el operador %in% en lugar de utilizar la pipa, %>%, que sería el operador indicado.
  • Usó la función select en lugar de filter para dejar solo las observaciones donde el color de ojos es azul y el sexo es masculino.

  • Utilizó el operador = en lugar de == para hacer una comparación.

  • No puso los valores de las observaciones entre comillas, por lo que R piensa que son objetos y no los encuentra.

  • Dejó un espacio entre la n y el %. Utilizó el operador %in% en lugar de la pipa, %>%

  • Usó la función filter en lugar de select para seleccionar las columnas (variables) de interés.

  • No cerró el paréntesis que comienza en la función filter().

  • Dejó un espacio entre la n y el %. Usó el operador %in% en lugar de la pipa, %>%.

  • Esta línea se ve correcta.

  • Debajo de las correciones, está anotada la línea con el código correcto, según lo que interpreto que quiso hacer el viejo Segasi en su chunk de código.