Come nome dei valori in i vettori in R

Spesso gli elementi di vettori sono indicati con le loro posizioni - cioè, x [5] si riferisce al quinto elemento nel vettore x. Una caratteristica molto potente in R, però, dà i nomi agli elementi di un vettore, che consente di fare riferimento agli elementi in base al nome.

È possibile utilizzare questi vettori chiamati in R per associare i valori di testo (nomi) con qualsiasi altro tipo di valore. Poi si può fare riferimento a questi valori per nome, oltre alla posizione nella lista. Questo formato ha una vasta gamma di applicazioni - per esempio, i vettori chiamati rendono facile creare tabelle di ricerca.

Come vettori di R denominato lavoro

Per illustrare i vettori di nome, dare un'occhiata alle isole dataset built-in, un vettore di nome che contiene la superficie di 48 masse terrestri più grande del mondo (i continenti e grandi isole). È possibile esaminare la struttura con str (), come segue:

> str (isole)
Num nome [1:48] 11506 5500 16988 2968 16 ...
- Attr (*, "nomi") = chr [1:48] "Africa" ​​"Antarctica" "Asia" "Australia" ...

R riporta la struttura di isole come un vettore denominato con 48 elementi. Nella prima riga dei risultati della str (), si vedono i valori dei primi elementi di isole. Sulla seconda riga, R riferisce che il nome vettore ha un attributo che contiene i nomi e le relazioni che i primi elementi sono "Africa", "Antartide", "Asia", e "Australia".

Poiché ogni elemento nel vettore ha un valore e un nome, ora è possibile sottoinsieme il vettore per nome. Per recuperare le dimensioni di Asia, Africa, e l'Antartide, utilizzare il seguente:

> Isole [c ("Asia", "Africa", "Antarctica")]
Asia Africa Antartide
16988 11506 5500

Si utilizza i nomi () per recuperare i nomi in un nome di vettore:

> Nomi (isole) [1: 9]
[1] "Africa" ​​"Antarctica" "Asia"
[4] "Australia" "Axel Heiberg" "Baffin"
[7] "banche" "Borneo" "La Gran Bretagna"

Questa funzione consente di fare ogni genere di cose interessanti. Immaginate che avreste voluto sapere i nomi delle sei isole maggiori. Per fare questo, si dovrebbe recuperare i nomi di isole dopo la cernita in ordine decrescente:

> Nomi (ordinamento (isole, diminuzione = TRUE) [1: 6])
[1] "Asia" "Africa" ​​"North America"
[4] "Sud America" ​​"Antartide" "Europe

Creare e assegnare vettori denominati in R

Si utilizza l'operatore di assegnazione (<-) per assegnare i nomi ai vettori più o meno allo stesso modo in cui si assegnano i valori di vettori di carattere.

Immaginate di voler creare un vettore chiamato con il numero di giorni in ogni mese. In primo luogo, creare un vettore numerica contenente il numero di giorni in ogni mese. Quindi utilizzare il month.name dataset integrato per i nomi dei mesi, come segue:

> Month.days <- c (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
> Nomi (month.days) <- month.name
> month.days
Gennaio Febbraio Marzo Aprile
31 28 31 30
Maggio Giugno Luglio Agosto
31 30 31 31
Settembre Ottobre Novembre Dicembre
30 31 30 31

Ora è possibile utilizzare questo vettore per trovare i nomi dei mesi con 31 giorni:

> Nomi (month.days [month.days == 31])
[1] "Gennaio" "March" "Maggio"
[4] "Luglio" "Agosto" "Ottobre"
[7] "December"

Questa tecnica funziona perché in subset month.days per restituire solo i valori per i quali month.days equivale 31, e poi recuperare i nomi del vettore risultante.

Il segno di uguale doppio (==) indica un test per l'uguaglianza. Assicurarsi di non utilizzare il segno di uguale singolo (=) per il test uguaglianza. Non solo un unico segno di uguale non funzionare, ma può avere effetti collaterali strano perché R interpreta un unico segno di uguale come un incarico. In altre parole, l'operatore = in molti casi è la stessa <-.