3.15 Valores y vectores

Para asignarle un valor a una variable, recuerda que no es necesario utilizar espacios ni símbolos, excepto # . o _ en el nombre de la variable:

mi_valor <- 30 # número
un_valor <- "vaca" # caracteres
el_valor <- FALSE # booleano

Para crear un vector, usamos la función c():

x <- c(2, 3, 5, 7, 11)
x
## [1]  2  3  5  7 11

El vector puede contener texto o valores numéricos:

mi_vector <- c(6,12,80,120)
mi_vector <- c("María","Esteban","Juan")

Si el vector contiene muchos elementos, puede ser más conveniente usar la función scan (), que le permite ingresarlos uno por uno:

```{r x <- scan() 1: 1 2: 6 3: 3 4: 4 5:

x


```{r
x <- scan()

1: 23; 34; 32
4: 33; 88; 44
7:
        

Para crear una secuencia de números de a a b, puede usar el comando a: b.

xx <- 1:10

xx
##  [1]  1  2  3  4  5  6  7  8  9 10
xx <- 100:1 
xx
##   [1] 100  99  98  97  96  95  94  93  92  91  90  89  88  87  86  85  84  83
##  [19]  82  81  80  79  78  77  76  75  74  73  72  71  70  69  68  67  66  65
##  [37]  64  63  62  61  60  59  58  57  56  55  54  53  52  51  50  49  48  47
##  [55]  46  45  44  43  42  41  40  39  38  37  36  35  34  33  32  31  30  29
##  [73]  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11
##  [91]  10   9   8   7   6   5   4   3   2   1

También se pueden crear vectores que contienen elementos repetidos.

rep(2, times = 3)
## [1] 2 2 2
rep(2, 3)
## [1] 2 2 2
a = c(rep(2, 3), 4, 5, rep(1, 5)) 
a
##  [1] 2 2 2 4 5 1 1 1 1 1

Las operaciones aritméticas y lógicas básicas que se aplican a los escalares se pueden aplicar a los vectores.

x <- 1:10 
x*2
##  [1]  2  4  6  8 10 12 14 16 18 20

Los elementos de un vector se pueden extraer utilizando corchetes [] e indicando la posición del elemento a extraer entre corchetes.

xx[7] 
## [1] 94

Incluso se pueden extraer más elementos al mismo tiempo.

xx[c(2, 3, 5, 7, 11)]
## [1] 99 98 96 94 90
xx[85:91]
## [1] 16 15 14 13 12 11 10

También se pueden guardar en nuevos vectores:

yy <- xx[c(1, 2, 4, 8, 16, 32, 64)] 
yy
## [1] 100  99  97  93  85  69  37

Si los indicadores entre corchetes van precedidos de un signo negativo, los elementos correspondientes se eliminan del vector.

x <- c(1, 2, 4, 8, 16, 32) 
x
## [1]  1  2  4  8 16 32
x[-4]
## [1]  1  2  4 16 32

Al ingresar una variable a la consola, esta mostrará su contenido:

mi_vector

También podemos utilizar el operador ‘:’ para obtener todos los números en un rango, por ejemplo, entre 1 y 20:

mi_vector <- 1:20

Otra herramieta útil es la función rep(), que nos permite repetir un valor específico, dado el número de veces en un vector:

repeated_values <- rep(23, times = 50)

También se pueden indexar elementos de un vector, dando la posición del elemento en el vector. Recuerda que todos los índices en R comienzan en 1 y no en 0:

mi_vector[5]

La función ‘length()’ sirve para obtener el número de lementos en un vector o en una lista de objetos:

length(mi_vector)