Variabili: attributi¶
I formati di una variabile possono essere controllati con la funzione f?.
format¶
Modifica gli attributi delle variabili. I dati delle variabili non vengono modificati.
1 2 3 4 | format :varlist => {options}
format [:x1, :x2, :x3] => {size: 5, ndec: 2}
format :v1 => {type: :string, size: 35}
|
Attributi | Tipo | Descrizione |
---|---|---|
id | int | ID variabile |
name | string | nome variabile |
source_name/alt_name | string | nome origine/alternativo |
type | symbol | tipo variabile |
:integer, :float, :single, :md, :mc, :string, :date, :datetime, :time, :logic, :system, :info | ||
size | int | dimensione complessiva |
ndec | int | numero di decimali |
start | int | posizione inizio |
stop | int | posizione fine |
spss_format_type | int | codice formato SPSS |
label | string | etichetta della variabile |
labels | hash | codici ed etichette |
weights | hash | codici e pesi |
missing | vector | elenco valori missing |
not_null | boolean | valori mancanti non permessi |
uniq | boolean | valori univoci |
min | int | valore minimo |
max | int | valore massimo |
Nets: | ||
level | int | livello |
net | boolean | net |
net_type | symbol | tipo net |
Pulsar/Galileo: | ||
classes | array | classi |
subclasses | array | sottoclassi |
Gruppi multiple: | ||
multi_name | string | |
multi_label | string | |
multi_pos | int | |
multi_none | boolean | |
multi_net | boolean | |
Altri gruppi: | ||
group_name | string | |
group_label | string | |
group_pos | int |
(*) not_null, uniq, min e max hanno rilevanza solo per la procedura validate e per ptLab.
type¶
Modifica solo il tipo di variabile. I dati delle variabili non vengono modificati.
1 2 3 4 | type varlist => :type
type :v10 => :integer
type [:x1, :x2, :x3] => :string
|
Suggerimento
Tipi di variabili disponibili:
:integer, :float, :single, :md, :mc, :string, :date, :datetime, :time, :logic, :system, :info
weights¶
weights definisce i pesi da assegnare alle modalità della variabile. I pesi verranno utilizzati per il calolo delle statistiche descrittive nelle tabelle ord, scale, fred o desc.
I pesi devono essere indicati attraverso un hash secondo il formato codice => peso. Nel caso venga fornito solo un elenco (array) di pesi, i pesi verranno associati ai valori della variabile in ordine crescente.
Il parametro di configurazione :wlegend determina se mostrare una nota automatica che descrive i pesi. Il testo della legenda è determinato dal parametro di configurazione weight_legend_label. Il simbolo inserito al posto di un peso nil è determinato dal parametro di configurazione nil_weight_legend.
Oltre al codice è possibile indicare:
- [1,2,3]: un vettore di codici
- 1..3: un intervallo di interi
- :else: indica tutti i livelli non specificati
Oltre al valore del peso è possibile indicare:
- nil|:na|NA: per escludere il codice dal calcolo
- :copy: indica che deve essere utilizzato come valore il codice
Per eliminare i pesi assegnare nil o {}.
1 2 3 4 5 | weights :d5 => {0=>7, 1=>2.5, 2=>1, 3=>0.5, 4=>0.25}
ord :d5, "Tabella con pesi"
weights :d5 => nil
ord :d5, "Tabella senza pesi"
|
Suggerimento
E’ possibile definire i pesi direttamente nell’istruzione che genera la tabella con il sottocomando w.
Attenzione
Per le batterie di variabili nelle tabelle scale e desc, verranno utilizzati solo i pesi attribuiti alla prima variabile per tutte le variabili della batteria.
force_format¶
Per le variabili stringa e numeriche, conforma i dati al formato specificato dagli attributi, come il tipo di variabile e la dimensione dichiarata.
1 2 | force_format :varname
force_format varlist
|
autoformat_string¶
Analizza i dati delle variabili stringa e assegna la corretta lunghezza alla variabile. :to rende la dimensione un multiplo del numero indicato.
1 2 | autoformat_string :distretto_new, :area_commerciale_new, :siglaprovincia_new
autoformat_string :distretto_new, :area_commerciale_new, :siglaprovincia_new, :to => 10
|
autoformat_num¶
Analizza i dati delle variabili numeriche e assegna il corretto formato alla variabile: tipo, dimensione, decimali.
1 | autoformat_num :tipo_visita, :totale
|
autoconvert_string¶
Analizza il contenuto delle variabili stringa e, se possibile, le converte in variabili numeriche.
Parametri:
- varlist: la lista delle variabili da convertire. Se omessa analizza tutte le variabili stringa
- :drop => varlist: elentuali variabili da escludere
1 | autoconvert_string :drop => [:ser_no, :cap, :tel]
|
float_to_int, float_to_int!¶
Modifica le variabili che contengono valori interi memorizzati come float.
- varlist: la lista delle variabili da convertire. Se omessa analizza tutte le variabili single
Non modifica il tipo (type) della variabile.
La variante float_to_int! modifica le proprietà size e ndec in base ai dati trovati.
group¶
Definisce l’elenco di variabili come un set di variabili.
Parametri:
- varlist|name => varlist: la lista delle variabili con opzionalmente un nome da utilizzare per richiamare il gruppo
- title: l’etichetta del gruppo (opzionale)
1 2 3 | group varlist|name => varlist [, :title => ""]
group s("d30_#_1",15), title: "Dom.30 - Giudizi"
|
Le variabili verranno utilizzate nell’ordine dato.
Suggerimento
autotab può utilizzare queste informazioni per generare automaticamente le tabelle
md_group¶
Definisce l’elenco di variabili come un set di variabili multidicotomy.
Parametri:
- varlist|name => varlist: la lista delle variabili con opzionalmente un nome da utilizzare nell’istruzione md
- noresp: i nomi delle variabili o gli ordinali delle variabili o un numero negativo da considerare come mancata risposta (opzionale)
- title: l’etichetta del gruppo (opzionale)
- label: l’etichetta di ciascuna variabile del gruppo (opzionale)
- labels: le etichette degli item (opzionale)
- code: il codice da etichettare (default: il parametro di configurazione md_true_value)
1 2 3 4 5 6 7 8 9 10 | md_group varlist|name => varlist [, :noresp => vars, :title => "", :label => "", :labels => [], :code => n, :sep => '']
md_group s(:d7_,9), :noresp => 9
md_group :g13 => s(:v13_,1..12, 98), :noresp => -1, :label => "D13. Etichetta gruppo"
md :g13
# equivale a:
md s(:v13_,1..12, 98) do
noresp -1
end
|
Le variabili verranno utilizzate nell’ordine dato.
Suggerimento
autotab può utilizzare queste informazioni per generare automaticamente le tabelle
find_md¶
Identifica automaticamente i set di variabili multidicotomy.
Argomenti:
- l’elenco dei nomi delle variabili
- :force => true|false: determina se agire anche sulle variabili già identificate come multidicotomy (default true)
find_mc¶
Identifica automaticamente i set di variabili multicategory.
Argomenti:
- l’elenco dei nomi delle variabili
- :force => true|false: determina se agire anche sulle variabili già identificate come multicategory (default true)
missing¶
Considera i valori elencati come valori mancati.
I range sono interpretati come intervalli di interi. Se si indica più di un valore, i valori vanno messi tra parentesi quadre (Array).
1 2 3 4 5 6 7 | missing [:d1, :d2, :d3] => 9
missing :d1 => [7,8]
missing :d1 => 7..9
# elimina la definizione dei valori mancanti
missing [:d1, :d2] => nil
missing [:d1, :d2] => []
|
missing_¶
Elimina la definizione dei valori mancanti.
1 2 3 4 5 | missing_ :d1, :d2
# equivale a:
missing [:d1, :d2] => nil
missing [:d1, :d2] => []
|
missing!¶
Assegna nil (blank) ai valori indicati.
Agisce ricodificando le variabili, non è possibile annullare l’azione e ripristinare i valori validi.
:drop => true elimina le etichette corrispondenti ai valori indicati.
1 2 | missing! [:d3, :d4] => 0
missing! :d1 => [8,9], :drop => true
|
missing_0¶
Definisce come valori mancati i livelli della variabile con numerosità pari a zero.
1 2 | missing_0 :d1
missing_0 :d1, :d2, :d3
|
missing_n¶
Definisce come valori mancati i livelli della variabile con numerosità minore o uguale al valore.
1 2 | missing_n :d1 => 10
missing_n [:d1, :d2, :d3] => 10
|
alt_name¶
Assegna un nome alternativo alla variabile.
L’attributo source_name o alt_name della variabie è valorizzato, all’apertura del file di dati, con il nome originario della variabile.
Al salvataggio dei dati è possibile utilizzare questo nome (vedi il parametro :alt_name => false|true del metodo save).
L’attributo alt_name non viene copiato nella nuova variabile dalla funzione copy.
1 2 3 4 5 | alt_name varlist => nameslist
alt_name [:sesso, :area] => ["Sex", "Area Geo"]
alt_name :v5_1 => "V5.1"
alt_name :v10_1 => "V10#1"
|
validate¶
validate esegue alcuni controlli relativi alle variabili e produce una tabella con i risultati. La variante validate! interrompe l’esecuzione dello script in caso di errori.
Argomenti:
- l’elenco dei nomi delle variabili (default tutte)
- :empty => true|false: esegue anche il controllo delle variabili senza casi e dei livelli senza casi (default false)