Análisis y tratamientos en Rstudio

Author

Yair Reyes Jacinto

Guía de uso para R y Rstudio

Esta guía se ha hecho con la finalidad de que el alumno entienda, ejercite y mejore su comprensión del lenguaje R.

  1. Descargar R [R] (www.r-project.rg)
  2. Descargar Rstudio [Rstudio] (www.rstudio.com)
  3. Descargar Rtools .

Librerías

Cuando se instala R y Rstudio por defecto está ya contiene multiples funciones que nos sirven para realizar análisis estadísticos generales de alguno de nuestros datos, sin embargo existen una infinidad de librerías para datos específicos o áreas particulares como del área biológica, química, estadística, sociales, etc.

Se le conoce como librería o paquete a una colección de funciones, dato y código que se añaden a R para realizar análisis específicos.

La forma en como podemos llamar estás librerías es : 1.En la ventana packages en la parte inferior derecha de Rstudio y apretando el icono de install y escribir el paquete que nosotros queremos ocupar. 2. La segunda es escribiendo en el prompt o en la consola lo siguiente: install.packages(“nombre_del_paquete)

¿Pero qué es R y Rstudio?

  1. R es un lenguaje de programación estadístico basado en el lenguaje S de IBM
  2. Tiene una interfaz gráfica conocida como Rstudio
  3. R nos sirve para generar gráficos, herramientas estadísticas y figuras con calidad para publicación
  4. R es gratuito y de código abierto
  5. Tiene una base de usuarios
  6. Tiene una gran biblioteca de paquetes externos
  7. Se puede utilizar en diferentes áreas científicas.

Historia

Fue creado en los años 90´s por Ross Ihaka y Robert Gentleman en la Universidad de Auckland en Nueva Zelanda. - En el año de 1997 se crea el team r-project que es un grupo de desarrolladores que hasta la actualidad se encargan del mantenimiento del lenguaje

Interfaz gráfica

La interfaz gráfica de este lenguaje consta en 3 partes principales:

Interfaz principal de Rstudio Figura 1 Interfaz principal de Rstudio.

Consola. Se encuentra del lado izquierdo y es donde radica el lenguaje R, en esta parte podemos comunicarnos con la computadora para que realice lo que le indiquemos

Entorno/History. Ubicado en la parte superior derecha, es en donde los datos, vectores, objetos, etc se encuentran almacenados

Files/Plots/packages/Help. Se encuentra en la parte inferior derecha y es donde podemos ver nuestros directorios, gráficos y acceso a la ayuda en R. * Existe un panel más el cual es el más importante a la hora de utilizar esta interfaz a la cual se le llama Source *

Forma para abrir un Rscript(source) Figura 2 Para abrir el Rscript(source) nos vamos a file -> New file -> Rscript Y nos saldrá una ventana de la siguiente manera:

Figura 3. Ventana de Rscript

Este nuevo panel nos sirve al igual que la consola para escribir nuestro código en R con la diferencia que este si puede ser modificado y además podemos agregarle comentarios.

Los comentarios nos sirven para llevar un orden de nuestro código y saber para que nos sirve cada línea escrita y es denotado con el signo de gato #

Buenas prácticas de documentación.

Dentro del área cientifica un punto clave en el exito de un experimento se encuentra en ser preciso, claro y que todo lo que hagas lo lleves en un orden, para así poder saber que es lo que se hizo, saber como se hizo y que otras personas pueden repetir tus experimentos y que lleguen a tus mismos resultados. Lo mismo sucede al escribir código y saber para que sirve cada paso que hemos realizado.

A continuación se muestra una forma de como llevar en orden tu código

1.Encabezado del Script

Incluye un encabezado con información esencial al inicio de tu archivo

2.Comentarios explicativos

Comenta que haces y porque, no solo como lo haces

3.Documenta paquetes utilizados

Carga y documenta TODOS los paquetes requeridos al inicio.

4.Documenta entradas y salidas

Especifica el tipo de archivos que utilizas.

Manos a la obra.

Ahora que ya sabemos un poco de la teoría y funcionamiento de Rstudio empezaremos a hablar de conceptos fundamentales.

R es un lenguaje basado en objetos. y un objeto es una cosa, como un número, un conjunto de datos, una estadística de resumen como la media, mediana, etc. (Es decir todo lo que se escriba en R)

# Ejemplo de un objeto que contiene un número
a <- 5
#Ejemplo de un objeto que contiene un character
b <- "A"

-Para poder asignarle un valor a un objeto se utiliza el operador assign <-
-Para poder correr el código apretar Run situado en la parte superior del script o en su caso apretar crtl+enter

# Ejercicio 1. Crea un nuevo objeto llamado A con un valor se 100
A <- 100

Al guardarlo tendrás un nuevo objeto llamado A que contendrá el número 100 si quieres llamarlo solo escribe el nombre del objeto y aprieta ctrl + enter.

# Ejercicio 2. Crea un objeto a que valga 1 y un objeto b con valor de 100
a <-1
b <-100
# Suma los dos objetos 
a+b
[1] 101
#Ejercicio 3. Asigna los objetos a + b a un objeto c
c <- a + b
# Cuanto vale c
c
[1] 101

Como nombrar objetos

Al igual que las buenas prácticas de documentación, también al darle nombres a los objetos que analizaremos influiran en mantener claro el contexto de nuestro estudio.

