1. Per què som avui aquí?

  • SPSS i les “caixes negres”:
    • Clics de ratolí on sovint ignorem quins supòsits assumeix el programa per sota.
    • Llicències propietàries cares i privatives.
    • Dificultat extrema per auditar o reproduir les anàlisis d’un article mesos després.
  • R i la ciència oberta:
    • Codi obert i gratuït: Accessible universalment des de l’hospital o des de casa.
    • Reproduïbilitat real: Si entren 50 pacients més, reexecutem l’script i totes les taules s’actualitzen en dos segons[cite: 2].
    • L’estàndard internacional: El llenguatge de referència en biomedicina i assajos clínics.

2. La potència visual: De la dada a la publicació

Amb ggplot2 es generen figures d’alta resolució, totalment personalitzables i a punt per a revistes biomèdiques sense dependre daltres programaris:

library(ggplot2)

ggplot(iris, aes(x = Species, 
                 y = Petal.Length, 
                 fill = Species)) +
  geom_boxplot(alpha = 0.7, 
               outlier.shape = NA) +
  geom_jitter(width = 0.15, 
              alpha = 0.5, 
              size = 1.8) +
  theme_classic() +
  theme(legend.position = "none") +
  labs(title = "Biomarcador per grup", 
       y = "Longitud (cm)", 
       x = "")

3. L’arquitectura bàsica: La Cuina d’R

La Consola (oral)

  • És la conversa directa i fugaç.
  • Li demanem un càlcul ràpid (2 + 2), en dóna el resultat i s’oblida.
  • Quan tanquem la sessió, aquesta feina no es pot recuperar.

L’Script .R (recepta escrita)

  • És el document mestre auditable.
  • Fitxer de text pla on guardem les instruccions seqüencials.
  • Es pot desar, comentar (#), compartir i executar línia a línia amb Ctrl + Enter.

4. Els Projectes (.Rproj): Adeu als errors de ruta i tot ben endreçat.

“Error: cannot open the file ‘pacients.csv’: No such file or directory”

  • Treballar amb fitxers dispersos per carpetes personals és la font del 90% dels bloquejos de principiants.
  • El fitxer .Rproj fixa l’arrel de treball de forma automàtica:
    • Totes les rutes de fitxers es tornen relatives (ex: "data/titanic.csv").
    • L’anàlisi funciona exactament igual al vostre ordinador, al meu o al d’un col·laborador sense tocar cap ruta.

5. Com pensa R: La Història Clínica Rectangular

En biomedicina treballem amb taules de dades netes (Dataframes o Tibbles):

  • Cada fila és un subjecte únic (un pacient).
  • Cada columna és una variable mesurada:
    • Numèrica (numeric): edat, pressió, troponina.
    • Factor (factor): categories mèdiques prefixades (ex: Estadi NYHA I-IV, Sexe). Clau per definir el grup de referència!
    • Text lliure (character): codis personals, comentaris.

6. La bombeta i l’interruptor: Paquets a R

  • install.packages("nom_paquet")
    • Equival a comprar la bombeta a la botiga.
    • Es fa un sol cop per entorn/màquina (a Posit Cloud ja us ho he deixat fet!).
  • library(nom_paquet)
    • Equival a prémer l’interruptor de la paret.
    • Cal fer-ho a cada sessió o a la capçalera de cada script de treball.

7. La canonada (%>%): Pensar en seqüència clínica

En lloc d’apilar parèntesis d’R base de dins cap a fora, la canonada es llegeix com:
“Agafa la cohort… i després filtra… i després selecciona…”

# Sintaxi moderna i llegible (Tidyverse)
pacients_uci <- cohort %>% 
  filter(edat >= 65) %>% 
  select(id, troponina, exitus)
  • Permet llegir i auditar el codi amb la mateixa lògica seqüencial amb què dissenyem un protocol clínic.

8. Tipus de dades (Data types) a la clínica

R classifica cada columna segons la seva naturalesa:

  • Numèric (numeric / double / integer): Valors continus o enters (edat, pressió, troponina).
  • Factor (factor): Categories mèdiques prefixades (levels).
    • Fonamental per definir categories (NYHA I-IV, Sexe) i fixar el grup de referència per als models.
  • Text lliure (character): Cadena oberta (comentaris, CIP).
  • Lògic (logical): Resposta binària (TRUE o FALSE).

Compte amb la coerció: si en una columna d’edats s’hi cola el text "desconegut", R convertirà tota la columna a text.

9. On demanar ajuda? (R Help i la IA)

  • L’ajuda integrada d’R:
    • Escriviu un signe d’interrogant davant de qualsevol comanda a la consola:
      ?mean o ?read_csv \(\rightarrow\) Documentació, arguments i exemples al panell Help.
  • La IA com a copilot crític (Gemini / Claude):
    1. Mostreu-li la taula real: Passeu-li sempre el resultat de fer glimpse(dades).
    2. Expliciteu el dialecte: Demaneu-li codi exclusivament amb Tidyverse.
    3. Copieu els errors literals: Si falla, envieu la línia vermella exacta de la consola.
    4. Sentit clínic: Auditeu sempre si els resultats tenen coherència biològica.

10. Mans a la feina!

  1. Localitzeu el panell superior esquerre (Editor).
  2. Obriu el fitxer classe_01.R.
  3. Comproveu que teniu el fitxer de dades a la carpeta data/.
  4. Poseu el cursor a la primera línia i premeu Ctrl + Enter (o Cmd + Enter a Mac).