Chapter 2 Bases prácticas en R
2.1 Expresiones y asignaciones
Las expresiones y asignaciones son los dos tipos de resultados que arroja R.
Las expresiones sólo se muestran en la salida estándar y NO se guardan en alguna variable, es decir, cada que se corra la línea se obtendran valores distintos.
Ejemplo:
## [1] 1.12180066 2.93344090 -0.06731002 -0.08897222 1.29393471 0.41434013
## [7] -1.54945122 0.21963495 0.60563706 -0.41688635
## [1] -1.4331222 1.3046769 0.4111962 0.2014088 -0.6223192 0.8531335
## [7] -0.6779209 -0.1930655 2.3550262 0.8527725
Las asignaciones, como su nombre lo indica, se guardan los valores al ser asignados a una variable. Esto se puede lograr mediante el uso de <-
Ejemplo:
## [1] 0.5310095 -1.5823332 0.1999942 1.6472419 -1.9382590 -0.6093491
## [7] 0.6806383 -0.1230184 0.1213846 1.6827940
NOTA El símbolo <-
es equivalente en función a =
pero puede llevar a confusiones importantes con el operador ==
.

Otro punto a considerar respecto a las asignaciones es que R es capaz de distinguir entre mayúsculas y minúsculas, por lo que la misma letra puede contener valores distintos.
Ejemplo:
## [1] 3
## [1] 6
Una opción es definirlas en más de una línea, ejemplo:
NOTA Ten mucha precaución con el nombre que asignas a un valor, ya que podrías sobreescribirlo y se le quedará asignado el último valor.
Ejemplo:
## [1] 3
## [1] 8
La separación de comandos puede darse de dos formas:
Empleando ;
, ejemplo:
o usando un salto de línea, esta es una mejor opción, ejemplo:
2.2 Movimiento entre directorios
Otra de las ventajas que ofrece R es que permite ubicar algún archivo o saber la dirección del directorio en la que nos encontramos actualmente, todo ello sin necesidad de salir de la interfaz.
Para saber en qué directorio estamos, se teclea:
## [1] "/Users/robertoalvarez/Documents/GitHub/Bravo_Garcia_Maria_Fernanda_Bioinfo_2024"
Para cambiar de directorio utilizamos setwd("direccion_a_la_que_quieres_ir")
2.3 Bash en R
También se pueden usar los comandos de la terminal de bash dentro de R, utilizando la función system()
Para listar archivos de una carpeta usamos ls
Para saber en qué directorio estamos usamos la función análoga a getwd()
, que es pwd
Importante: Como regla general todos los nombres van entre comillas: nombre de carpetas, archivos, de columnas, de renglones,etc.
2.4 Operaciones aritméticas
R también puede ser usado como calculadora. Se puede sumar, restar, multiplicar,dividir, “exponenciar” y calcular la raíz cuadrada.
SUMA con el operador +
## [1] 8
RESTA con el operador -
## [1] -2
MULTIPLICACIÓN con el operador *
## [1] 15
DIVISIÓN con el operador /
## [1] 0.6
EXPONENTE con los operadoradores **
o ^
## [1] 243
## [1] 243
RAÍZ CUADRADA con la función sqrt()
## [1] 1.732051
LOGARITMO con la función log()
## [1] 1.098612
2.4.1 Prioridad en las operaciones
Las operaciones se efectuan en el siguiente orden:
- izquierda a derecha
sqrt()
y**
^
*
y/
+
y-
<-
IMPORTANTE Este orden se altera si se presenta un paréntesis. En ese caso la operación dentro del paréntesis es la que se realiza primero.
Ejemplos:
4 + 2 * 3 = 4 + 6 = 10
4 - 15/3 + 3^2 + sqrt(9) = 4 - 15/3 + 9 + 3 = 4 - 5 + 12 = 13
4 - (3+7)^2 + (2+3)/5 = 4 - (10)^2 + 5/5 = 4 - 100 + 1 = -95
Ejercicios
Resuelve en un pedazo de papel primero para saber cuál sería el resultado de las siguientes operaciones aritméticas. Después comprueba tu resultado tecleandolas en R.
- 1 + 2*3 + 3 + 15/3
- 4 - 15/3 + 3^2 + 3*sqrt(81)
- 40 - (4+3)^2 + (10-5)/3
- 32^5 - (3-5)*2 + 32/sqrt(64)
- 1/(3^-3) + (8-10^2) - (25/sqrt(25))^2
2.5 Tipos de valores en R
2.5.1 Valores booleanos
También conocidos como Datos lógicos.
Este tipo de datos sólo contienen información TRUE
o FALSE
, lo cual sirve para evaluar si los elementos de un vector cumplen con los criterios deseados. Para ello se utilizan los operadores de comparación:
- igual
==
- no es igual a
!=
- menor que
<
- mayor que
>
- menor o igual que
<=
- mayor o igual que
>=
Ejemplo:
## [1] TRUE
## [1] FALSE
## [1] TRUE
## [1] FALSE
NOTA Dentro de R los valores lógicos TRUE
y FALSE
tienen un valor numérico. TRUE
equivale a 1 y FALSE
es equivalente a 0. Esto permite cuantificar el número de elementos que cumplen con los criterios, ¿cómo? mediante la suma de los TRUE
s.
Ejercicios Demuestra si: 1. El logaritmo base 10 de 20 es menor que la raíz cuadrada de 4. Desarrollalo en una sola línea. 2. 1/3^-1 es igual a 3/1^-1 3. (-2)^2 no es igual a (2)^2
2.5.2 Caracter
Son strings de texto y se caracterizan porque cada uno de los elementos va entre comillas. Los elementos pueden ser desde sólo un caracter hasta oraciones. Podría parecer que la variable a la cual lo asignamos contiene números, pero las comillas indican que serán tratados como texto. Podemos subsetearlos por su índice o buscando literalmente el texto.
Ejemplo:
2.5.3 Enteros y números (numeric)
Existen dos formas diferentes en que las computadoras pueden guardar los números y hacer operaciones matemáticas con ellos: numeric
e integer
.
Por lo común no importa esta diferencia, pero puede ser relevante para algunas funciones de Bioconductor. En R se representan los números como numeric
y el tamaño máximo que maneja para un integer
es ligeramente más chico que el tamaño del genoma humano.
¿Cómo revisar si un objeto es numeric o entero? Con la función class()
## [1] "numeric"
## [1] "integer"