Net

net_pos

Il parametro di configurazione net_pos determina la posizione dei net: :before, :after, :top, :bottom. Il default è :before.

1
 net_pos :top

netonly

Il parametro di configurazione netonly permette di mostrare nella tabella solo i net. Il default è false.

1
 netonly!

netstyle

Di default i net vengono differenziati graficamente dagli altri item. netstyle permette di disattivare gli stili attribuiti ai net e il rientro delle voci apparteneti a un net.

1
2
3
4
5
6
7
8
9
 # Gli item 1 e 6 vengono raggruppati in un net, ma poi vengono nascosti e viene
 # visualizzato solo il net come se fosse un normale item
 net_pos :bottom
 netstyle_
 cat :d5 do
   net "Non indica" => [1,6]
   hide [1,6]
 end
 netstyle!

Tabelle di risposte singole

Nelle tabelle di variabili singole (ord e cat) è possibile generare aggregazioni di item su un solo livello.

net

Il sottocomando net aggiunge delle aggregazioni delle righe della tabella. I livelli da aggregare vanno indicati utilizzando l’indice della posizione.

L’elenco dei livelli può essere indicato come vettore [2,3,4] o come range (2..4).

E’ possibile anche utilizzare una stringa contente un’espressione da calcolare sulle righe della tabella. L’espressione verrà calcolata sui valori assoluti delle righe della tabella e sui risultati saranno calcolate le restanti statistiche. Eventuali costati numeriche devono essere precedute dal carattere cancelletto #. L’espressione può contenere operatori aritmetici "4+5", parentesi "(4+5)-(2+3)", costanti "(4+5)*#2" e funzioni R "sqrt(5+4)".

Il parametro opzionale :stats permette di limitare le statistiche da mostrare per i net.

E’ possibile specificare più sottocomandi net per tabella.

Se i livelli dei net non sono in sequenza o se si utilizzano espressioni, il parametro net_pos può essere impostato solo cone :top o :bottom.

1
2
3
4
5
 net_pos :after
 cat :d5, "D5. Singola + NET" do
   net "NON D'ACCORDO" => (1..3), "D'ACCORDO" => [4,5], :stats => [:rowpct, :colpct]
   net "D'ACCORDO - NON D'ACCORDO" => "(4+5)-(1+2+3)", :stats => :colpct
 end

net_from_groups

Genera automaticamente i net di una variabile desumendoli dai dati in base a una variabile di raggruppamento.

1
2
3
 cat :modelli do
   net net_from_groups(:modelli, :marche)
 end

Di default i net vengono costruiti in base all’elenco dei valori (:as_list), per utilizzare invece i range, indicare l’opzione :as_range.

1
2
3
4
5
 debug net_from_groups(:modelli, :marche, :as_list)
 # <Hash> {"MARCA 1"=>[1, 2, 3], "MARCA 2"=>[4, 5, 6, 7, 8], ...

 debug net_from_groups(:modelli, :marche, :as_range)
 # <Hash> {"MARCA 1"=>1..3, "MARCA 2"=>4..8, ...

Avvertimento

Eventuali livelli senza casi della variabile verranno rimossi (drop_levels).

Tabelle di risposte multiple

Nelle tabelle di variabili multidicotomy (md) è possibile generare aggregazioni di item su più livelli (net e subnet).

nets

nets costruisce un oggetto con la struttura di net desiderata. Va definito prima della tabella. Un net può essere formato sia da semplici variabili, sia da altri net (subnet). I net sono a tutti gli effetti delle variabili aggiunte al data frame, pertanto sono disponibili per più tabelle e anche per essere utilizzate singolarmente.

Il valore contato è quello definito dalle istruzioni md_ft o md_tf (default 1).

Il valore generato nel net è quello definito dalle istruzioni md_ft o md_tf (default 1).

Parametri:

  • :name: la radice del nome da utilizzare per generare le variabili net. Se non specificato viene venerata automaticamente.
  • :code: il valore da contare (code: codice) o il valore da contare e il valore da imputare nel net code: {codice => nuovo_valore}.
  • :nocode: il valore da contare (code: codice).

Sottocomandi:

  • net: genera un nuovo net. Deve specificare l’etichetta del net e opzionalmente l’elenco delle variabili. E’ possibile specificare un blocco (do) in cui specificare ulteriori subnet e/o variabili
  • var: inserisce una o più variabili nella posizione indicata
  • none: un net che conteggia le osservazioni che non hanno attivato nessuna variabile della lista. Deve specificare l’etichetta del net e opzionalmente l’elenco di variabili. Se le variabili non vengono specificate, none utilizza tutte le variabili indicate nelle precedenti istruzioni net e var. Questo net non viene conteggiato nel numero medio delle risposte.

E’ possibile indicare il valore da contare anche direttamente nei sottocomandi net e none, indicando il valore prima dell’elenco delle variabili.

E’ possibile indicare sia il valore da contare che il valore da imputare nel net anche direttamente nel sottocomando net, indicando {codice => nuovo_valore} prima dell’elenco delle variabili.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
nome_net = nets(options={}) do
  net "Etichetta" [, codice][, elenco_variabili] do
    net "Etichetta", [, codice]elenco_variabili
    var elenco_variabili
    net "Etichetta" [, codice][, elenco_variabili] do
      net ...
      var ...
    end
  end
  none "NESSUNA CITAZIONE"
