x = c(5, 6.7, 4, 7, -2, -3.4, -5) # ¡ojo! el delimitador decimal es el punto
x[1]  5.0  6.7  4.0  7.0 -2.0 -3.4 -5.0Román Salmerón Gómez
November 28, 2022
Hay distintas formas de introducir datos. La más sencilla es mediante vectores usando el comando c de concatenar:
[1]  5.0  6.7  4.0  7.0 -2.0 -3.4 -5.0Para hacer referencia a un elemento o elementos concretos del vector usamos los corchetes:
Si inicialmente no conozco el tamaño del vector, lo puedo crear mediante el comando numeric:
y = numeric() # creo un objeto llamado 'y' que es numérico y tiene un tamaño cualquiera
y[2] = 3
y # NA significa no disponible 'Not Abailable'[1] NA  3Algunas operaciones con un único vector son:
[1]  0.2000000  0.1492537  0.2500000  0.1428571 -0.5000000 -0.2941176 -0.2000000[1]   1.0   4.4  -1.0   5.0 -13.0 -15.8 -19.0Warning in sqrt(x): Se han producido NaNs[1] 2.236068 2.588436 2.000000 2.645751      NaN      NaN      NaN[1] 5.0 6.7 4.0 7.0 2.0 3.4 5.0[1] 2.236068 2.588436 2.000000 2.645751 1.414214 1.843909 2.236068[1] 25.00 44.89 16.00 49.00  4.00 11.56 25.00[1] 1.484132e+02 8.124058e+02 5.459815e+01 1.096633e+03 1.353353e-01
[6] 3.337327e-02 6.737947e-03[1] 1.6094379 1.9021075 1.3862944 1.9459101 0.6931472 1.2237754 1.6094379[1] 7[1] 12.3[1] -31892[1] 1.757143[1] 1.757143[1] 25.63952[1] 25.63952[1] 21.97673[1] 21.97673Como ha quedado de manifiesto, los comandos se aplican elemento a elemento.
Algunas operaciones con dos vectores son:
[1] 1 2 3 4 5 6 7[1] 1 1 1 1 1 1 1[1]   5.0  13.4  12.0  28.0 -10.0 -20.4 -35.0[1]  5.0  6.7  4.0  7.0 -2.0 -3.4 -5.0[1] 1 2 3 4 5 6 7     [,1]
[1,]   -7     [,1]
[1,]   -7     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]    1    1    1    1    1    1    1
[2,]    2    2    2    2    2    2    2
[3,]    3    3    3    3    3    3    3
[4,]    4    4    4    4    4    4    4
[5,]    5    5    5    5    5    5    5
[6,]    6    6    6    6    6    6    6
[7,]    7    7    7    7    7    7    7     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]    1    1    1    1    1    1    1
[2,]    2    2    2    2    2    2    2
[3,]    3    3    3    3    3    3    3
[4,]    4    4    4    4    4    4    4
[5,]    5    5    5    5    5    5    5
[6,]    6    6    6    6    6    6    6
[7,]    7    7    7    7    7    7    7[1] 1 2 3 4 5 6 7 8Warning in z * w: longitud de objeto mayor no es múltiplo de la longitud de uno
menor[1] 1 2 3 4 5 6 7 8[1] 1 3 5 7 [1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
[20] 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7
[39] 4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6
[58] 6.7 6.8 6.9 7.0Uso de operadores lógicos, muy útiles en estructuras condicionales como if o while:
[1] FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE[1]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSEx[2] = y[2] # asigno al segundo valor de 'x' el segundo valor de 'y'
x != y # valores lógicos: distinto[1]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE[1]  5.0  2.0  4.0  7.0 -2.0 -3.4 -5.0[1] FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE[1]  4.0  7.0 -2.0 -3.4 -5.0x[(y>=3) & (y==1)] # proporciona los valores de 'x' en cuyas posiciones 'y>=3' y 'y==1' son TRUE (no se cumple nunca)numeric(0)[1]  5.0  4.0  7.0 -2.0 -3.4 -5.0