Está en la página 1de 46

Qué vimos hasta ahora?

● Funcionamiento general de R y RStudio


● Variables
● Tipos de Datos
● Funciones predefinidas
Qué vamos a ver hoy?
● Vectores
○ R trabaja de este modo con los valores de una variable
● Matrices
○ Primera aproximación a un arreglo de filas (observaciones) y
columnas (atributos)
Dominando los conceptos de esta clase vamos a tener una buena
base para manipular datos en R
Vectores ¿Que es un vector?
Un vector es un conjunto de valores que pueden ser de un solo tipo:

● Texto: "a" "b" "c"


● Numéricos: 1 2 3 4 5
● Booleano: TRUE TRUE FALSE TRUE FALSE
Vectores ¿Cómo se genera un vector?
Para construir un vector en R se debe poner la letra c (función concatenar) y luego
entre paréntesis los valores separados por coma.
Ejemplo:
● Texto: c("a","b","c")
● Numéricos: c(1,2,3,4,5)
● Booleano: c(TRUE,TRUE,FALSE,TRUE,FALSE)
¿Qué operaciones se pueden hacer entre vectores?
Las operaciones entre vectores se realizan elemento a elemento:
x <- c(1,2,3,4,5); y <- c(6,7,8,9,10)
x + y = 7 9 11 13 15
x – y = -5 -5 -5 -5 -5
x * y = 6 14 24 36 50
x / y = 0.17 0.28 0.37 0.44 0.50
x ^ y = 1 128 6561 262144 9765625
y %/% x = 6 3 2 2 2
¿Qué operaciones se pueden hacer?
También se pueden hacer operaciones al vector y la misma se
hará elemento a elemento
x <- c(5,6,7,8,9)
x*3 = 15 18 21 24 27
x-2 = 3 4 5 6 7
x<=7 = TRUE TRUE TRUE FALSE FALSE
x%%2==0 = FALSE TRUE FALSE FALSE TRUE
1. Hacer el Ejercicio Vectores
Elementos del Vector
Cada elemento del vector posee un índice indicando la posición del
elemento, comenzando por el 1 en el primer lugar.
Para seleccionar un elemento del vector se debe indicar el índice
entre corchetes
Elementos del Vector
Seleccionar un elemento en particular:
Se coloca el índice entre corchetes.
x <- c(5,6,7,8,9)
x[2]
6
Elementos del Vector
Seleccionar más de un elemento en particular:
Se coloca un vector con los índices entre corchetes
x <- c(5,6,7,8,9)
x[c(3,5)]
7 9
Elementos del Vector
En R se respeta el orden y la cantidad de veces que se selecciona el
elemento:
x <- c(5,6,7,8,9)
x[c(3,3,1)]
7 7 5
Elementos del Vector
También se pueden seleccionar elementos de un vector con vectores
de booleans
x <- c(5,6,7,8,9)
X X
x[c(TRUE,FALSE,TRUE,TRUE,FALSE)]
5 7 8
Elementos del Vector
Y seleccionar elementos que cumplan determinada condición.
Tener en cuenta que la evaluación de condiciones genera un vector
de booleans
x <- c(5,6,7,8,9)
x[x<=7]
5 6 7 TRUE TRUE TRUE FALSE FALSE

x[x%%2==0]
FALSE TRUE FALSE TRUE FALSE
6 8
Elementos del Vector
Si queremos excluir elementos en particular, anteponemos el - a la
selección en caso de ser numérico
x <- c(5,6,7,8,9)
x[-c(2,3)]
5 8 9
Elementos del Vector
También se pueden excluir elementos anteponiendo el ! antes de la
condición en caso de ser lógico (boolean)
x <- c(5,6,7,8,9)
x[!(x%%2==0)]
5 7 9 !(FALSE TRUE FALSE TRUE FALSE)

TRUE FALSE TRUE FALSE TRUE


Elementos del Vector
Se pueden reemplazar elementos en particular de un vector
x <- c(5,6,7,8,9)
x[3]<-0
x
5 6 0 8 9
TRUE FALSE FALSE FALSE TRUE
x[x%%2==1] <- c(10,20)
x
10 6 0 8 20
Nombres del Vector
Los elementos del vector pueden tener nombre
Estos nombres son un vector de caracteres y se pueden acceder
mediante la función names
x <- c(5,6,7,8,9)
names(x) <- c('a','b','c','d','e')
Se puede acceder a un elemento poniendo el nombre del elemento
x['c']
7
1. Ejercicio Índices de Vectores
Funciones de vectores
• Devuelven un número
• length: Devuelve la longitud del vector
• sum: Devuelve la suma de los elementos del vector
• Devuelven otro vector
• unique: Devuelve un vector con los elementos únicos
• order: Devuelve un vector indicando cuál es el índice de los elementos
ordenados
• sort: Devuelve un vector ordenado
1. Ejercicio Funciones a Vectores
Secuencias
R nos permite generar secuencias numéricas fácilmente
La forma más usual es:
valor inicial:valor final
Esto va a crear una secuencia que comienza en el número inicial y
termina en el número final
Si el valor final es mayor, la serie va a ser ascendente y el incremento
va a ser de 1
Si el valor final es menor, la serie va a ser descendente
Secuencias
Una forma de crear secuencias más complejas es usando funciones
seq(from=valor inicial,to=máximo valor,by=incremento)
Va a crear una secuencia que comience con el valor inicial, hasta el
máximo valor o el inmediato menor
seq_len(cantidad de elementos)
Crea una secuencia que comienza en 1, incrementando de a 1 y
finalizando en la cantidad de elementos deseados
1. Ejercicio Secuencias
Matrices
Una matriz es un conjunto bidimensional de elementos del mismo tipo
Posee filas y columnas
La forma básica de crearla es la siguiente:
matrix(vector,nrow=cantidad de filas,ncol=cantidad de columnas)
En este caso, se irá poblando en la dirección de la columna
Primero llena la primer columna y luego sigue por la de la derecha
Matrices
Ejemplo:
x <- c(9,6,3,1,2,5,9,1)
matrix(x,ncol=4,nrow=2)

