2 + 2
Introducción a R
En este capítulo veremos las principales funcionalidades de R
, lo suficiente para poder aplicar todos los métodos estadísticos descritos en este libro… nada más.
Si Ud. desea profundizar sobre R
puede consultar la bibliografía al final de este capítulo.
En este capítulo es opcional la creación de un proyecto.
R es una calculadora
R
puede ser utilizado como una calculadora. Por ejemplo, escriba en la consola lo siguiente y presione enter:
Obtendrá lo esperado:
[1] 4
El número [1]
sólo indica la posición del resultado 4
en un vector. En este caso quiere decir que el primer elemento del vector es el número 4
. Por ahora no nos preocuparemos de este detalle. Lo importante es el resultado de la operación 2 + 2
.
Otro ejemplo: calcular un logaritmo en base \(e\) con la función log()
:
log(3)
[1] 1.098612
R
posee muchas funciones matemáticas, desde las más básicas hasta las más sofisticadas, algunas de las cuales iremos descubriendo a medida que avancemos en el libro.
Objetos
En R
existen muchos tipos de objetos: vectores, matrices, arreglos, data frames, listas, etc. Cada uno de ellos tiene características especiales y son idóneos para almacenar información y posterior análisis estadístico.
La clave está en elegir el objeto ideal para un análisis estadístico en particular. A veces un vector será suficiente; otras, será necesario una estructura más compleja, como una matriz. A continuación se describen los principales objetos que utilizaremos en los siguientes capítulos.
Recuerde el mantra de este libro: aprender lo suficiente de
R
, nada más.
Creación de variables
Una variable nos permite almacenar un objeto asignándole un nombre y utilizar ese nombre en operaciones posteriores. Por ejemplo, almacenaremos la concentración de una muestra de tetraciclinas en salmón (50 mg/kg) con el nombre x
. Entonces, en la consola escriba lo siguiente y presione enter
:
<- 50 x
Con el símbolo <-
hemos asignado el valor 50 a la variable x
. Desde ahora en adelante, salvo que lo sobre-escribamos, x
siempre será 50.
Observe la ventana (pane) arriba a la derecha y presione la pestaña Environment
. Ha aparecido la variable recién creada x
cuyo valor es 50:
Si observa esto, quiere decir que R
ha creado correctamente la variable x
y la podemos utilizar en otros cálculos u operaciones. Por ejemplo, sumemos 2 a x
:
+ 2 x
[1] 52
Multpliquemos x
por 3:
3*x
[1] 150
Dividamos x
por 10 y guardemos ese resultado con el nombre x.diluida
:
<- x/10 x.diluida
Hemos generado una nueva variable x.diluida
a partir de la variable x
. Observe la ventana Environment
:
Si en la consola escribimos x
obtendremos el valor 50 pues no ha sido modificada.
x
[1] 50
Si queremos modificar x
tenemos que sobre-escribirla, es decir, asignarla al nuevo valor. Por ejemplo, ahora deseamos que x
sea 100 mg/kg de tetraciclina:
<- 100 x
Observe la pestañan Environment
, el valor de x
se ha actualizado a 100:
No sólo podemos almacenar números. También podemos almacenar otro tipo de variables:
- Texto:
<- "carlos gomez"
analista <- 'HPLC MSMS' instrumento
Advierta que cuando queremos almacenar texto (strings) debemos colocarlo entre comillas "carlos gomez"
o entre apóstrofes 'HPLC MSMS'
.
- Variables booleanas:
<- TRUE
bajo_lod <- FALSE sobre_loq
Las variables booleanas nos permiten definir si se cumple o no una condición. Por ejemplo, en nuestra base de datos podríamos indicar en una columna si la concentración de una muestra está bajo el límite de detección, asignándole un valor TRUE
(si está bajo el LoD) o FALSE
si es lo contrario.
Estas variables son muy útiles cuando, por ejemplo, debemos filtrar datos o para indicarle a R
que queremos activar una opción al aplicar un método estadístico. Por ejemplo, la siguiente línea le dice a R
que queremos llevar a cabo un test T para comparar las medias de la concentración de una muestra que ha sido determinada por dos métodos analíticos: `HPLC MSMS vs HPLC DAD
En este caso, las muestras eran pareadas, por lo tanto, le diremos a R
que utilice la opción paired = T
:
TRUE
o T
t.test(HPLC_MSMS, HPLC_DAD, paired = T)
- Dato no disponible:
NA
(Not Available). Si su base de datos posee algún dato perdido (missing), éstos se indican enR
comoNA
.
<- NA tetracilcina
Si tiene la información en una hoja Excel, no es necesario que re-etiquete con NA
todos los datos perdidos que aparecen en ella, R
los reconocerá cuando importemos su base desde Excel.
En algunos métodos estadísticos será necesario indicarle a R
que no considere los datos perdidos NA
en los cálculos.
Observe el Environment
que tenemos hasta ahora:
Todas estas variables están almacenadas en R
. Si en la consola escribe x
y presiona enter
, retornará el último valor guardado, es decir, 100:
x
[1] 100
analista
[1] "carlos gomez"
Vectores
Hasta ahora hemos asignado a una variable un único valor. Como veremos en los siguientes capítulos, muchas veces es necesario asignar varios valores a una variable. Por ejemplo, las concentraciones de una curva de calibración entre 0 y 100 mg/L de 10 en 10 mg/L. Para esto utilizaremos un vector, el cual permite almacenar varios valores del mismo tipo (números, texto, etc.).
En un vector no se pueden mezlcar tipos de variables
Para crear un vector utilizaremos la función c()
que signfica concatenar. Cada elemento dentro de c()
debe ir separado por coma. Debemos asignarle un nommbre al vector si queremos que R
lo guarde.
Por ejemplo, llamaremos calibrantes
al vector de los estándares de la curva de calibración:
enter
<- c(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) calibrantes
Observe el Environment
:
calibrantes
aparace como num [1:11]
, es decir, R
indica que es un vector de números y que posee 11 elementos (muestra los 10 primeros).
Como calibrantes
es un vector, aplican todas las operaciones habituales sobre vectores. Por ejemplo:
2*calibrantes
[1] 0 20 40 60 80 100 120 140 160 180 200
+ 10 calibrantes
[1] 10 20 30 40 50 60 70 80 90 100 110
También podríamos crear un vector que guarde el nombre de los analistas:
<- c('Pedro', 'Juan', 'Diego', 'Hugo', 'Paco', 'Luis') analista
Si escribimos en la consola analista
obtenemos:
[1] "Pedro" "Juan" "Diego" "Hugo" "Paco" "Luis"