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]

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)