En esta lección aprenderá a crear secuencias de numeros en R.

Este material esta basado en la leccion de “Basic_building_blocks” de “R Programming”, paquete swirl.Author: Nick Carchedi, Organization: JHU Biostat, Version: 2.2.0.

Comencemos ahora!

La forma mas simple es usando el operador :. Escriba 1:20 y observe el resultado. Observará que el resultado muestra cada valor entero entre 1 y 20 (incluyendo ambos). También podriamos realizar una secuencia de numeros reales. Prueba con pi:10. El resultado es un vector de numeros reales, comenzando en pi (3.142…) e incrementandose 1 hasta que el limite de 10 se alcanza.

1:20
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
pi:10
## [1] 3.141593 4.141593 5.141593 6.141593 7.141593 8.141593 9.141593

Pruebe la secuencia 15:1 para observar lo que sucede.

15:1
##  [1] 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1

Abre la documentación de ayuda para : . Note que debe utilizarse comillas ya que : es un simbolo. CorrectAnswer: ?:

?":"
## starting httpd help server ... done

Si se desea mas control en la creación de la secuencia numerica, se puede utilizar la función seq(). En su forma básica realiza lo mismo que el operador “:”. Pruebe seq(1, 20).

seq(1, 20)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20

Ahora, utilice la función seq() pero con un incremento de 0.5 en lugar de 1. Pruebe seq(0, 10,by=0.5).

seq(0, 10, by=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  5.5  6.0  6.5
## [15]  7.0  7.5  8.0  8.5  9.0  9.5 10.0

Cree una secuencia donde su interes no es el valor del incremento, sino el numero total de valores finales. Asi cree una secuencia con 30 elementos entre 5 y 10 usando seq(5, 10, length=30). Almacene este resultado en la variable my_seq.

my_seq <- seq(5, 10, length=30)

Para confirmar que my_seq tiene 30 elementos, usaremos la función length().

length(my_seq)
## [1] 30

Pretenda que no conoce la extensión o número de elementos de my_seq, pero quiere generar una secuencia de números enteros desde 1 hasta N, donde N es la extensión de my_seq. En otras palabras, quiere crear un vector (1, 2, 3, …) con la misma extensión que my_seq.

Hay varias formas de hacer esto. Una es combinar el operador: y la función length(). Otra forma es usando la función seq de esta manera seq(along.with = my_seq).

1:length(my_seq)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## [24] 24 25 26 27 28 29 30
seq(along.with = my_seq)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
## [24] 24 25 26 27 28 29 30

Otra función relacionada para crear secuencias de números es is rep(), que significa ‘replicate’. Por ejemplo, se utiliza para crar un vector conteniendo 40 ceros con rep(0, times = 40). También se utiliza para crear un vector con 10 repeticiones del vector (0, 1, 2). Se utiliza de esta manera rep(c(0, 1, 2), times = 10). Finalmente, en lugar de repetir 10 veces el vector (0, 1, 2), se quiere un nuevo vector conteniendo los 10 ceros, luego los 10 unos y finalmente los 10 dos. Se utiliza: rep(c(0, 1, 2), each = 10).

rep(0, times = 40)
##  [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [36] 0 0 0 0 0
rep(c(0, 1, 2), times = 10)
##  [1] 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
rep(c(0, 1, 2), each = 10)
##  [1] 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2

Ha llegado al final de esta leccion!