La tabella seguente riporta le età di matrimonio a Genova nel 1974. Qui la trovi in formato R. Analizzala nel modo che ritieni più opportuno.
DONNE <18 <21 <25 <30 <35 <40 <45 <50 <55 <60 <65 <70 ≥70 <18 5 1 0 0 0 0 0 0 0 0 0 0 0 U <21 61 63 26 2 0 1 0 0 0 0 1 0 0 O <25 100 416 577 148 16 2 0 0 0 0 1 1 0 M <30 55 306 916 691 85 18 4 1 1 0 0 0 0 I <35 6 38 153 231 116 48 9 1 1 3 0 0 0 N <40 1 11 34 85 67 40 27 10 4 0 0 0 0 I <45 0 0 4 13 26 28 24 20 9 1 0 0 0 <50 0 0 1 8 14 20 32 27 20 5 0 0 0 <55 0 0 2 2 8 11 30 25 26 9 4 1 0 <60 0 0 0 1 2 5 14 22 27 11 6 0 1 <65 0 0 1 0 1 3 6 17 21 17 16 6 1 <70 0 0 0 0 0 1 1 3 11 10 13 12 4 ≥70 0 0 0 0 0 0 1 0 3 3 6 7 6 |
Vedi in fondo per analizzarla in modo più elementare.
# Si tratta di una tabella di contingenza. Eccola: matrim1 = c( 5, 61,100, 55, 6, 1, 0, 0, 0, 0, 0, 0, 0, 1, 63,416,306, 38, 11, 0, 0, 0, 0, 0, 0, 0, 0, 26,577,916,153, 34, 4, 1, 2, 0, 1, 0, 0, 0, 2,148,691,231, 85, 13, 8, 2, 1, 0, 0, 0, 0, 0, 16, 85,116, 67, 26, 14, 8, 2, 1, 0, 0, 0, 1, 2, 18, 48, 40, 28, 20, 11, 5, 3, 1, 0, 0, 0, 0, 4, 9, 27, 24, 32, 30, 14, 6, 1, 1, 0, 0, 0, 1, 1, 10, 20, 27, 25, 22, 17, 3, 0, 0, 0, 0, 1, 1, 4, 9, 20, 26, 27, 21, 11, 3, 0, 0, 0, 0, 3, 0, 1, 5, 9, 11, 17, 10, 3, 0, 1, 1, 0, 0, 0, 0, 0, 4, 6, 16, 13, 6, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 6, 12, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 4, 6) # Le righe e le colonne sono: sqrt(length(matrim1)) #[1] 13 nomi = c("<18","<21","<25","<30","<35","<40","<45","<50","<55","<60","<65","<70","70+") matrim = array(data = matrim1, dim=c(13,13),dimnames=list(nomi,nomi)) matrim <18 <21 <25 <30 <35 <40 <45 <50 <55 60 <65 <70 70+ <18 5 1 0 0 0 0 0 0 0 0 0 0 0 <21 61 63 26 2 0 1 0 0 0 0 1 0 0 <25 100 416 577 148 16 2 0 0 0 0 1 1 0 <30 55 306 916 691 85 18 4 1 1 0 0 0 0 <35 6 38 153 231 116 48 9 1 1 3 0 0 0 <40 1 11 34 85 67 40 27 10 4 0 0 0 0 <45 0 0 4 13 26 28 24 20 9 1 0 0 0 <50 0 0 1 8 14 20 32 27 20 5 0 0 0 <55 0 0 2 2 8 11 30 25 26 9 4 1 0 <60 0 0 0 1 2 5 14 22 27 11 6 0 1 <65 0 0 1 0 1 3 6 17 21 17 16 6 1 <70 0 0 0 0 0 1 1 3 11 10 13 12 4 70+ 0 0 0 0 0 0 1 0 3 3 6 7 6 # I dati in tutto sono: sum(matrim) #[1] 5012 # È evidente, confrontando i numeri che stanno sopra e sotto alla diagonale che # scende da sinistra verso destra, che mediamente, dai 25 anni in su, gli uomini # hanno sposato donne più giovani. # Facciamo i totali delle righe e delle colonne (usando rbind e cbind): matrimo = rbind(matrim,colSums(matrim)) matrimo = cbind(matrimo,rowSums(matrimo)) matrimo <18 <21 <25 <30 <35 <40 <45 <50 <55 60 <65 <70 70+ <18 5 1 0 0 0 0 0 0 0 0 0 0 0 6 <21 61 63 26 2 0 1 0 0 0 0 1 0 0 154 <25 100 416 577 148 16 2 0 0 0 0 1 1 0 1261 <30 55 306 916 691 85 18 4 1 1 0 0 0 0 2077 <35 6 38 153 231 116 48 9 1 1 3 0 0 0 606 <40 1 11 34 85 67 40 27 10 4 0 0 0 0 279 <45 0 0 4 13 26 28 24 20 9 1 0 0 0 125 <50 0 0 1 8 14 20 32 27 20 5 0 0 0 127 <55 0 0 2 2 8 11 30 25 26 9 4 1 0 118 60 0 0 0 1 2 5 14 22 27 11 6 0 1 89 <65 0 0 1 0 1 3 6 17 21 17 16 6 1 89 <70 0 0 0 0 0 1 1 3 11 10 13 12 4 55 70+ 0 0 0 0 0 0 1 0 3 3 6 7 6 26 228 835 1714 1181 335 177 148 126 123 59 47 27 12 5012 # Faccio l'istogramma a barre percentuale dei due totali: barplot(rowSums(matrim)/sum(matrim)) dev.new(width=4,height=4); barplot(colSums(matrim)/sum(matrim)) # Ma mi conviene realizzarlo nella stessa scala e nella stessa finestra. Uso # caratteri più piccoli per i nomi delle classi e per le frequenze e non # lascio spazio tra le colonne. Aggiungo dei titoli. par(mfrow=c(2,1), mar=c(2.5,3,1.5,1)) barplot(colSums(matrim)/sum(matrim),ylim=c(0,0.4),cex.axis=0.8,cex.names=0.7,space=0) abline(h=axTicks(2),lty=3); title("F") barplot(rowSums(matrim)/sum(matrim),ylim=c(0,0.4),cex.axis=0.8,cex.names=0.7,space=0) abline(h=axTicks(2),lty=3); title("M") # È eveidente la diversità dei due istogrammi. Per quantificarla # ricorro alla analisi statistica dei due totali. rowSums(matrim) <18 <21 <25 <30 <35 <40 <45 <50 <55 60 <65 <70 70+ 6 154 1261 2077 606 279 125 127 118 89 89 55 26 frM = c(6,154,1261,2077,606,279,125,127,118,89,89,55,26) aM1 = c(17,19,23,27.5,32.5,37.5,42.5,47.5,52.5,57.5,62.5,67.5,71) aM =rep(aM1,frM); mean(aM) [1] 30.5436 colSums(matrim) <18 <21 <25 <30 <35 <40 <45 <50 <55 60 <65 <70 70+ 228 835 1714 1181 335 177 148 126 123 59 47 27 12 frF = c(228,835,1714,1181,335,177,148,126,123,59,47,27,12) aF1 = aM1; aF =rep(aF1,frF); mean(aF) [1] 27.31494 # L'età media di matrimonio dei maschi era di 30.5 anni, delle # donne di 27.3 anni. # # Analizza in modo simile dati più recenti, recuperandoli dall'Istat # e da pubblicazioni di enti locali.
Per altri commenti: Sistemi di variabili casuali neGli Oggetti Matematici.
Per modi più elementari per affrontare il problema vedi
qui.