##IMPOSTAZIONE DELLA DIRECTORY #cambiare il percorso in base a dove si trova il file contenente i dati setwd("C:/Users/giuli/Downloads/STATISTICA_PER_LA_RICERCA") ##IMPORTAZIONE DEI DATI #installare il pacchetto readxl, se non installato install.packages("readxl") #Caricamento della library readxl library(readxl) #Lettura del dataset df<-read_xlsx("arm_1.xlsx") ##ESPLORAZIONE DEL DATASET #Struttura generale: numero di righe e colonne, tipologia variabili str(df) head(df) #di default mostra le prime 6 righe del dataset #panoramica del tipo di variabili e alcune statistiche di base install.packages("skimr") library(skimr) skim(df) #PROBLEMA: R interpreta Sesso e TRATTAMENTO come numeriche. #Serve ricodifica in categoriali df$Sesso<-as.factor(df$Sesso) #le categorie sono sempre 1 e 2 df$TRATTAMENTO<-as.factor(df$TRATTAMENTO) #le categorie sono sempre 1 e 2 #IN ALTERNATIVA: df$Sesso<-ifelse(df$Sesso==1, "Femmina", "Maschio") #le categorie sono Femmina e Maschio df$TRATTAMENTO<-ifelse(df$TRATTAMENTO==1, "Virtuale", "Standard") #le categorie sono Virtuale e Standard #Check: la ricodifica è avvenuta correttamente? str(df$Sesso) str(df$TRATTAMENTO) #ANALISI DESCRITTIVA #Analisi delle variabili continue #Generale hist(df$Eta) #Per gruppo di interesse (trattamento) par(mfrow = c(1, 2)) # 1 riga, 2 colonne di grafici hist(df$Eta[df$TRATTAMENTO == "Virtuale"], main = "Trattamento Virtuale", xlab = "Età", col = "lightblue", xlim = range(df$Eta)) hist(df$Eta[df$TRATTAMENTO == "Standard"], main = "Trattamento Standard", xlab = "Età", col = "lightgreen", xlim = range(df$Eta)) par(mfrow = c(1, 1)) # torna al layout normale #Generale hist(df$FIMPRE) #Per gruppo di interesse (trattamento) par(mfrow = c(1, 2)) hist(df$FIMPRE[df$TRATTAMENTO == "Virtuale"], main = "Trattamento Virtuale", xlab = "FIM PRE", col = "lightblue", xlim = range(df$FIMPRE)) hist(df$FIMPRE[df$TRATTAMENTO == "Standard"], main = "Trattamento Standard", xlab = "FIM PRE", col = "lightgreen", xlim = range(df$FIMPRE)) par(mfrow = c(1, 1)) #Generale hist(df$FIMPOST) #Per gruppo di interesse (trattamento) par(mfrow = c(1, 2)) hist(df$FIMPOST[df$TRATTAMENTO == "Virtuale"], main = "Trattamento Virtuale", xlab = "FIM POST", col = "lightblue", xlim = range(df$FIMPOST)) hist(df$FIMPOST[df$TRATTAMENTO == "Standard"], main = "Trattamento Standard", xlab = "FIM POST", col = "lightgreen", xlim = range(df$FIMPOST)) par(mfrow = c(1, 1)) #Statistiche generali summary(df$Eta) #qui manca la deviazione standard sd(df$Eta) #ma posso visualizzarla separatamente summary(df$FIMPRE) sd(df$FIMPRE) summary(df$FIMPOST) sd(df$FIMPOST) #Statistiche per gruppo di interesse (trattamento) tapply(df$Eta, df$TRATTAMENTO, summary) tapply(df$FIMPRE, df$TRATTAMENTO, summary) tapply(df$FIMPOST, df$TRATTAMENTO, summary) #Se voglio SD tapply(df$Eta, df$TRATTAMENTO, sd, na.rm = TRUE) #l'opzione na.rm=TRUE serve a rimuovere eventuali missing, altrimenti il comando restituisce NA se vi è almeno un missing in quel gruppo