#Deben ser fáciles de escribir (No tan cortos, no tan largos)
edad <- 59
# No deben iniciar con números
#5edad <- 4
# Evita utilizar espacios si es que el objeto tiene más de dos nombres
Mi_edad <- 29
# R distingue entre mayúsculas y minúsculas
Edad <- 5
EDAD <-45
edad <-200

Tipos de objetos

En general, los objetos se representan en 3 tipos:

-El primero es un tipo de dato numérico y puede ser entero(Integer) o decimal.

-El siguiente son datos de tipo caracter (character) y van entre comillas

-El último tipo de dato es el booleano y representa valores TRUE o FALSE

#Ejercicio 4.  Generame un objeto de tipo númerico 
x <- 5 #Entero
y <-5.4 # Decimal
#Ejercicio 5. Generame un objeto de tipo character
gen <- "TP53"
Tipo <- "Carcinoma escamoso"
#Ejercicio 6. Generame un objeto de tipo booleano
paciente_1 <- 45
es_mayor_de_edad <- paciente_1 >= 18
es_mayor_de_edad
[1] TRUE

Estructura de datos.

Como mencionamos anteriormente R esta basado en objetos y todo lo que se almacena es un objeto, sin embargo existen estructuras que permiten almacenar y manipular datos de diversas formas según su complejidad

Escalares

Es el tipo de objeto más simple, es un valor único, como un nombre o un número.

#Genera un escalar que contenga el valor  100
a <- 100
# Genere un escalar que contenga un caracter
gen <- "TP53"

Vectores

Es la estructura más básica y fundamental, almacena secuencias de elementos del mismo tipo (solo numéricos, solo caracteres o solo lógicos).

  • Para poder combinar múltiples datos en un solo vector se utiliza la c() de combinar
# Ejercicio 7. Genera un vector llamado números que vallan del 1 al 5
numeros <- c(1,2,3,4,5)
#Ejercicio 8 .  Genera un vector llamado genes y concatena "TP53", "BRCA1", "EGFR"
genes <- c("TP53", "BRCA1", "EFGR")

Matrices

Es una estructura bidimensional (Filas y columnas) que contienen datos del mismo tipo.

  • Se utiliza la función **matrix(de:adonde, nrow =, ncol =)
# Generame una matriz de 3 columnas y 3 filas que vaya del 1 al 9
Mi_matriz <- matrix(1:9, nrow = 3, ncol = 3)
#llama a la matriz
Mi_matriz
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

Arrays

Similar a una matriz, pero puede tener más de dos dimensiones, es útil para representar datos multivariantes o en series temporales

  • Se utiliza la función **array(de:adonde,dim = c(filas,columnas,capas))
#Crea un array de 24 valores (1:24) con dimensiones =  filas,  columnas y  capas
array_1 <- array(1:24, dim = c(3,4,1))
array_1
, , 1

     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

Listas

Es un contenedor heterogéneo que puede almacenar diferentes tipos de datos(vectores, matrices e incluso otras listas)

  • Se utiliza la función list(nombre = ““, edad = , valores c()) *
#Crea una lista de un paciente que tenga 25 años y tenga variantes en BRCA1 y TP53
mi_lista <- list(nombre = "Juan", edad = 34, mutaciones = c("BRCA1", "TP53"))
#Llama a la lista
mi_lista
$nombre
[1] "Juan"

$edad
[1] 34

$mutaciones
[1] "BRCA1" "TP53" 

Data frames

Es una estructura tabular como la que se utiliza en excel, cada columna puede ser de un tipo diferente, es la estructura más utilizada para análisis estadístico

  • Se utiliza la función ** data.frame(nombre = c(), edad =())**
# Crea un data frame que contenga los nombres; Ana, Luis y Pedro con sus respectivas edades: 25, 30, 35
mi_df <- data.frame(nombre=  c("Ana", "Luis", "Pedro"), edad = c(25,30,25))
#Llama al df
mi_df
  nombre edad
1    Ana   25
2   Luis   30
3  Pedro   25

Resumen de la estructura de datos

Evaluación de la unidad

1.¿Cuál es el origen del lenguaje R?

2.¿Qué relación tiene R con el lenguaje S?

3.Menciona y describe brevemente los cuatro paneles principales de Rstudio.

4.¿Cuál es la diferencia entre el Script y la Consola?

  1. Cuantos tipos de datos se ocupan en R y cuáles son?

6.Describe en que consiste cada estructura de datos.

  1. Vector

  2. Escalar

  3. Array

  4. Data frame

  5. Listas

  1. Parte práctica. Instrucciones iniciales Abre un nuevo proyecto en RStudio y nómbralo con tu nombre.

Aplica buenas prácticas de documentación en tu script:

Comenta cada bloque de código.

Usa nombres de objetos descriptivos.

Incluye un encabezado con autor, fecha y propósito del script.

Creación de objetos Realiza las siguientes tareas:

  1. Genera un objeto escalar que contenga el valor 50.
  2. Genera un objeto tipo vector con los valores del 1 al 5.
  3. Genera una matriz de 3 columnas y 3 filas con los valores del 1 al d) Genera un array de 48 valores con dimensiones (3, 4, 1).
  4. Genera un data frame con 10 pacientes (nombres aleatorios) y sus respectivas edades.