Si deseamos asignar a una variable una sucesión de valores consecutivos podemos utilizar el operador :
. Así para asignar a la variable x
los valores de 1 a 10 procederíamos del siguiente modo:
x=1:10
x
## [1] 1 2 3 4 5 6 7 8 9 10
Podemos construir secuencias de números más complejas mediante la función seq()
:
• Sucesión de valores de 1 a 20 de 2 en 2:
x=seq(1,20,by=2)
x
## [1] 1 3 5 7 9 11 13 15 17 19
• Sucesión de 8 valores equiespaciados entre 1 y 20:
y=seq(1,20,length=8)
y
## [1] 1.00000 3.71429 6.42857 9.14286 11.85714 14.57143 17.28571 20.00000
Si x
e y
son dos vectores de la misma dimensión, las operaciones elementales se realizan término a término (característica que se conoce como aritmética vectorial):
x=seq(2,20,by=2) # Números pares entre 2 y 20
x
## [1] 2 4 6 8 10 12 14 16 18 20
y=seq(1,20,by=2) # Números impares entre 1 y 20
y
## [1] 1 3 5 7 9 11 13 15 17 19
x+y
## [1] 3 7 11 15 19 23 27 31 35 39
x-y
## [1] 1 1 1 1 1 1 1 1 1 1
x*y
## [1] 2 12 30 56 90 132 182 240 306 380
x/y
## [1] 2.00000 1.33333 1.20000 1.14286 1.11111 1.09091 1.07692 1.06667
## [9] 1.05882 1.05263
R cuenta con un catálogo muy completo de funciones matemáticas. Por citar unas pocas: logaritmo neperiano (log
), exponencial (exp
), seno (sin
), coseno (cos
), valor absoluto (abs
), parte entera (floor
), redondeo (round
). Cuando una función se aplica a un vector, se aplica a todos y cada uno de sus elementos:
x^2
## [1] 4 16 36 64 100 144 196 256 324 400
log(x)
## [1] 0.693147 1.386294 1.791759 2.079442 2.302585 2.484907 2.639057
## [8] 2.772589 2.890372 2.995732
3*x
## [1] 6 12 18 24 30 36 42 48 54 60
1/exp(x)
## [1] 1.35335e-01 1.83156e-02 2.47875e-03 3.35463e-04 4.53999e-05
## [6] 6.14421e-06 8.31529e-07 1.12535e-07 1.52300e-08 2.06115e-09
El resultado de la transformación de una variable se puede guardar inmediatamente en otra variable:
logx=log(x)
logx
## [1] 0.693147 1.386294 1.791759 2.079442 2.302585 2.484907 2.639057
## [8] 2.772589 2.890372 2.995732
y operar con ella:
sin(logx+3)
## [1] -0.524012 -0.947301 -0.996852 -0.933389 -0.830832 -0.716156 -0.600501
## [8] -0.488698 -0.382789 -0.283511
El número e puede obtenerse en R como:
exp(1)
## [1] 2.71828
Asimismo R reconoce el valor \(\infty\), codificado como Inf
:
1/0
## [1] Inf
El número \(\pi\) se scribe simplemente pi
:
pi
## [1] 3.14159
R es capaz también de operar con aritmética compleja:
x=2+3i
class(x)
## [1] "complex"
y=5-2i
x+y
## [1] 7+1i
x*y
## [1] 16+11i
Para calcular raíces de números negativos hay que declararlos explícitamente como complejos:
sqrt(-2)
## [1] NaN
sqrt(as.complex(-2))
## [1] 0+1.41421i
R reconoce las funciones parte real, parte imaginaria, módulo, argumento y conjugado de un número complejo:
Re(x)
## [1] 2
Im(x)
## [1] 3
Mod(x)
## [1] 3.60555
Arg(x)
## [1] 0.982794
Conj(x)
## [1] 2-3i
© 2016 Angelo Santana, Carmen N. Hernández, Departamento de Matemáticas ULPGC