2 Sintaxis
R Calculadora
4 + 9
4 -
3 *
1
#4%1
4 + 5 ) * 7 - (36/18)^3 (
Ver tablas resumen de operadores aritméticos y lógicos (al final del capítulo)
Reto matemático que se volvió viral en las redes sociales*
Existen dos soluciones, según método que se aplique: el PEMDAS = 1 (parenthesis < exponents < multiplicación < division < addition < subtraction) y el BODMAS = 16 (Brackets < Orders (Powers and Square Roots) < Division < Multiplication < Addition < Subtraction).
Cómo opera R?
Se puede decir que hay diferencia de estilos al programar. Se deberia tener presente que otros pueden leer tu código (optar por buenas prácticas)
3+(5*(2^2))) # difícil de leer
(3 + 5 * 2 ^ 2 # si se recuerdan las reglas, todo bien
3 + 5 * (2 ^ 2) # si se olvidan algunas reglas, esto podría ayudar
Comparaciones lógicas
4>3
4 == 4
4 != 4
4 != 3
1 >= -9
Variables y asignaciones
Podemos almacenar valores en variables usando el operador de asignación <-
, veamos un ejemplo:
<- 1/40 x
Esta asignación no muestra el valor, sino que lo almacena para más adelante en algo llamado “variable”. Que contiene x?
x
shortcut de “<-” : Alt -
Chequear la pestaña Environment en uno de los paneles de RStudio. Nuestra variable x se puede usar en lugar de un número en cualquier cálculo que espere un número:
<- x + 1 # observen cómo RStudio actualiza/sobrescribe x en la pestaña superior derecha
x <- x * 2 y
El lado derecho de la asignación puede ser cualquier expresión de R válida. La expresión del lado derecho se evalúa por completo antes de que se realice la asignación.
También es posible utilizar el operador = para la asignación
= 1/40 x
Esta forma es menos común entre los usuarios R (se recomienda usar <-
).
Funciones
Como dijimos, los paquetes son básicamente un conjunto de funciones generadas por los autores de los mismos pero el usuario puede crear sus propias funciones.
Componentes de las funciones:
nombre_funcion(argumentos)
Nombre: Generalmente, el nombre es intuitivo, por ejemplo,
mean
es la función que calcula la media,round
es la funión que redondea un número.(Como habrán notado R está en inglés)Argumentos: Un argumento es un marcador de posición. Cuando se invoca una función, se debe indicar valores a los argumentos. Los argumentos son opcionales; es decir, una función puede no contener argumentos. También los argumentos pueden tener valores por defecto.
Algunos cálculos basados en funciones matemáticas. Son las mas simples, y no esta funcion no contienen argumentos. [para chequear la info de la función, solo basta con seleccionar todos sus caracteres + F1]
sqrt(3)
# 3^0.5
# 3^(1/2)
log(10) # logaritmo natural
exp(2.302585)
# log(10, base=10)
Funciones básicas pero con argumentos
- Redondeo
round(4.3478)
round(4.3478, digits=3)
Tips
1 - No se tienen en cuenta los espacios en blanco entre palabras: podemos o no dejar espacios para que el código se pueda ordenar de forma adecuada y poder entenderse.
plot( pressure )
plot(pressur e)
2 - Se distinguen las mayúsculas y minúsculas (“case sensitive”): para variables en el código, podemos crear diferentes variables con nombres iguales pero alternando mayúsculas y minúsculas.
Plot(pressure)
3 - Se pueden incluir comentarios: como vimos anteriormente los comentarios se utilizan para añadir información en el código. De paso observamos que
plot(pressur e) # da error
# grafico press vs temp
plot(pressure)
4 - El punto y coma (;) actúa como separador de comandos aún en la misma línea del script!
plot(pressure) pressure;
5 - Los nombres de las variables pueden contener letras, números, guiones bajos y puntos, pero NO PUEDEN:
- comenzar con un número
- contener espacios en absoluto
Cada uno adopta su propia forma para nombres largos de variables, por ej:
- puntos.entre.palabras
- guiones_bajos_entre_palabras
- MayúsculasMinúsculasParaSepararPalabras
No importa como lo adopten, pero es aconsejable ser consistente.
S.O.S.
- En el mismo R:
?sd
;??sd
; F1 sobre la función
Googlear: r generate a sequence of uppercase letters
Stack Overflow en inglés / Stack Overflow en español / RStudio: comunidades altamente activas por los usuarios de R y otros lenguajes de programación.
R Mailing Lists: especificas de cada área de la ciencia.
¿Cómo hacer una buena pregunta en las comunidades?
Ser conciso pero gentil…
Ser reproducible: su código debe correr en cualquier máquina. La comunidad no irá a ayudarle si no pueden reproducir su error (detallar paquetes y versión de R en caso necesario)
Tablas resumen
Operador | Detalle |
---|---|
x + y
|
Suma de x e y |
x - y
|
Resta de x menos y |
x * y
|
Multiplicación |
x / y
|
División de x por y |
x %/% y
|
Parte entera de la división de x por y |
x %% y
|
Resto de la división de x por y |
x ^ y
|
x elevado a y-ésima potencia (equivalente a **) |
Operador | Prueba.lógica |
---|---|
x < y | x menor que y? |
x <= y | x menor o igual que y? |
x > y | x mayor que y? |
x >= y | x mayor o igual que y? |
x == y | x igual que y? |
x != y | x diferente que y? |
Operador | Detalle |
---|---|
sqrt(x)
|
raiz de x |
exp(y)
|
exponencial de y |
log(x)
|
logaritmo natural de x = ln |
log10(x)
|
logaritmo base 10 de x |
sum(x)
|
suma todos los elementos de x |
prod(x)
|
producto de todos los elementos de x |
round(x, n)
|
redondea x a n-digitos |
Teclas | Detalle |
---|---|
Alt+Shift+K | panel de todos los atajos |
Ctrl+Z / Ctrl+Shift+Z | undo/redo |
Alt+ - | <- |
Ctrl+r | corre la línea/bloque completa de código |
Ctrl+l | limpia la consola |
Ctrl+Shift+c | silencia la línea de código |
Ctrl+Shift+d | duplica la línea de código |
Ctrl+i | indexa el bloque de código |
- Ver todos los atajos en R Studio: situandose en la consola tipear simultanemante
Ctrl | Shift | k