———————————————————-

Exercici 1: Paquets a R

———————————————————-

1. Comprovar paquets instal·lats

installed.packages() # mostra tots els paquets instal·lats rownames(installed.packages()) # mostra només els noms dels paquets

2. Instal·lar els paquets MASS i survival

install.packages(“MASS”) install.packages(“survival”)

3. Carregar els paquets i comprovar la informació que contenen

library(MASS) library(survival)

Veure quins datasets contenen

data(package = “MASS”) data(package = “survival”)

Ajuda dels paquets

help(package = “MASS”) help(package = “survival”)

Exemple: informació sobre un dataset concret del paquet MASS

?Cars93

4. Informació sobre el paquet Rcmdr (R Commander)

Instal·lació (només cal una vegada)

install.packages(“Rcmdr”)

Ajuda i documentació

help(package = “Rcmdr”) ??Rcmdr

———————————————————-

Exercici 2a: Dataset de salut en TXT

———————————————————-

Crear dataset de pacients

pacients <- data.frame( Nom = c(“Anna”, “Pere”, “Joan”, “Maria”, “Laura”), Edat = c(23, 45, 60, 37, 52), Pressio = c(110, 135, 150, 120, 142), # mmHg Colesterol = c(180, 220, 240, 195, 210) # mg/dL )

Guardar en un TXT (separat per tabuladors)

write.table(pacients, “pacients.txt”, sep = “, row.names = FALSE)

Importar-lo

dades_pacients <- read.table(“pacients.txt”, sep = “, header = TRUE)

Summary de tres variables (Edat, Pressio, Colesterol)

summary(dades_pacients\(Edat) summary(dades_pacients\)Pressio) summary(dades_pacients$Colesterol)

———————————————————-

Exercici 2b: Dataset de salut en CSV

———————————————————-

Crear dataset d’ingressos hospitalaris

hospital <- data.frame( ID = 1:6, DiesEstada = c(3, 7, 10, 5, 8, 4), Cost = c(900, 2100, 3000, 1500, 2500, 1200), # € Recuperat = c(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE) )

Guardar en CSV

write.csv(hospital, “hospital.csv”, row.names = FALSE)

Importar-lo

dades_hospital <- read.csv(“hospital.csv”, header = TRUE)

fivenum de dues variables (DiesEstada i Cost)

fivenum(dades_hospital\(DiesEstada) fivenum(dades_hospital\)Cost)

———————————————————-

Exercici 3: Dataset “anorexia” (paquet MASS)

———————————————————-

1. Carregar el paquet MASS i el dataset

library(MASS) data(“anorexia”)

Veure les primeres files del dataset

head(anorexia)

2. Mostrar els tipus de dades de cada variable

str(anorexia)

3. Comprovar si hi ha valors NA o NULL

anyNA(anorexia) # TRUE si hi ha algun NA sum(is.na(anorexia)) # nombre total de NA any(sapply(anorexia, is.null)) # comprova si hi ha NULL

4. Transformar els valors de la variable Treat

“CBT” -> “Cogn Beh Tr”

“Cont” -> “Contr”

“FT” -> “Fam Tr”

levels(anorexia$Treat) <- c(“Contr”, “Fam Tr”, “Cogn Beh Tr”)

Comprovar els nous valors

table(anorexia$Treat)

———————————————————-

Exercici 4: Exportació i importació de dades

———————————————————-

library(MASS)

a) Exportar “biopsy” a CSV

data(“biopsy”) # carreguem dataset write.csv(biopsy, “biopsy.csv”, row.names = FALSE)

Mostrar les primeres files dins del PDF

head(biopsy)

b) Exportar “Melanoma” a tres formats diferents

data(“Melanoma”) # carreguem dataset MASS amb majúscula inicial

CSV

write.csv(Melanoma, “Melanoma.csv”, row.names = FALSE)

TXT (tabuladors)

write.table(Melanoma, “Melanoma.txt”, sep = “, row.names = FALSE)

RDS

saveRDS(Melanoma, “Melanoma.rds”)

Comprovació: llistar fitxers creats

list.files(pattern = “Melanoma”)

Mostrar resum breu dins del PDF

head(Melanoma)

c) Resum de la variable age dins del R Markdown

summary(Melanoma$age)

———————————————————-

Exercici 5: Operadors i funcions amb birthwt

———————————————————-

Carregar dataset

data(“birthwt”) head(birthwt)

Les variables importants:

- age: edat de la mare

- lwt: pes de la mare al començar l’embaràs

- bwt: pes del nadó

- smoke: si la mare fumava (1 = sí, 0 = no)

a) Edat màxima de les mares

edat_max <- max(birthwt$age) edat_max

b) Edat mínima de les mares

edat_min <- min(birthwt$age) edat_min

c) Rang d’edat de les mares

rang_edat <- range(birthwt$age) rang_edat

d) Mare del nadó de menor pes

idx_min_bwt <- which.min(birthwt\(bwt) fumava <- birthwt\)smoke[idx_min_bwt] fumava # 1 = sí, 0 = no

