Indice:
- Lettura dati da file
- Vettori e matrici
- Dataframe
- Grafici
- Indici di posizione e di dispersione
- Covarianza e indice di correlazione
- Test di Shapiro
- Modello di regressione lineare
variable = read.table("file_name.txt", header=TRUE)
v = c( 1, 2, 3, 3) #inizializzazione di un vettore
length(v) #restituisce la lunghezza del vettore v
M = matrix( data = c( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ), nrow = 4, ncol = 3, byrow = FALSE) #inizializzazione di una matrice
dim(M) #restituisce le dimensioni della matrice M
unique(v) #restituisce i valori univoci del vettore v
esame = data.frame( matricola = as.character( c( 45020, 45679, 46789, 43126, 42345, 47568 ) ),
voti_S = c( 30, 19, 29, NA, 25, 26 ),
voti_O = c( 3, 3, 1, NA, 3, 2 ),
voti_TOT = c( 30, 22, 30, NA, 28, 28 ) )
head(data_frame) # Restituisce le prime sei righe contenute nel dataframe
tail(data_frame) # Restituisce le ultime sei righe contenute nel dataframe
dim(data_frame) # Restituisce le dimensioni del dataframe
names(data_frame) # Resitituisce i nomi dei campi del dataframe
data_frame$variable = as.factor( data_frame$variable )
table( data_frame$variable ) #tabella delle frequenze assolute
prop.table( table( data_frame$variable ) ) #tabella delle frequenze realtive
x11()
windows()
#Entrambi i comandi aprono una nuova finestra grafica su Windows
Un grafico di dispersione è spesso usato quando si hanno due variabili, di cui una rappresenta un parametro di controllo (posto convenzionalmente sull'asse orizzontale) e l'altra la variabile misurata (posta convenzionalmente sull'asse verticale). Può risultare utile per visualizzare il grado di correlazione tra la variabile misurata e il parametro di controllo.
plot(data_frame$variable_x, data_frame$variable_y, xlab = 'x_label', ylab = 'y_label', main = 'title')
points(data_frame$variable_x, data_frame$variable_y, col='colour', pch = 19) #points serve per creare dei pallini colorati, pch indica la forma (19=cerchio)
I grafici a barre sono utili per visualizzare le frequenze assolute e relative di variabili discrete.
barplot(variable_frequency, col=c('col_1', 'col_2'), ylab='y_label')
I grafici a torta sono utili per visualizzare le frequenze relative di variabili discrete.
pie ( table( data_frame$variable ) / sum( table( data_frame$variable ) ), main = 'title' )
Gli istogrammi contano la frequenza dei dati in ogni intervallo di dati prefissato di variabili continue.
hist(data_frame$variable, xlab='x_label', main='title') # in ordinata ci sono le frequenze assolute
abline(v=median(data_frame$variable), col='red') # Crea una retta verticale in corrispondenza della mediana
abline(v=mean(data_frame$variable), col='green') # Crea una retta verticale in corrispondenza della media
I diagrammi a candela sono utili per identificare eventuali asimmetrie della distribuzione e/o la presenza di valori estremi (outliers).
Un diagramma a candela visualizza un rettangolo le cui basi inferiore e superiore visualizzano rispettivamente il primo e il terzo quartile. All'interno del rettangolo viene tracciata una linea in corrispondenza della mediana. Il limite inferiore è dato da Q1 - 1.5*IQR
, mentre il limite superiore è dato da Q3 + 1.5*IQR
. I cerchi sotto il limite inferiore e sopra il limite superiore rappresentano gli outliers.
boxplot(data_frame$variable, ylab="y_label", main='title')
I Q-Q plot sono grafici utili a verificare, approssimativamente, se una variabile presenta una distribuzione normale.
qqnorm(variable, pch = 16, main = 'Title Q-Q plot')
qqline(variable, lwd = 2, col = 'red')
Lo scatterplot è un grafico composto da più grafici di dispersione realizzati comparando le variabili contenute in un data frame a coppie.
pairs(data_frame)
mean(vector)
var(vector)
sd(vector)
range(vector) #Restituisce sia il massimo che il minimo
max(vector)
min(vector)
median(vector)
t_freq = table(vector)
t_freq
freq_of_most_common_value = max( t_freq )
freq_of_most_common_value
moda = t_freq[t_freq==freq_of_most_common_value ]
quantile(vector, probs = 0.25) #In probs va indicato l'ordine del quartile
Il range interquartile è la differenza tra il primo e il terzo quartile.
IQR(vector)
tapply( data_frame$variable_1, data_frame$variable_2, mean )
tapply( data_frame$variable_1, data_frame$variable_2, var )
tapply( data_frame$variable_1, data_frame$variable_2, sd )
tapply( data_frame$variable_1, data_frame$variable_2, max )
tapply( data_frame$variable_1, data_frame$variable_2, min )
tapply( data_frame$variable_1, data_frame$variable_2, median )
tapply( data_frame$variable_1, data_frame$variable_2, quantile, probs=0.25 )
tapply( data_frame$variable_1, data_frame$variable_2, summary )
cov(variable_1, variable_2)
cor(variable_1, variable_2)
Il test di Shapiro è un test statistico che si utilizza per determinare se una variabile segue una distribuzione, almeno approssimativamente, normale o meno.
Si individuano due casi:
- p-value < 0.5 --> NON accetto H0 (che i dati siano distribuiti normalmente)
- p-value > 0.5 --> accetto H0 (che i dati siano distribuiti normalmente)
shapiro.test(variable)
mod = lm(dipendent_variable ~ covariate_variable_1 + covariate_variable_2 + covariate_variable_1:covariate_variable_2)
summary(mod)
res = mod$residuals
shapiro.test(res) # Si può usare il test di shapiro sui residui per verificare che siano normali