Introducción a R 👋
Pequeña introducción de R y R Studio (Posit)
Bienvenido a MatriR
Las primeras caras que se suelen recibir al introducir la bienaventurada de que se utilizará R, un lenguaje de programación, a lo largo de la asignatura son algo como así:
Hay a veces incuso que se pueden reconocer con facilidad las 5 fases de duelo (Negación, Ira, Negociación, Depresión y Aceptación), sin embargo, no más lejos de la exageración que estoy presentando, la realidad es que R es una gran herramienta -incluso fácil- cuando el miedo de asumir un reto que nunca hubieses imaginado afrontar es eliminado de la ecuación.
¿Qué es R?
R <- "Sí, es un lenguaje de programación"
Sí, R es un lenguaje de programación, pero trabajar con R no nos hará ingenieros sino más prácticos
R es un lenguaje de programación orientado a la estadística y el análisis de datos. Casi del mismo modo que podríamos usar Microsoft Excel, nos apoyaremos en R para realizar nuestros análisis estadísticos. Sin perder el objetivo de vista, R será una herramienta, ni siquiera un fin. Del mismo modo que usamos Word para escribir nuestros trabajos en la Universidad, usaremos R para realizar las tareas que requieran un análisis de datos. Creo que es fácil identificar el objetivo de este modo. Igual que no nos convertimos desarrolladores de Microsoft cuando utilizamos Word, de momento no contemplaremos en volvernos picadores de código para una empresa Tecnológica. Por consiguiente, esta sería la primera de las razones por la que deberíamos perder un poco de miedo: Nosotros nos aprovecharemos de R como usamos otros programas para nuestros objetivos principales.
¿Por qué R?
Bueno…sí, es porque es gratis.
R es un lenguaje de programación gratis, y esta es la principal razón de que sea tan potente. Todo el desarrollo de R se ofrece a la comunidad desinteresadamente (egos aparte) y cualquier usuario puede aprovecharse de las contribuciónes de otros usuarios. Suena a como debería funcionar siempre la Ciencia, ¿verdad?. Pues bien, R tiene la fuerza (potencia) y el alcance (gratis) para ser una herramienta conveniente, y toda la comunidad profesional se aprovecha de ello. ¿Se os ocurre una ventaja que pueda derivar del gran uso extendido y común de R?
R de Reproducibilidad
¿Os imagináis que el sistema métrico no se hubiese estandarizado? Si ya me desorienta cada vez que me hablan de grados Fahrenheit en EEUU, no me quiero imaginar si cada comunidad midiese de manera distinta la temperatura, o incluso, si cada una tuviese un termométro que trabaja distinto. Si fuese así, cada vez que se tuviese que reportar una temperatura, obligaríamos a cada persona a realizar sus calculos y mediciones de nuevo.
La ventaja de tener una herramienta común y accesible es la creación de un lenguaje global que facilita la transmisión de la información, la reducción de fuentes de error, y sobre todo, que AHORRA TIEMPO.
Esto sin duda es lo que más me gusta. R me permite tanto automatizar mis análisis, como ponerlos en común (esto último veréis como lo agradeceís). Aquí reside la fuerza de R, en su Reproducibilidad.
El hecho que yo pueda compartiros un código que podaís ejecutar para llegar a los mismos resultados que yo, o que podáis adaptarlo para vuestras necesidades, es lo que hace a R actractivo. Esta característica es una gran ventaja para la producción cientifica y pedagógica que merece el sacrificio de un pequeño periodo de adaptación.
Esto será un ejemplo de como podré compartir las funciones y su uso para que podamos utilizarlas una y otra vez. Solo se necesitará cambiar los nombres de los datos y saber en que momentos debemos utilizar las funciones.
install.packages("skimr")
skimr::skim(grupo) # Función muy útil para obtener una descripción rápida de todas las variables de un dataframe.
# Recordar que si escribo el nombre del paquete::función(), no hace falta activar el paquete para usar la función en concreto.
psych::describe(grupo$preparacion) # La media de la preparación del grupo en gneral es 1.92
# Puede haber diferencias entre los subgrupos?
by() #introducimos una función muy útil para desagregar resultados por grupos.
by(data = grupo$preparacion, # El objeto sobre el que queremos aplicar la función
INDICES = grupo$grupo, # La variable independiente por la que queremos desagregar
FUN = psych::describe # La función. Como no la tengo cargada la escribo con la sitnaxis de paquete::funcion. No lleva parentesis.
)
Proceso de aprendizaje de R
El proceso de aprendizaje pasará por aprender el flujo de trabajo del mismo lenguaje. En otras palabras, nos centraremos en aprender su estructura y lógica de construcción para que posteriormente lo podamos aplicar a cualquier contexto que necesitemos (e.g., análisis, descriptivos, etc.). Sería como aprender la estructura de cualquier idioma y los elementos para constuir oraciones, para luego adaptarla al contentido que se quiere expresar. En este caso, la semántica y/o contenido será el conocimiento que se adquiere en la parte teórica de (bio)estadística.
Una vez que la familiaziración finalice, es decir, cuando sepamos el rol de los vectores o data frames, las funciones, los signos de operación, etc… R se convertirá en un copy y paste de la infinidad de recursos que ofrece internet, el material de clase, y los apuntes.
Creedme, utilizo R todos los días, y el 80% de mi tiempo con R lo paso buscando código y/o reciclando mi propio código. La verdadera destreza es el conocimiento de aplicar las herramientas para tus fines concretos, y soy fiel defensor que este debería ser uno de los objetivos fundamentales de la educación, así como lo es de estas palabras iniciales y el futuro contenido que podaís leer de mi parte. Por supuesto, opino que el fin último de la ciencia y el conocimiento es precisamente producir cada vez más y mejor ciencia y conocimiento, pero también estoy convencido que la destreza de usar las herramientas actuales para nuestros objetivos es un requisito imprescindible en la misma carrera del progreso.
Un buen uso de R significará saber explotar todos los recursos disponibles para llegar a soluciones particulares
Tal vez lo más importante que pretendo transmitir con estas palabras es que no será necesario convertirse en un experto de la materia para ser un experto usuario de la materia. Mi objetivo es daros las herramientas para que podaís ahora y en un futuro ser críticos con la información que recibaís y sea crucial en vuestro trabajo y/o en vuestras vidas. El buen uso de R será cuando llegueís correctamente a las conclusiones que se esconden en los datos, y el medio en este caso (si se copia código de internet, si se crea nuevas funciones, si escribo 10 líneas en vez de 4) será lo de menos. Saber qué buscar es más de la mitad del conocimiento y R no será diferente.
‘#YES WE CAN’
Solo me falta desearos ánimo, que no suerte, y espero que este pequeño texto os haya ayudado a perder el miedo inicial por R a través de un repaso general al porqué de su uso, su potencial, y el objetivo que guiará nuestro trabajo.
Un abrazo,
Adri.