15.3 Data frames
Los data.fames
(marcos de datos) son el objeto más habitual para el
almacenamiento 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