R - Stringhe

Qualsiasi valore scritto all'interno di una coppia di virgolette singole o doppie in R viene trattato come una stringa. Internamente R memorizza ogni stringa tra virgolette doppie, anche quando le crei con virgolette singole.

Regole applicate nella costruzione di stringhe

  • Le virgolette all'inizio e alla fine di una stringa devono essere entrambe virgolette doppie o entrambe virgolette singole. Non possono essere mescolati.

  • Le virgolette doppie possono essere inserite in una stringa che inizia e finisce con virgolette singole.

  • Le virgolette singole possono essere inserite in una stringa che inizia e finisce con virgolette doppie.

  • Le virgolette doppie non possono essere inserite in una stringa che inizia e finisce con virgolette doppie.

  • Le virgolette singole non possono essere inserite in una stringa che inizia e finisce con virgolette singole.

Esempi di stringhe valide

I seguenti esempi chiariscono le regole sulla creazione di una stringa in R.

a <- 'Start and end with single quote'
print(a)

b <- "Start and end with double quotes"
print(b)

c <- "single quote ' in between double quotes"
print(c)

d <- 'Double quotes " in between single quote'
print(d)

Quando viene eseguito il codice precedente, otteniamo il seguente output:

[1] "Start and end with single quote"
[1] "Start and end with double quotes"
[1] "single quote ' in between double quote"
[1] "Double quote \" in between single quote"

Esempi di stringhe non valide

e <- 'Mixed quotes" 
print(e)

f <- 'Single quote ' inside single quote'
print(f)

g <- "Double quotes " inside double quotes"
print(g)

Quando eseguiamo lo script non riesce a fornire i risultati seguenti.

Error: unexpected symbol in:
"print(e)
f <- 'Single"
Execution halted

Manipolazione delle stringhe

Concatenazione di stringhe - funzione paste ()

Molte stringhe in R vengono combinate usando il paste()funzione. Può richiedere un numero qualsiasi di argomenti per essere combinati insieme.

Sintassi

La sintassi di base per la funzione Incolla è:

paste(..., sep = " ", collapse = NULL)

Di seguito la descrizione dei parametri utilizzati:

  • ... rappresenta un numero qualsiasi di argomenti da combinare.

  • seprappresenta qualsiasi separatore tra gli argomenti. È facoltativo.

  • collapseviene utilizzato per eliminare lo spazio tra due stringhe. Ma non lo spazio all'interno di due parole di una stringa.

Esempio

a <- "Hello"
b <- 'How'
c <- "are you? "

print(paste(a,b,c))

print(paste(a,b,c, sep = "-"))

print(paste(a,b,c, sep = "", collapse = ""))

Quando eseguiamo il codice sopra, produce il seguente risultato:

[1] "Hello How are you? "
[1] "Hello-How-are you? "
[1] "HelloHoware you? "

Formattazione di numeri e stringhe - funzione format ()

Numeri e stringhe possono essere formattati con uno stile specifico utilizzando format() funzione.

Sintassi

La sintassi di base per la funzione di formato è:

format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))

Di seguito la descrizione dei parametri utilizzati:

  • x è l'input vettoriale.

  • digits è il numero totale di cifre visualizzate.

  • nsmall è il numero minimo di cifre a destra del punto decimale.

  • scientific è impostato su TRUE per visualizzare la notazione scientifica.

  • width indica la larghezza minima da visualizzare riempiendo gli spazi all'inizio.

  • justify è la visualizzazione della stringa a sinistra, a destra o al centro.

Esempio

# Total number of digits displayed. Last digit rounded off.
result <- format(23.123456789, digits = 9)
print(result)

# Display numbers in scientific notation.
result <- format(c(6, 13.14521), scientific = TRUE)
print(result)

# The minimum number of digits to the right of the decimal point.
result <- format(23.47, nsmall = 5)
print(result)

# Format treats everything as a string.
result <- format(6)
print(result)

# Numbers are padded with blank in the beginning for width.
result <- format(13.7, width = 6)
print(result)

# Left justify strings.
result <- format("Hello", width = 8, justify = "l")
print(result)

# Justfy string with center.
result <- format("Hello", width = 8, justify = "c")
print(result)

Quando eseguiamo il codice sopra, produce il seguente risultato:

[1] "23.1234568"
[1] "6.000000e+00" "1.314521e+01"
[1] "23.47000"
[1] "6"
[1] "  13.7"
[1] "Hello   "
[1] " Hello  "

Conteggio del numero di caratteri in una funzione stringa - nchar ()

Questa funzione conta il numero di caratteri inclusi gli spazi in una stringa.

Sintassi

La sintassi di base per la funzione nchar () è:

nchar(x)

Di seguito la descrizione dei parametri utilizzati:

  • x è l'input vettoriale.

Esempio

result <- nchar("Count the number of characters")
print(result)

Quando eseguiamo il codice sopra, produce il seguente risultato:

[1] 30

Modifica delle maiuscole e minuscole - funzioni toupper () e tolower ()

Queste funzioni cambiano il caso dei caratteri di una stringa.

Sintassi

La sintassi di base per le funzioni toupper () e tolower () è:

toupper(x)
tolower(x)

Di seguito la descrizione dei parametri utilizzati:

  • x è l'input vettoriale.

Esempio

# Changing to Upper case.
result <- toupper("Changing To Upper")
print(result)

# Changing to lower case.
result <- tolower("Changing To Lower")
print(result)

Quando eseguiamo il codice sopra, produce il seguente risultato:

[1] "CHANGING TO UPPER"
[1] "changing to lower"

Estrazione di parti di una funzione stringa - sottostringa ()

Questa funzione estrae parti di una stringa.

Sintassi

La sintassi di base per la funzione substring () è:

substring(x,first,last)

Di seguito la descrizione dei parametri utilizzati:

  • x è l'input del vettore di caratteri.

  • first è la posizione del primo carattere da estrarre.

  • last è la posizione dell'ultimo carattere da estrarre.

Esempio

# Extract characters from 5th to 7th position.
result <- substring("Extract", 5, 7)
print(result)

Quando eseguiamo il codice sopra, produce il seguente risultato:

[1] "act"