9 3 2 9
6 1 5 1
Matrices
En caso de querer completar primero las filas y luego las columnas se
debe utilizar la opción byrow
La forma básica de crearla es la siguiente:
matrix(vector,nrow=cantidad de filas,ncol=cantidad de columnas, byrow=TRUE)
Matrices
2 Funciones muy utilizadas para formar matrices son las funciones
rbind y cbind
rbind(a,b)
Toma la matriz o el vector a y le coloca debajo la matriz o el vector b
cbind(a,b)
Toma la matriz o el vector a y le coloca a la derecha la matriz o el
vector b
1. Ejercicio Matrices
Funciones de matrices
Devuelven otra matriz
• t: Devuelve la matriz traspuesta
Devuelven un número
• ncol: Cantidad de columnas
• nrow: Cantidad de filas
Devuelven un vector
• colSums: Devuelve la suma de cada columna
• rowSums: Devuelve la suma de cada fila
1. Ejercicio Funciones de Matrices
Operaciones con matrices
Las matrices permiten las mismas operaciones que los vectores
• Operaciones entre una matriz y un número van a generar una
matriz con la operación elemento a elemento
• Operaciones entre matrices se hacen elemento a elemento
• El producto no es el producto matricial, sino elemento a elemento
• Obligatoriamente las 2 matrices tienen que tener la misma dimensión
Operaciones con matrices
Cuando se realiza una operación entre una matriz y un vector:
1. Desarma la matriz en el vector que la compone
2. Aplica la operación
3. Vuelve a formar la matriz
Cuando el vector posee la misma longitud que la cantidad de filas, la
operación va a ser columna a columna
Cuando el vector posee una longitud diferente, hay que pensar en lo
que pasaría con vectores de longitud diferente
1. Ejercicio Operaciones entre Matrices y Vectores
Elementos de la matriz
Al igual que los vectores, los elementos de la matriz poseen un índice
de acuerdo a su posición
matriz[fila,columna]
Elementos de la matriz
Ejemplo
x = 1 4 7
2 5 8
3 6 9
x[3,2]
6
Elementos de la matriz
Al igual que con los vectores, se pueden seleccionar más de un
elemento utilizando vectores para indicar los índices
x = 1 4 7
2 5 8
3 6 9
x[c(1,2),c(1,3)]
1 7
2 8
Elementos de la matriz
En caso de seleccionar una sola fila o columna, el resultado es un
vector
x = 1 4 7
2 5 8
3 6 9
x[c(1,2),1]
1 2
Elementos de la matriz
Para seleccionar todas las columnas se debe dejar en blanco el
segundo índice
x = 1 4 7
2 5 8
3 6 9
x[c(1,3),]
1 4 7
3 6 9
Elementos de la matriz
Para seleccionar todas las filas se debe dejar en blanco el primer
índice
x = 1 4 7
2 5 8
3 6 9
x[,c(1,3)]
1 7
2 8
3 9
1. Ejercicio Índices de Matrices
Elementos de la matriz
También se pueden seleccionar elementos de la matriz con un
vector, nos va a devolver en un vector los elementos de la matriz
vectorizada
x = 1 2 3
4 5 6
7 8 9
x[c(2,7)]
4 3
Elementos de la matriz
Se pueden seleccionar los elementos de la matriz que cumplan
con cierta condición
x = 1 2 3
4 5 6
7 8 9
x[x%%3==0]
3 6 9
Elementos de la matriz
También se pueden seleccionar elementos de la matriz con una
matriz de 2 columnas, nos va a devolver en un vector los
elementos de la matriz original que estén en esos índices
x = 1 2 3
4 5 6
7 8 9
x[cbind(1:3,3:1)]
3 5 7
Elementos de la matriz
Al igual que con los vectores, se respeta el orden en el cual se
seleccionó un elemento y la cantidad de veces
x = 1 2 3
4 5 6
7 8 9
x[c(2,1),c(2,2,3)]
x
5 5 6
2 2 3
Elementos de la matriz
Al igual que con los vectores, se pueden reemplazar elementos en
particular
x = 1 2 3
4 5 6
7 8 9
x[cbind(1:3,3:1)] <- 0
x
1 2 0
4 0 6
0 8 9
1. Ejercicio Índice de Matrices 2

También podría gustarte