CAPÍTULO 3. ACCESO A PORCIONES O SUBCONJUNTOS DE DATOS 49
De los anteriores, el primer operador,
[]
, es quizá el más poderoso, pero, por
lo mismo, también el que involucra una sintaxis más compleja, como se verá
en la siguiente sección.
3.2. El operador
[]
En el capítulo anterior se ha visto el uso de este operador para seleccionar o
tener acceso a elementos individuales de distintos tipos de datos estructurados:
vectores, matrices, factores, listas y
data frames
. Se visitarán nuevamente esos
tipos de datos estructurados, pero para un uso más elaborado del operador.
3.2.1. Vectores y factores
Tanto los vectores como los factores son estructuras unidimensionales, de
este modo, el uso del operador
[]
es semejante en ambos. Anteriormente se
ha visto como seleccionar un elemento de ambas estructuras. Veremos ahora
como seleccionar grupos de elementos.
3.2.1.1. Selección de una secuencia de elementos, o elementos particulares
Un ejemplo de selección de una secuencia de elementos contenida en un
vector podría ser con una
indexación
como la que se muestra a continuación:
# P.ej. para un vector de 20 números aleatorios, generados
# con la función rnorm(), que genera números aleatorios con
# una distribución normal:
(v
<-
rnorm
(
20
))
## [1] 0.9681 0.8507 -1.7280 -1.3120 -1.2744 -0.9908 -1.1659
## [8] 0.2992 1.1923 0.2267 -0.7172 -2.0667 0.7740 -1.1338
## [15] 1.2351 0.3551 0.1593 1.6532 -0.1528 1.0037
# Si queremos seleccionar de esos, sólo los números en las
# posiciones de la 5 a la 15:
(subv
<-
v[
5
:
15
])
## [1] -1.2744 -0.9908 -1.1659 0.2992 1.1923 0.2267 -0.7172
## [8] -2.0667 0.7740 -1.1338 1.2351
Nótese que efectivamente, como se ha dicho anteriormente, la clase de dato
resultante de la operación es la misma que la de entrada, un vector numérico
en este caso:
class
(v)
## [1] "numeric"