end

md nome_net, "Multipla con net"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
n7 = nets(name: "net_d7", code: 2, nocode: 1) do
  net "TOT. CITAZIONI", s(:d7_,3) do
    net "AMICI/FAMIGLIA", :d7_4, :d7_7, :d7_8
    net "SVAGO" do
      net "SVAGO 1", :d7_5, :d7_6
      net "SVAGO 2", :d7_9, :d7_10
    end
    var :d7_11, :d7_12
  end
  none "NESSUNA CITAZIONE"
end
md n7, "Multipla con net"

L’oggetto restituito dall’istruzione nets (NetTree) dispone di metodi che possono essere utilizzati a scopo informativo o in altre istruzioni.

Metodi dell’oggetto NetTree:

  • info: stampa nel log la struttura dei net
  • netvarlist: restituisce l’elenco delle nuove variabili create (net)
  • varlist: restituisce l’elenco delle variabili utilizzate nelle istruzioni net e var
  • varlist(:all): restituisce l’elenco delle variabili utilizzate nelle istruzioni net, var e none
  • to_var: restituisce l’elenco dei nomi di variabili/net di primo livello. E’ il metodo chiamato da md per generare la tavola
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
n7.info
#< (1) [any] level: 1, parent: 0, node: 1, name: n_bffbg9_1, label: "TOT. CITAZIONI", vars: [d7_1, d7_2, d7_3, n_bffbg9_2, n_bffbg9_3] >
#< (2) [any] level: 2, parent: 1, node: 2, name: n_bffbg9_2, label: "AMICI/FAMIGLIA", vars: [d7_4, d7_7, d7_8] >
#< (3) [any] level: 2, parent: 1, node: 3, name: n_bffbg9_3, label: "SVAGO", vars: [d7_5, d7_6, d7_9, d7_10] >
#< (4) [not] level: 1, parent: 0, node: 4, name: n_bffbg9_4, label: "NESSUNA CITAZIONE", vars: [d7_1, d7_2, d7_3, d7_4, d7_7, d7_8, d7_5, d7_6, d7_9, d7_10] >
#< (5) [var] level: 1, parent: 0, vars: [d7_99] >

debug n7.netvarlist
#<Array> ["n_bffbg9_1", "n_bffbg9_2", "n_bffbg9_3", "n_bffbg9_4"]

hcm n7.netvarlist

Sintassi alternativa

Attenzione

A net.new e net.none va preferita la nuova sintassi nets.

net.new

I net devono essere definiti prima della tabella tramite l’istruzione net.new. Un net può essere formato sia da semplici variabili, sia da altri net (subnet): l’elenco di variabili di net.new può contenere nomi di variabili e nomi di net. I net sono a tutti gli effetti delle variabili aggiunte al data frame, pertanto sono disponibili anche per più tabelle.

Il valore contato è quello definito dalle istruzioni md_ft o md_tf (default 1).

Il valore generato nel net è quello definito dalle istruzioni md_ft o md_tf (default 1).

E’ possibile indicare esplicitamente il valore da contare direttamente nell’istruzione net.new, indicando il valore prima dell’elenco delle variabili.

E’ possibile indicare esplicitamente sia il valore da contare che il valore da imputare nel net direttamente nell’istruzione net.new indicando {codice => nuovo_valore} prima dell’elenco delle variabili.

Nell’istruzione md dovranno comparire solo i nomi di variabili non appartenenti ai net e i net di più alto livello (non i subnet).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 net.new  nome_net, "Etichetta", elenco_variabili/subnet
 net.new  nome_net, "Etichetta", codice, elenco_variabili/subnet
 net.new  nome_net, "Etichetta", {codice => nuovo_codice}, elenco_variabili/subnet

 net.new  :n7_11, "AMICI/FAMIGLIA",    :d7_4,:d7_7,:d7_8
 net.new  :n7_12, "SVAGO",             :d7_5,:d7_6,:d7_9,:d7_10
 net.new  :n7_1,  "TOT. CITAZIONI",    s(:d7_,1..3,:n7_11,:n7_12)

 md [:n7_1,:d7_98], "Domanda D7"

 # conta il codice 2
 net.new  :n1, "Etichetta", 2, s(:x7_,10)
 # conta il codice 1 e crea un net con il codice 2
 net.new  :n2, "Etichetta", {1 => 2}, s(:x7_,10)

net.none

Genera un net che conteggia le osservazioni che non hanno attivato nessuna variabile/subnet della lista. Questo net non viene conteggiato nel numero medio delle risposte.

Il valore generato nel net è quello definito dalle istruzioni md_ft o md_tf (default 1).

E’ possibile indicare esplicitamente il valore da contare direttamente nell’istruzione net.none, indicando il valore prima dell’elenco delle variabili.

1
2
3
4
5
6
 ...
 net.none :n7_0,  "NESSUNA CITAZIONE", s(:d7_,1..10)

 md [:n7_1,:n7_0], "Domanda D7"

 net.none :n7, "NESSUNA CITAZIONE", 0, s(:d7_,1..10)