2.8 Data Frames

Los dataframes son estructuras de datos que se componen de filas y columnas. Es decir, tienen dos dimensiones. Cada columna puede contener un tipo de datos diferente, por lo que son heterogéneos. Podemos pensarlos como una lista especial, donde todos sus elementos son vectores del mismo tamaño. Para crearlos utilizamos la función data.frame()

df <- data.frame(dia = sample(c("lu", "ma", "mi", "jueves", "vi"), 6, replace = T),
                 hora = c(9, 10, 8, 10, 9, 9),
                 materia = rep(c("español", "matemáticas", "ciencias"), 2), 
                 tarea = rep(c(TRUE, FALSE, TRUE), 2))
df
##      dia hora     materia tarea
## 1 jueves    9     español  TRUE
## 2     ma   10 matemáticas FALSE
## 3     vi    8    ciencias  TRUE
## 4     ma   10     español  TRUE
## 5 jueves    9 matemáticas FALSE
## 6     lu    9    ciencias  TRUE

Para acceder a sus diferentes propiedades

nrow(df)
# [1] 6
ncol(df)
# [1] 4
dim(df)
# [1] 6 4
colnames(df)
# [1] "dia"     "hora"    "materia" "tarea"  

Si los dataframes son muy grandes, imprimir todos sus valores en pantalla no será práctico. Para ver solamente algunos valores, podemos usar las funciones head() y tail(). Usaremos el dataframe iris, ya cargado en R.

head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
tail(iris)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica