1. Para crear una matriz cuadrada de 2x2

a<-c(1,2)
b<-c(3,4)
c<-matrix(c(a,b),nrow=2)
c
##      [,1] [,2]
## [1,]    1    3
## [2,]    2    4

2. Para crear una matriz cuadrada de 3x3

d<-c(1,4,7)
e<-c(2,5,8)
f<-c(3,6,9)
g<-matrix(c(d,e,f),nrow=3)
g
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9

3. Para crear una matriz de datos de 3x2

h<-c(1,2,3)
i<-c(4,5,6)
j<-matrix(c(h,i),nrow=3)
colnames(j)=c("Columna H","Columna I")
rownames(j)=c("Fila uno","Fila dos","Fila tres")
j
##           Columna H Columna I
## Fila uno          1         4
## Fila dos          2         5
## Fila tres         3         6

4. Para crear una matriz por columnas

k<-c(10,20,30)
l<-c(40,50,60)
m<-cbind(k,l)
colnames(m)<-c("Columna K","Columna L")
rownames(m)<-c("Fila I","Fila II","Fila III")
m
##          Columna K Columna L
## Fila I          10        40
## Fila II         20        50
## Fila III        30        60

5. Para crear una matriz por renglones

n<-c("gato","mesa","rojo")
o<-c("perro","silla","verde")
p<-rbind(n,o)
colnames(p)<-c("Animal","Cosa","Color")
rownames(p)<-c("Fila N","Fila O")
p
##        Animal  Cosa    Color  
## Fila N "gato"  "mesa"  "rojo" 
## Fila O "perro" "silla" "verde"

6. Para crear una matriz por columnas de manera rápida

matriz<-cbind(numero=c(1,3,5),animal=c("perro","gato","oso"),cosa=c("mesa","silla","puera"))
matriz
##      numero animal  cosa   
## [1,] "1"    "perro" "mesa" 
## [2,] "3"    "gato"  "silla"
## [3,] "5"    "oso"   "puera"

7. Para crear un arreglo de datos (matriz con varias capas)

matriz1<-cbind(c(1,3,5),c("perro","gato","oso"),c("mesa","silla","puera"))
matriz2<-cbind(c(2,4,6),c("lobo","conejo","pato"),c("libro","pluma","goma"))
mi_primer_arreglo<-array(c(matriz1,matriz2),dim = c(3,3,2))
mi_primer_arreglo
## , , 1
## 
##      [,1] [,2]    [,3]   
## [1,] "1"  "perro" "mesa" 
## [2,] "3"  "gato"  "silla"
## [3,] "5"  "oso"   "puera"
## 
## , , 2
## 
##      [,1] [,2]     [,3]   
## [1,] "2"  "lobo"   "libro"
## [2,] "4"  "conejo" "pluma"
## [3,] "6"  "pato"   "goma"

8. Para cambiar el nombre de las columnas en nuestro arreglo

colnames(mi_primer_arreglo)<-c("Número","Animal","Cosa")
rownames(mi_primer_arreglo)<-c("Primera fila","Segunda fila","Tercer fila")
mi_primer_arreglo
## , , 1
## 
##              Número Animal  Cosa   
## Primera fila "1"    "perro" "mesa" 
## Segunda fila "3"    "gato"  "silla"
## Tercer fila  "5"    "oso"   "puera"
## 
## , , 2
## 
##              Número Animal   Cosa   
## Primera fila "2"    "lobo"   "libro"
## Segunda fila "4"    "conejo" "pluma"
## Tercer fila  "6"    "pato"   "goma"

9. Un arreglo de edad, peso y altura

En 2019, Ana tenía 15 años, pesaba 48 kilos y medía 1.50; para 2020, Ana tenía 16 años, pesaba 50 kilos y medía 1.55. En 2019, Juan tenía 13 años, pesaba 40 kilos y medía 1.45; para 2020, Juan tenía 14 años, pesaba 51 kilos y medía 1.50. En 2019, Pedro tenía 17 años, pesaba 60 kilos y medía 1.60; para 2020, Pedro tenía 18 años, pesaba 65 kilos y medía 1.65.

Haciendo el arreglo por columnas

datos2019<-cbind(c(15,13,17),c(48,40,60),c(1.50,1.45,1.60))
datos2020<-cbind(c(16,14,18),c(50,51,65),c(1.55,1.50,1.65))
arreglo_columnas<-array(c(datos2019,datos2020),dim = c(3,3,2))
colnames(arreglo_columnas)<-c("Edad","Peso","Estatura")
rownames(arreglo_columnas)<-c("Ana","Juan","Pedro")
arreglo_columnas
## , , 1
## 
##       Edad Peso Estatura
## Ana     15   48     1.50
## Juan    13   40     1.45
## Pedro   17   60     1.60
## 
## , , 2
## 
##       Edad Peso Estatura
## Ana     16   50     1.55
## Juan    14   51     1.50
## Pedro   18   65     1.65

Haciendo el arreglo por filas

info2019<-rbind(c(15,48,1.50),c(13,40,1.45),c(17,60,1.60))
info2020<-rbind(c(16,50,1.55),c(14,51,1.50),c(18,65,1.65))
arreglo_filas<-array(c(info2019,info2020),dim = c(3,3,2))
colnames(arreglo_filas)<-c("Edad","Peso","Estatura")
rownames(arreglo_filas)<-c("Ana","Juan","Pedro")
arreglo_filas
## , , 1
## 
##       Edad Peso Estatura
## Ana     15   48     1.50
## Juan    13   40     1.45
## Pedro   17   60     1.60
## 
## , , 2
## 
##       Edad Peso Estatura
## Ana     16   50     1.55
## Juan    14   51     1.50
## Pedro   18   65     1.65

10. Importando una base de datos del portal de datos abiertos del Gobierno de la Ciudad de México

Si exploramos los datos disponibles, seleccionamos alguno, vamos a la sección de exportar y copiamos la dirección del enlace de descarga del archivo .csv, podemos importar los datos a R

datos_de_ciclistas<-read.csv("https://datos.cdmx.gob.mx/explore/dataset/contador-ciclistas/download/?format=csv&timezone=America/Mexico_City&lang=es&use_labels_for_header=true&csv_separator=%2C")
head(datos_de_ciclistas) #Mostrará unicamente loas primeras filas
##   Día.de.la.semana Día        Mes  Año Contador.Ruta.Reforma222
## 1           jueves   5  diciembre 2013                     2516
## 2            lunes   9  diciembre 2013                     2132
## 3          viernes  22      junio 2018                     2913
## 4           martes  10      julio 2018                     2531
## 5           sábado   7      julio 2018                     1534
## 6           sábado  29 septiembre 2018                     1751
##   Contador.Ruta.Revolución Contador.Ruta.Patriotismo
## 1                       NA                        NA
## 2                       NA                        NA
## 3                      980                      1163
## 4                      877                      1013
## 5                      616                       584
## 6                      603                       643

11. Actividad de repaso

Reúnete en equipos y hagan un arreglo con la edad, peso y altura de cada uno de los itegrantes en los años 2019 y 2020. Una ves que terminen, suban el archivo html a su github.


Esta obra fue generada mediante R en January 04, 2021 y forma parte de las actividades realizadas en las materias de Matemáticas I y Taller III, Facultad de Economía, UNAM.
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional. Creative Commons (CC).Licencia de Creative Commons