Sapere inserire a mano i dati in R può essere utile. Per questo ho predisposto due esempi che illustrano la sintassi da utilizzare per inserire direttamente da tastiera array (vettori) e combinarli in matrici o tabelle [1] assegnando i nomi alle variabili e ai casi.
Questo script genera una matrice di due righe per due colonne. Si tratta della struttura dati tipica necessaria per
effettuare
il test chi-quadrato, per effettuare il test di Fisher, il test di McNemar o
impiegare il teorema di Bayes [2].
Copiate lo script, incollatelo nella Console di R
e premete ↵ Invio.
#
DA QUATTRO VALORI GENERA UNA MATRICE 2x2
#
cells
<- c(1, 26, 24, 68) # genera l'array cells con i valori numerici contenuti nelle celle
cells # mostra l'array cells
#
rnames
<- c("Riga 1", "Riga 2") # genera l'array rnames con i nomi delle righe
rnames # mostra l'array rnames
#
cnames
<- c("Colonna 1", "Colonna 2") # genera l'array cnames con i nomi delle colonne
cnames # mostra l'array cnames
#
mymatrix
<- matrix(cells, nrow=2, ncol=2, byrow=TRUE, dimnames=list(rnames,
cnames)) # costruisce la matrice a partire dagli array cells, rnames, cnames
mymatrix # mostra la matrice
#
Dopo
avere eseguito lo script utilizzate i tasti Pag-su e Pag-giù per
scorrere nella finestra della Console di R quanto è accaduto.
Mediante la funzione c() [3] sono generati gli
array che mediante l'operatore di assegnamento <-
vengono denominati cells, rnames,
cnames e
contengono rispettivamente i dati (cells),
i nomi delle righe (rnames) e i
nomi delle colonne (cnames).
Mediante
la funzione matrix()
[4] gli array sono combinati nella matrice mymatrix
di 2 righe (nrow=2)
per due colonne (ncol=2)
inserendo i valori per riga (byrow=TRUE)
e quindi da sinistra a destra e dall'alto in basso ottenendo quindi
la matrice desiderata alla quale con l'ultimo argomento
(dimnames=list(rnames, cnames))
sono assegnati i nomi alle righe e alle colonne.
Questo
è il contenuto dell'oggetto mymatrix
definitivo riportato da R al termine dell'elaborazione dopo
l'ultimo comando mymatrix:
> mymatrix
Colonna 1 Colonna 2
Riga 1 1 26
Riga 2 24 68
Quest'altro
script genera una tabella (dataframe)
che contiene valori numerici, alfanumerici e logici, e assegna i nomi
alle variabili (colonne).
Copiatelo per intero quindi incollatelo nella Console di R e premete
↵ Invio:
#
GENERA UNA TABELLA (DATAFRAME) DI 3
COLONNE PER 4 RIGHE
#
d
<- c(9901, 9902, 9903, 9904) # genera un array con quattro valori numerici
d # mostra l'array d
#
e
<- c("rosso", "bianco", "blu", NA) # genera un array con quattro valori alfanumerici, NA=Not Available
e #
mostra l'array e
#
f
<- c(TRUE,TRUE,TRUE,FALSE) # genera un array con quattro valori logici
f #
mostra l'array f
#
mytable <- data.frame(d, e, f) # genera una tabella (dataframe) a partire dagli array d, e, f
mytable # mostra il contenuto della tabella
#
names(mytable) <- c("Codice", "Colore", "Dato
valido") # assegna i nomi alle variabili/colonne
row.names(mytable) <- c("A", "B", "C", "D") # sostituisce gli identificativi numerici di riga di R con nuovi descrittori univoci dei casi/righe
mytable # mostra il contenuto della tabella
#
Dopo
avere eseguito lo script utilizzate casi i tasti Pag-su e Pag-giù
per scorrere nella finestra della Console di R quanto è accaduto.
Qui
di nuovo con la funzione c() sono
generati gli array che mediante l'operatore di assegnamento <-
vengono denominati d, e,
f e che
subito dopo sono combinati mediante la funzione data.frame()
nella tabella mytable.
Successivamente con la funzione names() sono generati i nomi che vengono assegnati alle colonne/variabili della tabella
e con la funzione row.names() sono sostituiti gli identificativi numerici assegnati di default ai casi/righe.
Questo
è il contenuto dell'oggetto definitivo riportato al termine dell'elaborazione dopo
l'ultimo comando mytable:
> mytable # mostra il contenuto della tabella
Codice Colore Dato valido
A 9901 rosso TRUE
B 9902 bianco TRUE
C 9903 blu TRUE
D 9904 <NA> FALSE
Anche
se il significato dei vari passaggi è stato illustrato con i commenti inclusi negli script, si ricordano alcune regole generali:
→ i
nomi assegnati agli oggetti che vengono generati (cells,
rnames, d, f, mytable e quant'altro) possono essere stabiliti liberamente;
→ potete stabilire liberamente anche i nomi da assegnare alle colonne/variabili e ai casi/righe;
→ per
vedere il contenuto di un oggetto è sufficiente digitare nella
Console di R il nome dell'oggetto;
→ una tabella per definizione può contenere sia valori numerici, sia valori
alfanumerici (stringhe di testo), sia valori logici;
→ se un dato non è disponibile, al posto del dato va inserita la sigla NA (Not Available).
Se siete interessati al tema potrebbero esservi utili anche gli esempi riportati in:
----------
[1] Parliamo di array o vettore nel caso di dati numerici monodimensionali, disposti su una sola riga,
8 | 6 | 11 | 7 |
di matrice nel caso di dati numerici disposti su più righe e più colonne
8 | 9 | 15 | 14 |
6 | 7 | 18 | 12 |
11 | 8 | 17 | 13 |
7 | 4 | 19 | 17 |
e di tabella nei casi in cui il contenuto, disposto su più righe e più colonne, è rappresentato oltre che da dati numerici, anche da testo e/o operatori logici
M | 7 | 9 | VERO |
F | 3 | 12 | VERO |
F | 5 | 10 | FALSO |
[2] Vedere le rispettive voci alla pagina Indice.
[3]
Digitate help(c)
nella
Console di R per
la documentazione della funzione c().
[4] Digitate help(matrix) nella Console di R per la documentazione della funzione matrix.
Nessun commento:
Posta un commento