Capítulo 3 Funciones para generar series de datos
En 2.3 Generando secuencias regulares se detallan 3 funciones para generar secuencias regulares: Operador “:” , Función sep() y Función rep().
3.1 Operador “:”
Dos números enteros separados por “:” genera una serie de de números sucesivos que empieza en el primero y termina en el segundo.
## [1] 1 2 3 4 5 6 7 8 9 10
## [1] 10 9 8 7 6 5 4 3 2 1
Si el número antes de “:” es un número decimal, se genera una serie en el que el primer número es el anterior a “:” los siguientes se obtienen incrementando en 1 el anterior hasta alcanzar el número posterior a “:”
## [1] 2.7 3.7 4.7 5.7 6.7 7.7 8.7 9.7 10.7 11.7
## [1] 12.3 11.3 10.3 9.3 8.3 7.3 6.3 5.3 4.3 3.3
3.2 Función seq()
La función seq genera secuencias regulares.
Tiene 5 parámetros:
- from: especifica el valor inicial de la secuencia
- to: especifica el valor límite del último valor de la secuencia
- by: especifica el paso = diferencia entre dos valores sucesivos de la secuencia. El valor por defecto es 1.
- length: especifica el tamaño de la secuencia. El intervalo from - to, lo divide en un número de intervalos = length.
- along: El valor de entrada para esta parámetro es un vector. La longitud de este vector establece el tamaño de la la secuencia.
3.2.1 Ejemplos
- from, to: seq(from = 1, to = 7) –> 1, 2, 3, 4, 5, 6, 7 Secuencia básica desde 1 hasta 7.
- from, to inverso: seq(from = 10, to = 2.5) –> 10, 9, 8, 7, 6, 5, 4, 3. Secuencia inversa con incremento por defecto = -1. El valor to = 2.5, establece el valor extremo del último elemento de la secuencia. En este caso termina en 3, el siquiente valor de la secuencia sería 2, pero es inferior al valor to = 2.5
- by: seq(from = 5, to = 15, by = 3) –> 5, 8, 11, 14. El parámetro by = 3, establece un paso = 3. El último valor de la serie es 14. El siguiente sería 17 > to=15.
- length: seq(from = 1, to = 10, length = 4) 1, 4, 7, 10.
- los valores from y to se toman como primero y último valor de las secuencia.
- para completar la serie, se añaden entre ambos, length -2 valores a intervalos iguales
- El intervalo total se divide en length -1 intervalos y se toman los length valores que delimitan los intervalos.
- along: seq(from = 1, to = 10, along = c(5, 8, 7, 4)) –> 1, 4, 7, 10
- Se obtiene un resultado similar al parámetro length
- El número de elementos de la secuencia corresponde al número de elementos del vector asignado al parámetro alongth.
3.3 Función rep()
La función rep() replica los valores en x. Es una función genérica, y el método predeterminado (interno).
Tiene 4 parámetros:
- x: El elemento que se quiere repetir. Puede ser un valor único o varios. El valor puede ser numérico, caracter, logico, …
- times: Número entero. Repite times veces el bloque de valores señalados en x:
- times: rep(x=c(1, 2, 3), times = 4) repite el bloque (1, 2, 3), 4 veces 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3.
- each: rep (x=c(1, 2, 3), each = 4) repite cada uno de los elementos del bloque 4 veces 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3.
- length.out: establece el número de elementos de salida. Se puede combinar con times y con each
- Con el parámetro times rep(x=c(1, 2, 3), times = 8, length.out = 14). Como en times, repite el bloque times veces, pero limita la longitud a length.out. 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2.
- Con el parámetro each rep(x=c(1, 2, 3), each = 4, length.out = 14). Como en each, repite cada uno de los elementos del bloque each veces.
- Si la longitud resultante es mayor que length.out: rep(x=c(1, 2, 3), each = 4, length.out = 10), se corta a esta longitud. 1, 1, 1, 1, 2, 2, 2, 2, 3, 3
- Si es menor: rep(x=c(1, 2, 3), each = 4, length.out = 14, se reinicia el proceso hasta completar length.out 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1.
- solo el parámetro length.out rep(x=c(1, 2, 3), length.out = 14), se comporta como con el parámetro times 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2.