La prova pratica è strettamente individuale. Qualora venissero consegnati degli elaborati simili, più di quanto è lecito attendersi da soluzioni indipendenti allo stesso problema, gli stessi verrebbero annullati. Non saranno ammesse motivazioni del tipo "abbiamo già provato a risolvere un esercizio simile, per questo i nostri compiti sono uguali". Se davvero avete scritto del codice R che risolve un esercizio simile, e lo volete utilizzare come base di partenza per questo, siete liberissimi di farlo, purché consegniate entro 15 minuti dall'inizio dell'esame il suddetto codice al docente.
Per la consegna dell'elaborato, utilizzare il modulo web disponibile al sito di sottomissione on-line. L'invio del file deve avvenire entro le ore 12:00, secondo l'orario indicato nel sito stesso.
Il compito consiste di due esercizi. Il voto massimo che si può ottenere risolvendo correttamente il primo esercizio è 24, mentre il voto massimo per una corretta soluzione del secondo esercizio è 30 e lode. Consiglio vivamente a tutti di risolvere prima l'esercizio n. 1 e solo successivamente passare al numero 2.
replace.na
che prende un unico argomento v
, vettore numerico, e restituisce lo stesso vettore v
, rimpiazzando però tutti i valori NA
con la media dei valori di v
(ovviamente la media dei soli valori diversi da NA
). Ad esempio:
> replace.na(c(1,3,NA,4,NA)) [1] 1.000000 3.000000 2.666667 4.000000 2.666667
stratified.replace.na
che prende due argomenti, un vettore numerico v
e un vettore label
di etichette. I due vettori vanno visti come attributi diversi delle stesse entità. La nuova funzione si comporta esattamente come replace.na
, ma anziché rimpiazzare ogni NA con la media di tutti i valori di v
, lo rimpiazza con la media dei valori che hanno la stessa etichetta. Ad esempio:
> stratified.replace.na(c(1,3,NA,4,NA),c("A","A","A","A","A")) [1] 1.000000 3.000000 2.666667 4.000000 2.666667 > stratified.replace.na(c(1,3,NA,4,NA),c("A","A","A","B","B")) [1] 1.000000 3.000000 2.000000 4.000000 4.000000Notare che nel primo caso il risultato è uguale a quello di
replace.na
, poiché tutti i valori hanno la stessa etichetta, ma nel secondo caso il primo NA
ha etichetta A
, quindi è rimpiazzato con la media di 1 e 3, mentre il secondo NA
ha etichetta B
.tapply
.