c(2, 4, 5, 6, 3)
[1] 2 4 5 6 3
<- c(2, 4, 5, 6, 3)
x class(x)
[1] "numeric"
Para crear un vector en R, usaremos “c( )”. La creacion de vectores puede ser de varios tipos de datos.
Ejemplos:
c(2, 4, 5, 6, 3)
[1] 2 4 5 6 3
<- c(2, 4, 5, 6, 3)
x class(x)
[1] "numeric"
<- c("Perú", "Colombia", "Argentina")
y class(y)
[1] "character"
<- c(5L, "Perú", FALSE)
z class(z)
[1] "character"
Lo que hace es que cada elemento del vector tendrá un valor. Esto es util para la creación de diccionarios.
# Asignando nombres
<- c(peru="0051", francia="0033", alemania="0039") #otra forma
v1 <- c("peru"="0051", "francia"="0033", "alemania"="0039")
v1 v1
peru francia alemania
"0051" "0033" "0039"
# nombres de los elementos de v1
names(v1)
[1] "peru" "francia" "alemania"
Si tenemos el nombre y su valor por separados, podemos juntarlos
<- c("0051", "0033", "0039")
codigos <- c("peru", "francia", "alemania")
pais names(codigos) <- pais
codigos
peru francia alemania
"0051" "0033" "0039"
Sirva para generar secuencias regulares. Para esto usaremos “seq( )”
#Formas de generar una secuencia
seq(from=1, to=8)
[1] 1 2 3 4 5 6 7 8
seq(1, 8)
[1] 1 2 3 4 5 6 7 8
1:8
[1] 1 2 3 4 5 6 7 8
Si queremos hacer una secuencia pero saltando numeros, usaremos lo siguiente:
#Formas de generar
seq(from=4, to=10, by=2)
[1] 4 6 8 10
seq(4, 10, 2)
[1] 4 6 8 10
Si queremos mostrar cierta cantidad de numeros en una secuencias, usaremos esto:
#Formas de generar
seq(from=1, to=10, length=4)
[1] 1 4 7 10
seq(1, 10, , 4)
[1] 1 4 7 10
Esta función siver para replicar valores que queremos.
#Repetir 4 veces el valor 1
rep(1, 4)
[1] 1 1 1 1
Tambien podemos usar secuencias con repeticiones.
#Repite 3 veces la secuencia 4:5
rep(4:5, 3)
[1] 4 5 4 5 4 5
Podemos repetir elementos de la secuencia.
#Repite cada elemento 2 veces
rep(1:4, each = 2)
[1] 1 1 2 2 3 3 4 4
Podemos repetir elementos de la secuencia y todo eso repetirlo las veces que queramos.
#Repite cada elemento 2 veces y todo 2 veces
rep(1:4, times=2, each=2)
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
Para acceder un elemento del vector, usaremos “[ ]”. En R, el primer elemento es el número 1, el segundo, número 2 y asi los demas elementos.
#Acceder al elemento 1
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 1] v2[
[1] 3
#Acceder al elemento 2
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 2] v2[
[1] 4.5
#Acceder valores desde un punto a otro
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 3:5] v2[
[1] 100.0 23.0 19.8
#Selección de solo 2 índices específicos
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 c(1,3)] v2[
[1] 3 100
Si queremos descartar elementos del vector, sera usar “[-x]”.
#Eliminar el primer elemento
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 -1] v2[
[1] 4.5 100.0 23.0 19.8 3.0
#Acceder valores desde un punto a otro
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 -2:-4] v2[
[1] 3.0 19.8 3.0
#Selección de solo 2 índices específicos
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 -c(2,4)] v2[
[1] 3.0 100.0 19.8 3.0
<- c(3, 4.5, 100, 23, 19.8, 3)
v2 # Longitud (tamaño) de un vector
length(v2)
[1] 6
# Último elemento del vector
length(v2)] v2[
[1] 3
# Vector en reversa
rev(v2)
[1] 3.0 19.8 23.0 100.0 4.5 3.0
# Elementos únicos del vector
unique(v2)
[1] 3.0 4.5 100.0 23.0 19.8
#Agregando un elemento a un vector
<- c(4, 3, 5)
v3 <- 6
elemento #Podemos actualizar v3 o crear una nuevo vector donde este agregado el elemento
<- c(v3, elemento)
v3 v3
[1] 4 3 5 6
#Agregando vectores a un vector
<- c(3, "Lima", 10.5)
v4 <- c(0:2)
vector_nuevo1 <- c("Cusco", "Trujillo")
vector_nuevo2 #Podemos actualizar v3 o crear una nuevo vector donde esten agregados los nuevos vectores
<- c(v4, vector_nuevo1, vector_nuevo2)
v4 v4
[1] "3" "Lima" "10.5" "0" "1" "2" "Cusco"
[8] "Trujillo"
<- c(20, 4, 100, 31, 57, 3)
v5 # Ordena en orden creciente
sort(v5)
[1] 3 4 20 31 57 100
# Retorna los índices
order(v5)
[1] 6 2 1 4 5 3
# Ordenamiento usando los índices
order(v5)] v5[
[1] 3 4 20 31 57 100
# Índices ordenados del vector
rank(v5)
[1] 3 2 6 4 5 1
# Valor máximo
max(v5)
[1] 100
# Índice del máximo
which.max(v5)
[1] 3
# Máximo usando el índice
which.max(v5)] v5[
[1] 100
# Valor mínimo
min(v5)
[1] 3
# Índice del valor mínimo
which.min(v5)
[1] 6
Usamos las opereciones basicas, presentadas en anteriores capítulos, pero con vectores.
Ejemplos:
<- c(34, 10, 4, 21, 12)
v6 #Multiplicación
100*v6
[1] 3400 1000 400 2100 1200
#Suma
200+v6
[1] 234 210 204 221 212
Cuando hay 2 vectores, se realiza término a término si tienen igual longitud
<- c(2, 4, 6, 8, 10)
v7 <- c(1, 3, 5, 7, 11)
v8 +v8 v7
[1] 3 7 11 15 21
-v8 v7
[1] 1 1 1 1 -1
*v8 v7
[1] 2 12 30 56 110
/v8 v7
[1] 2.0000000 1.3333333 1.2000000 1.1428571 0.9090909
**v8 v7
[1] 2 64 7776 2097152 100000000000
OBS: Si no son del mismo tamaño, el más corto se “repite”
<- c(1, 2, 3)
v9 <- c(10, 20, 30, 40, 50)
v10 <- v9+v10 v11
Warning in v9 + v10: longitud de objeto mayor no es múltiplo de la longitud de
uno menor
v11
[1] 11 22 33 41 52