Codifica

L’istruzione coding carica e integra con i dati del dataset attivo la codifica delle risposte aperte. E’ possibile codificare i nuovi dati nelle variabili esistenti oppure in un set di nuove variabili.

La codifica deve essere contenuta in file in formato XLSX.

Argomenti:

  • filename: il nome del file XLSX che contiene la codifica delle risposte aperte
  • :codes => "name": il nome del foglio che contiene la codifica. Se non specificato viene utilizzato il primo foglio
  • :info => "name"|["filename", "name"]: il nome del foglio (ed eventualemnte del file) che contiene le informazioni relative alla codifica. Se non specificato viene utilizzato il secondo foglio
  • :label => "name"|["filename", "name"]: il nome del foglio (ed eventualemnte del file) che contiene le etichette delle nuove variabili/livelli. Se non specificato viene utilizzato il terzo foglio se presente (non è obbligatorio specificare le etichette)
  • :id => "name": l’intestazione della colonna che contiene l’identificativo del record (default recid)
  • :q => "name": l’intestazione della colonna che contiene il nome della domanda (solo per formato long, default question)
  • :notfound => :error|:skip: comportamento in caso di codice identificativo del record non presente nei dati: :error (default) lo scrip si interrompe con un errore; :skip viene emesso un warning e il programma prosegue
1
2
coding "coding"
coding "coding", codes: "codifica", info: "info", label: ["data_labels", "labels"]

codes

Il foglio codes contiene i nuovi codici da attribuire ai dati e può avere due formati: wide e long.

wide

Nel formato wide ogni riga rappresenta un caso e la codifica delle diverse domande viene posta in colonne diverse. Una colonna contiene il codice identificativo del record.

recid q1 q1_cod1 q1_cod2 q1_cod3 q2 q2code
1234 bla bla bla 1 2      
1235 bla bla bla 4     bla 1
1236 bla bla bla 12        
1237 bla bla bla 14 15   bla 5
1238         bla 7
1239 bla bla bla 6 3 13    
1240         bla 5
...            

long

Nel formato long ogni riga contiene la codifica di una domanda per un caso. I codici delle diverse domande sono posti nelle stesse colonne. Una colonna contiene il codice identificativo del record. La colonna question identifica la domanda a cui ci si sta riferendo; l’identificativo della domanda deve corrispondere a quello indicato nella colonna question del foglio info.

recid question verbatim cod1 cod2 cod3
1234 q1 bla bla bla 1 2  
1235 q1 bla bla bla 4    
1235 q2 bla 1    
1236 q1 bla bla bla 12    
1237 q1 bla bla bla 14 15  
1237 q2 bla 5    
1238 q2 bla 7    
1239 q1 bla bla bla 6 3 13
1240 q2 bla 5    
...          

Oltre alle colonne descritte, è possibile inserire anche ulteriori colonne che verranno ignorate dalla procedura di codifica. Le colonne contenente le verbalizzazioni possono essere omesse.

info

Il foglio info contiene i metadati necessari per interpretare la struttura della codifica e per attribuire i codici al file di dati.

Le intestazioni delle colonne non possono essere modificate:

  • id: il nome della variabile che identifica il record. Va specificato solo per la prima riga (si riferisce alla struttura generale della tabella). Il nome della variabile deve essere lo stesso tra il file di codifica e il file di dati.
  • format: il formato della tabella contenete la codifica: wide o long. Va specificato solo per la prima riga (si riferisce alla struttura generale della tabella)
  • question: il nome della question. Nel formato long deve corrispondere al contenuto della colonna question.
  • type: il tipo di variabile: s singola o m multipla
  • column: il nome (per le singole) o la radice del nome (per le multiple) delle colonne che contengono la codifica. Nel formato long va indicato solo per il primo record (la codifica utilizza le stesse colonne per tutte le domande)
  • var: il nome (per le singole) o la radice del nome (per le multiple) delle variabili del file di dati se diverse da quanto indicato nella colonna question
  • into: il nome (per le singole) o la radice del nome (per le multiple) delle nuove variabili che verrnno creata con la codifica.
  • other: per le multiple specifica i codici altro che devono essere “spenti” in seguito alla codifica (separare eventuali altri codici con una virgola)
  • uniq: per le multiple specifica i codici esclusivi (separare eventuali altri codici con una virgola). Un codice esclusivo non viene inserito se sono già presenti altri codici
  • recode: I codici da ricodificare. Utilizza la sintassi dell’Hash: 11=>98, 12=>99. Viene eseguito prima di offset
  • offset: un numero da addizionare ai codici
  • offset_start: il codice da cui partire per applicare offset (default 1)
  • skip: se non vuota, la definizione viene ignorata. La colonna può non essere presente nel file.

Nella radice del nome è possibile utilizzare il carattere # per inserire il codice dell’item. Più caratteri # consecutivi permettono il padding dello zero.

Esempio per il formato wide:

id format question type column var into other uniq skip
recid wide q1 m q1_cod d1_ x1_ 98 97, 99  

  q2 s q2code          

Esempio per il formato long:

id format column question type var into other uniq skip
recid long cod q1 m d1_ x1_ 98 97, 99  

    q2 s   v2     x

Attenzione

La procedura gestisce domande multiple in formato multidicotomy non multicategory.

label

Il foglio label è opzionale e contiene le etichette da associare alle nuove variabili e/o livelli delle variabili. Ha lo stesso formato indicato in File di dati>Metadati.

Output

Oltre a inserire i dati nel dataset attivo, la procedura coding genera nell’output per ciascuna variabile/domanda codificata, una tabella contenete i dati precedenti alla codifica, i dati presenti nella codifica e il risultato finale:

_images/coding_output.png