2.8 Cambios en la consola.
Si quisiéramos cambiar la apariencia de la consola de R, basta con seleccionar en la barra de herramientas de
RStudio la pestana RStudio, luego “Preferences” y “Appearence”.
También te puede interesar ver otras opciones de personalización de R.
3. Operaciones básicas
Este capítulo te permite conocer qué utilidades tiene R. A modo de resumen, podemos utilizar R como una
calculadora para operaciones aritméticas y funciones matemáticas o podemos querer ir más allá y aprender el
lenguaje de R. Esta última opción es sin dudas la más interesante, por ello, primero te enseñaremos las reglas
básicas de sintaxis para que puedas elaborar tus propios códigos y luego ahondaremos en los pilares de R: los
objetos.
3.1 R como calculadora: aritmética y matemáticas básicas.
El listado de las funciones aritméticas básicas disponibles en R podemos observarlo escribiendo
help(Arithmetic).
Figura 8. Operadores aritméticos básicos.
Entonces, si queremos utilizar R para cálculos matemáticos simples, basta con escribir:
# operaciones aritméticas básicas
2 + 3 # suma
## [1] 5
2 - 3 # resta
## [1] -1
2*3 # multiplicación
## [1] 6
2/3 # división
## [1] 0.6666667
13
2^3 # potenciación
## [1] 8
Hay que tener en cuenta que R utiliza la precedencia en las operaciones, esto quiere decir que primero
se realizan las funciones exponenciales, luego la multiplicación y división según el orden de los operadores que
hayan (paréntesis) y finalmente las sumas y restas también en el orden en el que estén presentes. Aquí tienen
algunos ejemplos:
#conviene utilizar paréntesis
4^2 - 3*2
## [1] 10
(4^2) - (3*2)
## [1] 10
1 - 6 + 4
## [1] -1
(1 - 6) + 4
## [1] -1
2^-3
## [1] 0.125
2^(-3)
## [1] 0.125
Si queremos realizar cálculos con vectores, lo primero es construir los vectores (en este caso x e y) y
luego aplicar las herramientas aritméticas.
x<-1:3
y<-2:4
+ x
- x
x + y
x - y
x * y
x / y
x ^ y
x ** y
x %% y
x %/% y
Por supuesto también podemos utilizar funciones matemáticas.
14
Figura 9. Funciones matemáticas básicas.
Por ejemplo:
exp(3) #exponencial
## [1] 20.08554
sqrt(2) # raíz cuadrada
## [1] 1.414214
log(1) # logaritmo
## [1] 0
sin(1); cos(1); tan(1) # trigonométricas.
## [1] 0.841471
## [1] 0.5403023
## [1] 1.557408
# El símbolo ";" sirve para separar operaciones
max(1:3) #máximo
## [1] 3
min(1:3) #mínimo
## [1] 1
range(1:3) #rango(mínimo, máximo)
## [1] 1 3
15
mean(1:3) #media
## [1] 2
sum(1:3) #suma
## [1] 6
diff(1:3) #diferencia entre números consecutivos
## [1] 1 1
cumsum(1:3) #suma acumulada
## [1] 1 3 6
sd(1:3) #desviación típica
## [1] 1
quantile(1:3) # cuantiles
## 0% 25% 50% 75% 100%
## 1.0 1.5 2.0 2.5 3.0
Notación científica.
R decide automáticamente cuando utilizar notación científica. Los siguientes ejemplos enseñan cómo se
representan números muy pequeños o muy grandes. Si utilizamos notación científica, el número 0, 000172 se
debe escribir como 1, 72x10 ≠ 4, y en R se escribe 1.72e ≠ 4. A su vez, el número 11131, se escribe en notación
cientiífica 1, 33x10 ú 4, y en R se escribe 1.33e4.
1.72e-4
## [1] 0.000172
1.33e4
## [1] 13300
Si queremos especificar el número de cifras significativas que queremos observar, basta con escribir:
signif(0.1723,digits=2)
## [1] 0.17
Recordemos que los ceros a la izquierda del punto no son cifras significativas.
También tenemos la posibilidad de redondear una cifra, solo tenemos que especificar el número de cifras
(o dígitos) que queremos obtener. Por ejemplo:
round(1.12345,digits=2)
## [1] 1.12
round(1.12534,digits=2)
## [1] 1.13
EJERCICIO: Explora las funciones floor(x), ceiling(x) y trunc(x).
3.2 R como lenguaje: sintaxis.
Operadodes de sintaxis
16
Nuevamente mediante la función help podemos acceder al listado de todos los operadores de sintaxis.
# R utiliza operadores unitarios y binarios, para obtener el listado de ellos escribe:
help(Syntax)
Destacamos en especial los siguientes operadores:
# $ @ para extraer elementos de los objetos
data(iris)
iris$[Link]
## [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1
## [19] 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0
## [37] 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0 6.4 6.9 5.5
## [55] 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 5.9 6.1
## [73] 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.0 6.7 6.3 5.6 5.5
## [91] 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3
## [109] 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0 6.9 5.6 7.7 6.3 6.7 7.2
## [127] 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8
## [145] 6.7 6.7 6.3 6.5 6.2 5.9
# [ [[ para indexar o referenciar o acceder a los elementos de un objeto
# debes tener en cuenta que la fórmula es: objeto[filas,columnas]
head(iris) #muestra el inicio del objeto
## [Link] [Link] [Link] [Link] Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
head(iris[,"[Link]"])
## [1] 5.1 4.9 4.7 4.6 5.0 5.4
#muestra el inicio de la variable que le pedimos, entre comillas
head(iris[,1])
## [1] 5.1 4.9 4.7 4.6 5.0 5.4
#lo mismo que en el paso anterior pero ahora llamamos por el número de columna,
# no por su nombre
iris[1:3,] #enseña las tres primeras filas
## [Link] [Link] [Link] [Link] Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
iris[1:2,1:2] # enseña las dos primeras filas y las dos primeras columnas
## [Link] [Link]
## 1 5.1 3.5
## 2 4.9 3.0
# podemos cambiar valores dentro de un vector
x<-1:5
17
x[2]<-NA
x
## [1] 1 NA 3 4 5
# : generador de secuencia.
1:6
## [1] 1 2 3 4 5 6
Operaciones comparativas y lógicas.
Prueba con help(Comparison) y help(Logic).
help(Comparison)
help(Logic)
Figura 10. Funciones comparativas.
Algunos operadores ya los hemos visto, pero ponlos en práctica.
u<-c(3,6,NA,1)
u[u<2] # retiene aquellos valores de u que son menores que 2
## [1] NA 1
u[] # retiene aquellos valores que no están ausentes NA
## [1] 3 6 1
any(u<2) # algún elemento de u es menor a 2?
## [1] TRUE
all(u<2) # todos los elementos de u son menores que 2?
## [1] FALSE
v<-c(1,6,3)
v>5 #qué valores de v son mayores que 5?
## [1] FALSE TRUE FALSE
which(v>5) #cuáles valores son mayores que 5?
## [1] 2
18