Tutorial sobre la creación de secuencias, repeticiones y otras operaciones con vectores en R.

Puedes seguir el tutorial por vídeo en https://youtu.be/wTVkiAGQ-00

Secuencias. ?seq

seq(from=1, to=10, by=1) # Secuencia de números desde el 1 al 10 con incrementos de 1.
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(from=1, to=10, by=0.5) # Secuencia de números desde el 1 al 10 con incrementos de 0.5.
##  [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0  7.5
## [15]  8.0  8.5  9.0  9.5 10.0
seq(1,10,0.5) # Igual que el anterior. Cuando ya estemos muy familiarizados.
##  [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0  7.5
## [15]  8.0  8.5  9.0  9.5 10.0
seq(1,10) # Si no especificamos la cantidad incrementada, R toma por defecto 1.
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(from=0, to=-10, by=-0.5) # Secuencia de números desde el 1 al 10 con incrementos de 0.5.
##  [1]   0.0  -0.5  -1.0  -1.5  -2.0  -2.5  -3.0  -3.5  -4.0  -4.5  -5.0
## [12]  -5.5  -6.0  -6.5  -7.0  -7.5  -8.0  -8.5  -9.0  -9.5 -10.0
seq(0,10, length=20) # Pedimos un vector de longitud 10, con valores entre el 1 y el 10, ambos incluidos.
##  [1]  0.0000000  0.5263158  1.0526316  1.5789474  2.1052632  2.6315789
##  [7]  3.1578947  3.6842105  4.2105263  4.7368421  5.2631579  5.7894737
## [13]  6.3157895  6.8421053  7.3684211  7.8947368  8.4210526  8.9473684
## [19]  9.4736842 10.0000000

Repeticiones. ?rep

rep(1, times=10) # Repetición del número 1, cinco veces.
##  [1] 1 1 1 1 1 1 1 1 1 1
rep(1,10)  # Igual que el anterior. Cuando ya estemos muy familiarizados.
##  [1] 1 1 1 1 1 1 1 1 1 1
rep("Tesis 1", times=10) # Repetición del texto "Tesis 1", diez veces.
##  [1] "Tesis 1" "Tesis 1" "Tesis 1" "Tesis 1" "Tesis 1" "Tesis 1" "Tesis 1"
##  [8] "Tesis 1" "Tesis 1" "Tesis 1"
rep(1:5, times=4) # Repetición de la secuencia del 1 al 5, cuatro veces.
##  [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
rep(seq(from=2, to=10, by=2), times=3) # Repetición de la secuencia del 1 al 10, con incrementos de 2,
##  [1]  2  4  6  8 10  2  4  6  8 10  2  4  6  8 10
                                        # 3 veces.

rep(c("Tesis 1","Tesis 2"), times=10) # Repetición del vector c("Tesis 1","Tesis 2"), 10 veces
##  [1] "Tesis 1" "Tesis 2" "Tesis 1" "Tesis 2" "Tesis 1" "Tesis 2" "Tesis 1"
##  [8] "Tesis 2" "Tesis 1" "Tesis 2" "Tesis 1" "Tesis 2" "Tesis 1" "Tesis 2"
## [15] "Tesis 1" "Tesis 2" "Tesis 1" "Tesis 2" "Tesis 1" "Tesis 2"

Combinar números y caracteres con funcion “paste”.

paste("Tesis", 1:10)
##  [1] "Tesis 1"  "Tesis 2"  "Tesis 3"  "Tesis 4"  "Tesis 5"  "Tesis 6" 
##  [7] "Tesis 7"  "Tesis 8"  "Tesis 9"  "Tesis 10"
paste("Tesis", 1:10, sep = "")
##  [1] "Tesis1"  "Tesis2"  "Tesis3"  "Tesis4"  "Tesis5"  "Tesis6"  "Tesis7" 
##  [8] "Tesis8"  "Tesis9"  "Tesis10"
paste("Tesis", 1:10, sep = "-")
##  [1] "Tesis-1"  "Tesis-2"  "Tesis-3"  "Tesis-4"  "Tesis-5"  "Tesis-6" 
##  [7] "Tesis-7"  "Tesis-8"  "Tesis-9"  "Tesis-10"
paste("Tesis", c(1,2,3,4,5,6,7,8,9,"Control"))
##  [1] "Tesis 1"       "Tesis 2"       "Tesis 3"       "Tesis 4"      
##  [5] "Tesis 5"       "Tesis 6"       "Tesis 7"       "Tesis 8"      
##  [9] "Tesis 9"       "Tesis Control"
paste("Tesis", c(1:9,"Control"))
##  [1] "Tesis 1"       "Tesis 2"       "Tesis 3"       "Tesis 4"      
##  [5] "Tesis 5"       "Tesis 6"       "Tesis 7"       "Tesis 8"      
##  [9] "Tesis 9"       "Tesis Control"

Operaciones con vectores

kg = c(10,15,14,12,19,8,17,13,16,16) # Hemos pesado la producción de 10 parcelas
m2 = c(2,3,3,2,2,3,2,3,2,3) # Superficie de cada parcela

kg-1 # Quitamos la tara de la caja en la que pesamos cada muestra (1 kg).
##  [1]  9 14 13 11 18  7 16 12 15 15
     # Podríamos multiplicar, restar o dividir por cualquier número.

kg.neto = kg-1 # Si queremos almacenar la información en un vector

También podemos hacer las mismas operaciones entre los elementos correspondientes de cada objeto siempre que tengan las misma longitud.

kg.neto/m2
##  [1] 4.500000 4.666667 4.333333 5.500000 9.000000 2.333333 8.000000
##  [8] 4.000000 7.500000 5.000000
Prod.m2 = round (kg.neto/m2, 2) # Para redondear el resultado a dos decimales y guardarlos en un objeto.

# Si los vectores tuvieran distinta longitud, el más pequeño se iría repitiendo para hacer
# las operaciones

vector.corto = c(10,1)
m2*vector.corto
##  [1] 20  3 30  2 20  3 20  3 20  3