Sesión 1 - Parte 1
Introducción a las herramientas de trabajo
En esta primera sesión, particularmente acometeremos el trabajo básico de:
- instalar el software R;
- instalar el software RStudio;
- instalar los paquetes de trabajo;
- cargar los bancos de datos necesarios para comenzar nuestro trabajo;
- acercarnos al proceso de datos ‘real’, por medio de la tabulación.
Instalación del entorno de trabajo
Para comenzar nuestra andadura en R, necesitamos dos piezas fundamentales. Imagina que R es el motor de un coche (hace el trabajo duro, los cálculos y el análisis) y RStudio es el panel de control o volante (la interfaz que nos permite conducir el coche de forma cómoda).
1. Instalar R
El lenguaje R es gratuito y de código abierto.
- Accede a la página oficial: CRAN (Comprehensive R Archive Network).
- Selecciona tu sistema operativo:
- Download R for Windows: Haz clic en “base” y luego en el enlace de “Download R X.X.X for Windows”.
- Download R for macOS: Descarga el archivo
.pkgcorrespondiente a tu versión de procesador (si tienes un Mac con chip Apple Silicon M1/M2/M3, elige la versión “arm64”; si es un Mac antiguo con procesador Intel, elige “x86_64”).
- Ejecuta el instalador descargado y sigue los pasos por defecto (siguiente, siguiente, finalizar). No es necesario modificar ninguna configuración avanzada.
2. Instalar RStudio
RStudio es el entorno de desarrollo que hará tu vida mucho más fácil.
- Accede a la web de Posit (anteriormente RStudio).
- Haz clic en el botón Download RStudio Desktop for [Tu Sistema Operativo].
- Ejecuta el archivo descargado e instálalo.
- Importante: Una vez instalado, abre RStudio. Al ser la primera vez, el programa detectará automáticamente la versión de R que instalaste en el paso anterior.
3. Configuración inicial recomendada
Para evitar problemas futuros con la codificación de caracteres (especialmente con las tildes y la letra ñ), te recomendamos configurar RStudio de la siguiente manera:
- En el menú superior de RStudio, ve a Tools > Global Options.
- En la pestaña Code, haz clic en Saving.
- Asegúrate de que en Default text encoding esté seleccionado UTF-8.
- Pulsa Apply y OK.
¿Cómo verificar que todo ha ido bien?
Para saber si todo se ha instalado correctamente, abre RStudio y busca la Consola (la ventana de la izquierda o inferior izquierda). Deberías ver un texto de bienvenida que indica la versión de R.
Copia y pega la siguiente línea en tu consola y pulsa Enter:
Si el resultado que aparece es [1] 4, ¡enhorabuena! Tienes tu entorno de trabajo listo para comenzar.
Preguntas y respuestas antes de comenzar …
¿Qué es R?
R es un entorno y lenguaje de programación con un enfoque al análisis estadístico.
R nació como una reimplementación de software libre del lenguaje S, adicionado con soporte para ámbito estático. Se trata de uno de los lenguajes de programación más utilizados en investigación científica, siendo además muy popular en los campos de aprendizaje automático (machine learning), minería de datos, investigación biomédica, bioinformática y matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo y de realización de gráficos.
¿Qué es RStudio?
RStudio es un entorno de desarrollo integrado (IDE) para el lenguaje de programación R, dedicado a la computación estadística y gráficos. Incluye una consola, editor de sintaxis que apoya la ejecución de código, así como herramientas para el trazado, la depuración y la gestión del espacio de trabajo.
RStudio está disponible para Windows, Mac y Linux o para navegadores conectados a RStudio Server o RStudio Server Pro (Debian / Ubuntu, RedHat / CentOS, y SUSE Linux). RStudio tiene la misión de proporcionar el entorno informático estadístico R. Permite un análisis y desarrollo para que cualquiera pueda analizar los datos con R.
¿Qué es un script de R base (.R)?
Los script son documentos de texto con la extensión de archivo . R, por ejemplo mi script. R . Estos archivos son iguales a cualquier documentos de texto, pero R los puede leer y ejecutar el código que contienen.
¿Qué es Markdown?
Markdown es un lenguaje de marcado ligero creado por John Gruber que trata de conseguir la máxima legibilidad y facilidad de publicación tanto en su forma de entrada como de salida, inspirándose en muchas convenciones existentes para marcar mensajes de correo electrónico usando texto plano. Markdown convierte el texto marcado en documentos XHTML utilizando html2text creado por Aaron Swartz. Te aconsejamos el siguiente enlace para conocer los rudimentos del lenguaje.
¿Qué es documento con scripting de Quarto (.qmd)?
Quarto es una herramienta usada por RStudio que permite una fácil creación de documentos, presentaciones dinámicas e informes de R. Markdown es un formato de sintaxis simple en documento de texto para crear documentos en HTML, PDF, y Word.
¿Qué es un archivo HTML self-contained?
Los ficheros HTML self contained son ficheros autónomos que residen en un solo archivo HTML. No puede incluir ningún otro archivo y deben funcionar sin una conexión de red. Un usuario debería poder guardar el archivo, abrirlo localmente y tener todo listo para trabajar.
¿Qué es un vector?
Los vectores en R son objetos de una única dimensión que puede contener datos numéricos, cadena de caracteres o datos lógicos, entre otros. Esencialmente son uno de los elementos básicos en la estructura de los datos en R. Se crean con la estructura c().
¿Qué es una matriz?
Una matriz en R es un conjunto de elementos del mismo tipo (numérico, carácter, lógico, etc.) organizado en filas y columnas. Las matrices en R se construyen con la función matrix(). Aunque con un ejemplo siempre es mucho más fácil comprender cómo funcionan las matrices.
¿Qué es un dataframe?
Un dataframe es lo que conocemos como un fichero de datos. Son estructuras para trabajar con datos de diferentes tipos (cadena, lógicos, aritméticos). Utilizar una estructura de datos tabular (como una matriz) pero que permite manipular distintos tipos de datos por lo que podemos tener una columna con caracteres, otra con números y otra con variables lógicas. Son importante para hacer tablas, cuadros, gráficas, análisis y modelos que tienen muchas variables estadísticas. Se crean con la estructura data.frame().
¿Qué es un paquete / librería?
Un paquete (package) es una colección de funciones, datos y código R que se almacenan en una carpeta conforme a una estructura bien definida, fácilmente accesible para R. En la web de R se puede consultar la lista de paquetes disponibles.
¿Qué es un objeto?
La información que manipulamos en R se estructura en forma de objetos. Para trabajar con R resulta importante conocer los principales tipos de objetos y sus propiedades básicas. En general, cada tipo de objeto viene definido por una serie de atributos. Las funciones genéricas (como por ejemplo summary o plot) reconocen estos atributos y llevan a cabo distintos tipos de acciones en función del tipo de objeto.
¿Qué es un chunk?
Los trozos de código R o que se insertan en archivos markdown se denominan chunk y permiten hacer análisis estadísticos y mostrar los resultados en el documento final. Los chunk tienen diversas opciones que permiten una mayor flexibilidad en como se muestra el código y los resultados en el documento final.
¿Qué es inline code?
A diferencia de los chunk, el inline code se inserta en el texto del archivo, es de este modo como insertamos aquí la fecha: 2026-04-28.
Donde ha aparecido la fecha, yo tengo escrito en el documento 2026-04-28
Instalar y cargar paquetes básicos
Los paquetes necesarios son han sido cargado con la instrucción anterior. Si alguno no estuviera. No vemos el contenido del fichero global.R pero aquí abajo disponible sería instalado de forma automática por medio de pacman y si no lo hacemos manualmente con install.packages(). El paquete fontawesome, tiene una forma especial de instalación. Es por ello que se cita al final de forma específica.
Paquetes / funciones usadas en la asignatura
pacman::p_load(
tidyverse
,car
,psych
,Hmisc
,ca
,FactoMineR
,factoextra
,readr
,readxl
,tidyverse
,kableExtra
,sparkline
,fontawesome
,car
,outliers
,nortest
,vcd
,ca
,corrplot
,gplots
,DT
,lmtest
,sjstats
,igraph
,maditr
,expss
)
fib2 <- suppressMessages(read_spss("data/fib2.sav"))
gssnet1 <- suppressMessages(read_spss("data/gssnet1.sav"))
hatco <- suppressMessages(read_spss("data/hatco.sav"))
gssft1 <- suppressMessages(read_spss("data/gssft1.sav"))
gssnet2 <- suppressMessages(read_spss("data/gssnet2.sav"))
endorph1 <- suppressMessages(read_spss("data/endorph1.sav"))
anxiety <- suppressMessages(read_spss("data/anxiety.sav"))
hatco <- suppressMessages(read_spss("data/hatco.sav"))
data2 <- suppressMessages(read_spss("data/manners1.sav"))
grades <- suppressMessages(read_spss("data/grades1.sav"))
bdi <- suppressMessages(read_spss("data/bdidrogas1.sav"))Los archivos están en formato SPSS (sav) porque es un formato tradicional para los ficheros de investigación A lo largo de la asignatura, aprenderemos también a cargar ficheros de otros formato más habituales para nosotros, como por ejmplo XLSX o CSV, o TSV.
Practicando el scripting
Ejercicio: script 1
Aunque se puede trabajar en consola, es más habitual trabajar con ficheros de instricciones o scripts.
Prueba a escribir en la consola estas líneas, una a una, y cada vez que completes la línea, pulsa la tecla INTRO (ENTER) de tu teclado. Verás el resultado de la operción en consola.
Por ejemplo
- escribe 2+2 y pulsa Intro.
- escribe mean(2,3,4,5) y pulsa Intro.
- escribe max(2,3,4,5) y pulsa Intro.
¿Qué está pasando? R no va bien 🤦🏻♂️ fallos en la media y el máximo, ¿Qué pasa aquíiiii…?
Prueba esto!!!
- escribe mean(c(2,3,4,5)) y pulsa Intro.
- escribe max(c(2,3,4,5)) y pulsa Intro.
Vaya, se recuperó 😁
¿Qué ha pasado? R en ocasiones necesita una serie de valores, y no un sólo valor. Para identificar una serie de valores usamos la función c() que separa por comas, la serie de valores a trabajar.
Seguimos …
Ejercicio: script 2
Un primer ejemplo para iniciarnos en R es crear el siguiente script donde:
- se crean dos vectores,
- se publica su contenido,
- se unen esos dos vectores creando un dataframe
- se publica el dataframe
- se muestra la estructura del dataframe
- calcularemos la media aritmética del vector
- calcularemos la media aritmética del campo en el dataframe
Vamos a escribir nuestro script, no en la consola, sino en otro archivo. file > new file > R script
Se nos abre un lienzo blanco..
Escribe las siguinetes líneas que tienes aquó, puedes usar el Copy and Paste del ángulo superior derecha, y pega su contenido en ese lienzo blanco.
'data.frame': 9 obs. of 2 variables:
$ V1: num 1 2 3 1 3 1 3 3 3
$ V2: num 2 1 3 4 1 2 4 1 1
[1] 2.222222
[1] 2.222222
En la entrada Run de la parte superior derecha, tienes opción de ir ejecutando las líneas de tu fichero, una a una o si las seleccionas todas, puedes hacer un Run all y se encadenaría la ejecución de una tras otra.
A partir de ahora ya no seremos tan explicativos en los sucesivos scripts. Habrá que copiar y pegar y luego entender.
Ejercicio: script 3
En este segundo caso, vamos a acercarnos a conocer la influencia de los valores perdidos (ausencias de valor en la información) y su efecto ante el cálculo de estimaciones estadísticas. En este caso …
- crearemos los vectores de nuevo, añadiendo un valor perdido (NA),
- se publica su contenido,
- se unen esos dos vectores creando un dataframe,
- se publica el dataframe,
- realizaremos de nuevo los cálculos estadísticos anteriores con una leve modificación
Ejercicio: script 4
Funciones de inspección (Para conocer tus datos)
Estas funciones evitan que los alumnos tengan que abrir el dataframe a ciegas. head(df1): Muestra las primeras 6 filas. Es el estándar para comprobar si los datos se han cargado bien.
- tail(df1): Muestra las últimas 6 filas.
- str(df1): (Estructura) Es, probablemente, la función más importante. Les dirá si una columna es numérica, texto (character) o categórica (factor).
- summary(df1): Genera un resumen estadístico básico (media, mediana, mínimos y máximos) de cada columna. Es el sustituto rápido de los cuadros de estadísticos de SPSS.
- glimpse(df1): (Del paquete tidyverse/dplyr) Es una versión más moderna y limpia de str(). La recomiendo encarecidamente para principiantes porque es mucho más fácil de leer.
Funciones de dimensiones y nombres
- ncol(df1): Devuelve el número de columnas (útil cuando se combina con nrow() para saber el tamaño total).
- dim(df1): Devuelve un vector con dos valores: [filas, columnas]. Muy eficiente. names(df1): Es un alias de colnames(df1). Es muy común encontrarlo en la literatura de R.
Funciones de sistema/entorno
- ls(): Lista todos los objetos que tienes cargados en la memoria actual del entorno. Les servirá para ver si tienen basura acumulada.
- rm(objeto): Para eliminar un objeto (limpiar la memoria).
- getwd(): (Get Working Directory) Fundamental. Les enseña en qué carpeta está trabajando R. Si no saben dónde están, no pueden importar ni guardar archivos.
[1] "2026-04-28 19:56:13 CEST"
[1] "2026-04-28"
[1] "C:/Users/rober/Documents/R/sesiones2026.tmim"
[1] "df1" "paquetes_usados" "x" "y"
[1] 10
[1] 2
[1] 10 2
[1] "V1" "V2"
V1 V2
1 1 2
2 2 1
3 3 3
4 1 4
5 3 1
6 1 2
V1 V2
Min. :1.000 Min. :1.000
1st Qu.:1.000 1st Qu.:1.000
Median :3.000 Median :2.000
Mean :2.222 Mean :2.111
3rd Qu.:3.000 3rd Qu.:3.000
Max. :3.000 Max. :4.000
NA's :1 NA's :1
Conclusión
Cerramos esta primera parte de la sesión donde hemos pasado de ejecutar comandos aislados en la consola a construir nuestro primer script. Hemos aprendido que R es sensible a los valores perdidos (NA).