Facultad de Derecho y Ciencia Politica

Escuela de Ciencia Política

Guia de Clase de ESTADISTICA

Sesion 1: Creando y explorando data frames

  1. Las 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)
  1. Armando el Data Frame
alumnosSpss=data.frame(nombre, 
                       edad, 
                       carrera, 
                       ciudad,
                       nota_spss, 
                       stringsAsFactors = F)
  1. 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
  1. 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)

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
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”:

alumnos_total[alumnos_total$nota_r==max(alumnos_total$nota_r),'nota_spss']
## [1] 13
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)
alumnos_total[(alumnos_total$nota_spss==15) & alumnos_total$nota_r==15,'carrera']
## [1] "Economia"

Volver al indice