SESIÓN 1 - CREANDO Y EXPLORANDO DATA FRAMES

1. Columnas del Data Frame

nombre=c("Jessica", "Raquel", "Carlos", "Manuel", 
         "Alvaro", "Paula", "Gustavo", "Edgar", "Carla")

edad=c(23,20,21,19,
       18,22,23,25,28)

carrera=c("Gestion", "Ciencia Politica", "Economia", "Sociologia", 
          "Antropologia", "Ciencia Politica","Gestion", "Economia", "Sociologia") 

ciudad=c("Lima", "Lima", "Tacna", "Huancayo",
         "Trujillo", "Cusco", "Lima", "Cusco", "Cajamarca")

nota_spss=c(18,9,15,12,
            14,13,19,10,13)

2. Armando el Data Frame

alumnosSpss=data.frame(nombre, 
                       edad, 
                       carrera, 
                       ciudad,
                       nota_spss, 
                       stringsAsFactors = F)

3. Viendo Data Frame

alumnosSpss
##    nombre edad          carrera    ciudad nota_spss
## 1 Jessica   23          Gestion      Lima        18
## 2  Raquel   20 Ciencia Politica      Lima         9
## 3  Carlos   21         Economia     Tacna        15
## 4  Manuel   19       Sociologia  Huancayo        12
## 5  Alvaro   18     Antropologia  Trujillo        14
## 6   Paula   22 Ciencia Politica     Cusco        13
## 7 Gustavo   23          Gestion      Lima        19
## 8   Edgar   25         Economia     Cusco        10
## 9   Carla   28       Sociologia Cajamarca        13

4. Consultas al Data Frame

La data contiene contiene información de alumnos que llevaron un curso de SPSS. Genere el código para responder a las siguientes preguntas:

alumnosSpss[alumnosSpss$nombre=='Manuel',"nota_spss"]
## [1] 12
alumnosSpss[alumnosSpss$edad==max(alumnosSpss$edad),"nombre"]
## [1] "Carla"
alumnosSpss[alumnosSpss$edad==max(alumnosSpss$edad),"carrera"]
## [1] "Sociologia"
alumnosSpss[alumnosSpss$ciudad=='Lima' & alumnosSpss$nota_spss==min(alumnosSpss$nota_spss),"carrera"]
## [1] "Ciencia Politica"

Cree otro data frame:

nombre=c("Maria Fernanda", "Antonella", "Carlos", "Manuel", 
         "Alvaro","Paula","Gustavo", "Edgar","Daniela")

edad=c(23,20,21,19,
       18,22,23,25,28) 
carrera=c("Ciencia Politica", "Ciencia Politica", "Economia", "Sociologia",
          "Antropologia","Ciencia Politica", "Gestion", "Economia", "Sociologia")

ciudad=c("Lima", "Lima", "Tacna", "Huancayo", 
         "Trujillo", "Cusco", "Lima", "Cusco","Cajamarca")

nota_r= c(20,19,15,12,
          13,16,15,11,14)

masculino=c(F,F,T,T,
            T,F,T,T,F)

1. Creando:

alumnosR=data.frame(nombre, edad, carrera, ciudad,nota_r, masculino, 
                    stringsAsFactors = F)

La data contiene contiene información de alumnos que llevaron un curso de R. Muchos de los alumnos que llevaron el curso de SPSS también llevaron el curso de R.

Genere el código para lo siguiente:

alumnosR[order(-nota_r),]
##           nombre edad          carrera    ciudad nota_r masculino
## 1 Maria Fernanda   23 Ciencia Politica      Lima     20     FALSE
## 2      Antonella   20 Ciencia Politica      Lima     19     FALSE
## 6          Paula   22 Ciencia Politica     Cusco     16     FALSE
## 3         Carlos   21         Economia     Tacna     15      TRUE
## 7        Gustavo   23          Gestion      Lima     15      TRUE
## 9        Daniela   28       Sociologia Cajamarca     14     FALSE
## 5         Alvaro   18     Antropologia  Trujillo     13      TRUE
## 4         Manuel   19       Sociologia  Huancayo     12      TRUE
## 8          Edgar   25         Economia     Cusco     11      TRUE

*Ordene alumnos R en base a las carreras (ascendente) y las notas (descendente). Cree un objeto para guardar la data ordenada.

alumnosR_2=alumnosR[order(carrera,-nota_r),]
alumnosR_2
##           nombre edad          carrera    ciudad nota_r masculino
## 5         Alvaro   18     Antropologia  Trujillo     13      TRUE
## 1 Maria Fernanda   23 Ciencia Politica      Lima     20     FALSE
## 2      Antonella   20 Ciencia Politica      Lima     19     FALSE
## 6          Paula   22 Ciencia Politica     Cusco     16     FALSE
## 3         Carlos   21         Economia     Tacna     15      TRUE
## 8          Edgar   25         Economia     Cusco     11      TRUE
## 7        Gustavo   23          Gestion      Lima     15      TRUE
## 9        Daniela   28       Sociologia Cajamarca     14     FALSE
## 4         Manuel   19       Sociologia  Huancayo     12      TRUE
alumnosR[alumnosR$carrera=='Ciencia Politica','nombre']
## [1] "Maria Fernanda" "Antonella"      "Paula"

El comando merge nos permite juntar data frames, añadiendo toda la información (variables) que tenemos disponible sobre los mismos casos. La información completa de nuestros casos puede ser guardada en un nuevo objeto:

alumnos_total = merge(alumnosSpss,alumnosR)
alumnos_total
##    nombre edad          carrera   ciudad nota_spss nota_r masculino
## 1  Alvaro   18     Antropologia Trujillo        14     13      TRUE
## 2  Carlos   21         Economia    Tacna        15     15      TRUE
## 3   Edgar   25         Economia    Cusco        10     11      TRUE
## 4 Gustavo   23          Gestion     Lima        19     15      TRUE
## 5  Manuel   19       Sociologia Huancayo        12     12      TRUE
## 6   Paula   22 Ciencia Politica    Cusco        13     16     FALSE

Genere el código para responder a las siguientes preguntas usando “alumnos_total”:

  • ¿Cuál es la nota en SPSS del alumno con mejor nota en R?
alumnos_total[alumnos_total$nota_r==max(alumnos_total$nota_r),'nota_spss']
## [1] 13
  • ¿Qué alumno obtuvo más de 15 en R y más de 15 en SPSS?
alumnos_total[(alumnos_total$nota_spss>15) & alumnos_total$nota_r>15,]
## [1] nombre    edad      carrera   ciudad    nota_spss nota_r    masculino
## <0 rows> (or 0-length row.names)
  • ¿De qué carrera es el alumno que obtuvo 15 en R y 15 en SPSS?
alumnos_total[(alumnos_total$nota_spss==15) & alumnos_total$nota_r==15,'carrera']
## [1] "Economia"