2.3 Data frames
El data.frame
(marco o tabla de datos) es el objeto más habitual para el almacenamiento de conjuntos de datos.
En este tipo de objetos cada individuo de la muestra se corresponde con una fila y cada una de las variables con una columna.
Para la creación de estas estructuras se utiliza la función data.frame()
.
Este tipo de estructuras son en apariencia muy similares a las matrices, con la ventaja de que permiten que los valores de las distintas columnas sean de tipos diferentes. Por ejemplo, supongamos que tenemos registrados los siguientes valores
<- c("Zumo", "Queso", "Yogourt")
Producto <- c("Bebidas", "Lácteos", "Lácteos")
Seccion <- c(2, 1, 10) Unidades
Los valores anteriores se podrían guardar en una única matriz
<- cbind(Producto, Seccion, Unidades)
x class(x)
## [1] "matrix" "array"
x
## Producto Seccion Unidades
## [1,] "Zumo" "Bebidas" "2"
## [2,] "Queso" "Lácteos" "1"
## [3,] "Yogourt" "Lácteos" "10"
Sin embargo, el resultado anterior no es satisfactorio ya que todos los valores se han transformado en caracteres.
Una solución mejor es utilizar un data.frame
, con lo cual se mantiene el tipo original de las variables.
<- data.frame(Producto, Seccion, Unidades)
lista.compra class(lista.compra)
## [1] "data.frame"
lista.compra
## Producto Seccion Unidades
## 1 Zumo Bebidas 2
## 2 Queso Lácteos 1
## 3 Yogourt Lácteos 10
A continuación se muestran ejemplos que ilustran la manera de acceder a los valores de un data.frame.
$Unidades lista.compra
## [1] 2 1 10
3] # de manera equivalente lista.compra[ ,
## [1] 2 1 10
$Seccion lista.compra
## [1] "Bebidas" "Lácteos" "Lácteos"
$Unidades[1:2] # primeros dos valores de Unidades lista.compra
## [1] 2 1
2,] # segunda fila lista.compra[
## Producto Seccion Unidades
## 2 Queso Lácteos 1
La función summary()
permite hacer un resumen estadístico de las
variables (columnas) del data.frame.
summary(lista.compra)
## Producto Seccion Unidades
## Length:3 Length:3 Min. : 1.000
## Class :character Class :character 1st Qu.: 1.500
## Mode :character Mode :character Median : 2.000
## Mean : 4.333
## 3rd Qu.: 6.000
## Max. :10.000