Listas
Conectan objetos donde cada uno puede tener una estructura distinta.
Una lista tiene una serie de componentes, a los que deberemos asignar un nombre.
Soporta menos operaciones que otras estructuras de datos debido a la falta de homogeneidad de los datos que la componen
familia <- list(padre="peter",madre="maria",numero.hijos=3, nombre.hijos=c("juan","carlos","eva"),edades.hijos=c(7,5,3),ciudad="madrid")
$padre
[1] "peter"
$madre
[1] "maria"
$numero.hijos
[1] 3
$nombre.hijos
[1] "juan" "carlos" "eva"
$edades.hijos
[1] 7 5 3
$ciudad
[1] "madrid"
names(familia)
[1] "padre" "madre" "numero.hijos" "nombre.hijos" "edades.hijos" "ciudad"
familia$padre
[1] "peter"
familia$numero.hijos
[1] 3
familia[[1]]
[1] "peter"
familia[[3]]
[1] 3
Matrices
Conjunto de elementos bidimensional.
Sintasis: matrix(data, nrow, ncol, byrow=F)
data – Datos que componen la matriz
nrow – Número de filas
ncol – Número de columnas
byrow – Indica el orden en que se colocan los datos, por defecto se colocan por columnas.
matrix(1:6) [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 [5,] 5 [6,] 6 matrix(1:6, nrow=2) [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 x <- matrix(1:6, nrow=2, byrow=T) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6
Funciones con matrices
dim – Retorna las dimensiones de la matriz.
dimnames – Asigna o retorna el nombre de las dimensiones de la matriz.
colnames – Asigna o retorna el nombre de las columnas de la matriz.
rownames – Asigna o retorna el nombre de las filas de la matriz.
mode – Retorna el tipo de datos de los elementos de una matriz.
length – Retorna el número total de elementos de una matriz.
is.matrix – Retorna T si el objeto es una matriz, F si no lo es.
[ , ] – Consulta los elementos dentro de la matriz.
apply – Aplica una función sobre las filas o columnas de una matriz.
cbind – Añade una columna a la matriz dada.
rbind – Añade una fila a la matriz dada.
matrix(1:6) [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 [5,] 5 [6,] 6 matrix(1:6, nrow=2) [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 x <- matrix(1:6, nrow=2, byrow=T) dim(x) [1] 2 3 dimnames(x)<-list(c("edad","peso"), c("paco","juan","maria")) x paco juan maria edad 1 2 3 peso 4 5 6 dimnames(x) [[1]] [1] "edad" "peso" [[2]] [1] "paco" "juan" "maria" colnames(x) [1] "paco" "juan" "maria" rownames(x) [1] "edad" "peso" mode(x) [1] "numeric" length(x) [1] 6 is.matrix(x) [1] TRUE x[1,2] [1] 2 x[,1] edad peso 1 4 x[1,] paco juan maria 1 2 3 apply(x,1, mean) edad peso 2 5 apply(x,2, mean) paco juan maria 2.5 3.5 4.5 apply(x,1, sum) edad peso 6 15 apply(x,2, summary) paco juan maria Min. 1.00 2.00 3.00 1st Qu. 1.75 2.75 3.75 Median 2.50 3.50 4.50 Mean 2.50 3.50 4.50 3rd Qu. 3.25 4.25 5.25 Max. 4.00 5.00 6.00 cbind(x,c(0,0)) paco juan maria edad 1 2 3 0 peso 4 5 6 0 rbind(x,c(0,0,0)) paco juan maria edad 1 2 3 peso 4 5 6 0 0 0
Arrays
Conectan objetos donde todos los elementos deben ser del mismo tipo (todos números o todos caracteres).
datos<-array(c(45,46,65,55,170,167,48,49,68,56,169,165),c(2,3,2)) dimnames(datos)<-list(c("hombres","mujeres"),c("edad","peso","altura"), c("cadiz","soria")) , , cadiz edad peso altura hombres 45 65 170 mujeres 46 55 167 , , soria edad peso altura hombres 48 68 169 mujeres 49 56 165 datos[,,"soria"] edad peso altura hombres 48 68 169 mujeres 49 56 165 apply(datos,2,mean) edad peso altura 47.00 61.00 167.75
0 comentarios