UniprJRC / DSconMATLAB

Il sito che contiene materiale aggiuntivo e tutti i files di codice MATLAB degli esercizi e delle figure del libro.
18 stars 6 forks source link

info variabile raggruppamento #461

Open ninnidesi opened 1 week ago

ninnidesi commented 1 week ago

Buongiorno prof, non ho capito bene quando devo creare una variabile di raggruppamento come faccio a capire quando devo utilizzare repelem o string? Grazie

MarcoRianiUNIPR commented 1 week ago

Occorre creare una variabile di raggruppamento tutte le volte in cui l'analisi deve essere svolta per sottogruppi di unità. Ad esempio se la matrice (table) X ha 100 righe e le prime 50 righe si riferiscono al gruppo A, le righe 51-80 al gruppo B e le righe 81-100 al gruppo C allora deve creare una variabile di raggruppamento di lunghezza 100 in cui i primi 50 elementi sono uguali ad "A", gli elementi 51-80 sono uguali a "B" e gli ultimi 20 elementi sono uguali a "C".

Dato che repelem("pippo",3,4) ripete l'elemento "pippo" per 3 righe e 4 colonne per creare il vettore colonna richiesto di lunghezza 100 (denominato, ad esempio, nuovaVariabile), deve utilizzare la sintassi che segue: `nuovaVariabile=[repelem("A",50,1);repelem("B",30,1);repelem("C",20,1)]

Il trasposto di nuovaVariabile produce uno string array 1x100 come segue image

Se X è una table per aggiungere la variabile di raggruppamento ad X (con il nome nuova) esegue

X.nuova=nuovaVariabile

La sintassi

grpstats(X,"nuova","median")

produce le mediane per i 3 gruppi.

Un esempio segue

rng(100)
n=100; p=5;
Xd=rand(n,p);
X=array2table(Xd);
nuovaVariabile=[repelem("A",50,1);repelem("B",30,1);repelem("C",20,1)];
X.nuova=nuovaVariabile;
grpstats(X,"nuova","median")

produce le mediane per i 3 gruppi

image

Mi faccia sapere se sono stato chiaro

`