e) Pes del nadó de la mare amb edat màxima

idx_max_age <- which.max(birthwt\(age) pes_nado <- birthwt\)bwt[idx_max_age] pes_nado

f) Llistar tots els pesos dels nadons

pesos_nadons <- birthwt$bwt pesos_nadons

———————————————————-

Exercici 6: Matriu amb Prewt i Postwt de anorexia

———————————————————-

data(“anorexia”)

Comprovem les primeres files

head(anorexia)

Crear una matriu amb dues columnes: Prewt i Postwt

matriu_pes <- as.matrix(anorexia[, c(“Prewt”, “Postwt”)])

Comprovem la matriu

matriu_pes

Informació sobre la matriu

dim(matriu_pes) # nombre de files i columnes class(matriu_pes) # tipus d’objecte (ha de ser “matrix”)

———————————————————-

Exercici 7: Data frame Trat_Pulmon

———————————————————-

Crear el data frame

Identificador <- c(“I1”,“I2”,“I3”,“I4”,“I5”,“I6”,“I7”,“I8”,“I9”,“I10”, “I11”,“I12”,“I13”,“I14”,“I15”,“I16”,“I17”,“I18”,“I19”, “I20”,“I21”,“I22”,“I23”,“I24”,“I25”) Edad <- c(23,24,21,22,23,25,26,24,21,22,23,25,26,24,22,21,25,26,24,21,25,27,26,22,29) Sexo <- c(1,2,1,1,1,2,2,2,1,2,1,2,2,2,1,1,1,2,2,2,1,2,1,1,2) # 1 = mujer, 2 = hombre Peso <- c(76.5,81.2,79.3,59.5,67.3,78.6,67.9,100.2,97.8,56.4,65.4,67.5, 87.4,99.7,87.6,93.4,65.4,73.7,85.1,61.2,54.8,103.4,65.8,71.7,85.0) Alt <- c(165,154,178,165,164,175,182,165,178,165,158,183,184,164,189,167,182,179, 165,158,183,184,189,166,175) Fuma <- c(“SÍ”,“NO”,“SÍ”,“SÍ”,“NO”,“NO”,“NO”,“SÍ”,“SÍ”,“SÍ”,“NO”,“NO”,“SÍ”,“SÍ”,“SÍ”, “SÍ”,“NO”,“NO”,“SÍ”,“SÍ”,“SÍ”,“NO”,“SÍ”,“NO”,“SÍ”)

Trat_Pulmon <- data.frame(Identificador, Edad, Sexo, Peso, Alt, Fuma) Trat_Pulmon

———————————————————-

a) Seleccionar registros con edad > 22

edad_mayor_22 <- Trat_Pulmon[Trat_Pulmon$Edad > 22, ] edad_mayor_22

———————————————————-

b) Seleccionar el elemento 3 de la columna 4 (Peso)

elemento_col4_fila3 <- Trat_Pulmon[3, 4] # fila 3, columna 4 elemento_col4_fila3

———————————————————-

c) Usar subset() para seleccionar filas con edad < 27 y sin la columna Alt

subset_menor_27 <- subset(Trat_Pulmon, Edad < 27, select = -Alt) subset_menor_27

———————————————————-

Exercici 8: Dataset ChickWeight

———————————————————-

a) Incorporar el dataset ChickWeight

data(“ChickWeight”) # prové del paquet base datasets head(ChickWeight) # veure les primeres files

Variables importants:

- weight: pes del pollito en grams

- Time: dies des del naixement

- Chick: identificador del pollito

- Diet: tipus de dieta (factor)

b) Gràfic de dispersió (scatterplot) de la variable weight

plot(ChickWeight$weight, main = “Scatterplot del pes dels pollitos”, xlab = “Índex del registre”, ylab = “Pes (grams)”, pch = 19, col = “blue”)

c) Diagrama de caixa (boxplot) de la variable Time

boxplot(ChickWeight$Time, main = “Boxplot dels dies des del naixement”, ylab = “Dies”, col = “lightgreen”)

———————————————————-

Exercici 9: Nou data frame amb tractament i canvi de pes

———————————————————-

1. Crear un nou vector amb la diferència de pes: Postwt - Prewt

Positiu → ha guanyat pes, Negatiu → ha perdut pes

canvi_pes <- anorexia\(Postwt - anorexia\)Prewt

2. Crear un nou data frame amb Treat i canvi_pes

anorexia_treat_df <- data.frame(Treat = anorexia$Treat, Canvi_Pes = canvi_pes)

head(anorexia_treat_df)

3. Seleccionar individus que han guanyat pes

anorexia_treat_ganadors <- anorexia_treat_df[anorexia_treat_df$Canvi_Pes > 0, ] head(anorexia_treat_ganadors)

4. Crear nou conjunt només amb tractament “Cont” i que han guanyat pes

anorexia_treat_C_df <- anorexia_treat_ganadors[anorexia_treat_ganadors$Treat == “Cont”, ] anorexia_treat_C_df