Indice
Vettori carattere
Vedi anche "Stringhe", in R for Data Science - Edizione italiana.
I vettori carattere sono vettori composti da caratteri, parole, o stringhe di testo.
Inserimento di elementi di testo
Gli elementi di testo devono sempre essere digitati fra virgolette, in modo da distinguerli dagli oggetti di R.
> a
Error: object 'a' not found
> "a"
[1] "a"
Si possono usare indifferentemente virgolette ("
) o apici ('). Questo comando:
> "una stringa è un insieme di parole"
e questo comando vengono interpretati allo stesso modo:
> 'una stringa è un insieme di parole'
[1] "una stringa è un insieme di parole"
È necessario, in ogni caso, usare gli apici e le virgolette in modo uniforme:
> "una stringa è un insieme di parole'
Error: Incomplete expression: 'una stringa è un insieme di parole"
escape character
Per inserire le virgolette (e altri caratteri speciali) all'interno di una stringa, bisogna in linea di massima farli precedere da '\' (escape character):
> "ho detto: \"una stringa è un insieme di caratteri\""
[1] "ho detto: \"una stringa è un insieme di caratteri\""
Per evitare di dover usare l'\\escape character\\, basta alternare apici (per delimitare la stringa) e virgolette (all'interno), o viceversa. Ad esempio:
> 'ho detto: "una stringa è un insieme di caratteri"'
[1] "ho detto: \"una stringa è un insieme di caratteri\""
oppure
> "ho detto: 'una stringa è un insieme di caratteri'"
[1] "ho detto: 'una stringa è un insieme di caratteri'"
Caratteri 'invisibili'
Alcuni caratteri, preceduti da \
rappresentano dei comandi, e possono non essere visualizzati (oppure apparire “a sorpresa”):
spazio | \s |
nuova riga (si veda: Ritorno a capo) | \n , \r , \r\n |
tabulazione | \t |
Ad esempio, se copiamo e incolliamo i primi tre versi de L'Infinito di Giacomo Leopardi (su Wikipedia), in questo modo (non dimentichiamo il carattere di escape!):
> frase <- "Sempre caro mi fu quest\'ermo colle, e questa siepe, che da tanta parte dell\'ultimo orizzonte il guardo esclude."
otterremo:
> frase
[1] "Sempre caro mi fu quest'ermo colle,\ne questa siepe, che da tanta parte\ndell'ultimo orizzonte il guardo esclude."
La funzione cat()
Per visualizzare i versi così come li abbiamo inseriti, dobbiamo scrivere:
> cat(frase)
Sempre caro mi fu quest'ermo colle, e questa siepe, che da tanta parte dell'ultimo orizzonte il guardo esclude.
cat()
è una funzione che unisce e stampa oggetti di R, “così come sono”, ed è molto utile per visualizzare o anche inserire stringhe di testo in altri oggetti.
I vettori carattere
Un vettore carattere si costruisce con la funzione di concatenamento, come tutti gli altri vettori:
> Eta <- c("giovani", "adulti", "anziani", "anziani", "giovani") > Eta
[1] "giovani" "adulti" "anziani" "anziani" "giovani"
Una particolarità dei vettori carattere è che, se inseriamo elementi di tipo diverso in un unico vettore, questo verrà interpretato come di tipo “character”:
> vettore <- c(1, "a") > class(vettore)
[1] "character"
> typeof(vettore)
[1] "character"
Qualunque tipo di vettore può infatti essere trasformato in vettore carattere (mentre non tutti i vettori possono essere trasformati in numerici, ad esempio), con as.character()
:
# un vettore numerico > vettoren <- c(1, 5, 8, 9, 3) > as.character(vettoren)
[1] "1" "5" "8" "9" "3"
È questa la ragione per cui, di tanto in tanto, nell'importare dei dati in R, troviamo come variabili di testo (tipicamente) le date.