# La funzione paste() in R: formattazione e collegamento di elementi

Con `paste()` in R è possibile **combinare** non soltanto sequenze di caratteri, ma anche **valori numerici o altri tipi di dati**. La funzione converte automaticamente gli elementi indicati in stringhe.

## A cosa serve la funzione `paste()` in R?

La funzione `paste()` in R è utilizzata per **combinare elementi e creare sequenze di caratteri**. Essa accetta un numero variabile di argomenti, che possono essere stringhe o altri oggetti dati. Come risultato, `paste()` in R restituisce una sequenza di caratteri che unisce fra loro gli elementi assegnati. La funzione permette la concatenazione in direzione sia orizzontale che verticale.

Grazie alla possibilità di gestire la formattazione della sequenza di caratteri risultante, `paste()` è un’ottima soluzione per l’**elaborazione dei testi in R**. In combinazione con funzioni come `sprintf()` o `paste0()` è inoltre possibile realizzare manipolazioni complesse dei testi e presentare i dati in un formato facilmente leggibile. Alcuni esempi sono la creazione di etichette facilmente comprensibili per gli assi dei grafici, la formattazione di report di output o la composizione di nomi di variabili.

## La sintassi fondamentale di `paste()` in R

La funzione `paste()` offre diversi metodi per la formattazione di sequenze di caratteri, compresa l’opzione di gestire **campi vuoti** o di inserire segnaposti personalizzati.

La sintassi generale è la seguente:

```R
paste(x, sep=" ", collapse=NULL)
```

- **`x`**: il parametro `x` rappresenta gli argomenti da combinare.
- **`sep`**: questo argomento indica il carattere separatore da inserire fra gli elementi combinati. Il valore standard è uno spazio vuoto.
- **`collapse`**: questo parametro unisce gli elementi di un vettore e crea un’unica sequenza di caratteri.

## Applicazione pratica di `paste()` in R

Nelle parti seguenti ti mostriamo alcune tipiche possibilità di applicazione di `paste()` che puoi incontrare nell’elaborazione dei testi e nella visualizzazione dei dati in R.

### Concatenazione semplice

È possibile assegnare elementi alla funzione `paste()` come input senza dover utilizzare i parametri `sep` o `collapse`. Vengono quindi utilizzati i **valori standard**.

```R
result <- paste("Hello", "World")
# result = "Hello World"
```

Il risultato mostra che i due elementi `"Hello"` e `"World"` vengono collegati con uno spazio vuoto per creare un’unica stringa. Il valore standard di `sep` è Whitespace, mentre quello di `collapse` è `NULL`. È possibile assegnare un numero a piacere di argomenti a `paste()` in R e combinarli fra loro.

### Utilizzo del parametro separatore

Per definire il carattere separatore è possibile utilizzare il parametro `sep`.

```R
result <- paste("Apple", "Banana", "Orange", sep = ", ")
# result = "Apple, Banana, Orange"
```

In questo esempio combiniamo le sequenze di caratteri `"Apple"`, `"Banana"` e `"Orange"` con una virgola e uno spazio vuoto come caratteri separatori. Come risultato otteniamo la stringa seguente. In questo caso non abbiamo indicato esplicitamente `collapse`, pertanto viene restituita una sequenza di caratteri in cui gli elementi combinati sono divisi solo dal separatore.

### Utilizzo di `collapse`

Se utilizzi `paste()` in R su un vettore, il parametro separatore `sep` non funziona come previsto. In questi casi si ricorre a `collapse`. Esso rappresenta il simbolo o i valori con cui separare gli elementi nel vettore quando li si combina per ottenere un’unica sequenza di caratteri.

```R
paste(c(0,40,33,15,7,98), collapse = "-")
# result = "0-40-33-15-7-98"
```

Abbiamo impostato il parametro `collapse` su `-`. In pratica, ciascun elemento nel vettore viene separato per mezzo di un trattino di separazione nella stringa risultato.

### Funzione `paste()` con uso simultaneo di `sep` e `collapse`

I parametri `sep` e `collapse` possono essere specificati anche insieme se stai lavorando con dei vettori.

```R
paste(c('a', 'b'), 1:10, sep = '-', collapse = ' and ')
# result = "a-1 and b-2 and a-3 and b-4 and a-5 and b-6 and a-7 and b-8 and a-9 and b-10"
```

Il risultato di questa operazione è una sequenza di caratteri in cui ciascun elemento proveniente dal primo vettore (`'a' 'b'`) è collegato con l’elemento corrispondente del secondo vettore (numeri da 1 a 10).

Consiglio Trovi ulteriori funzioni in R per la manipolazione dei testi, come [substring() in R](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/r-substring/) o [gsub() e sub() in R](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/funzioni-sub-e-gsub-in-r/) nella nostra guida.


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/r-paste/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/r-paste/) for AI/LLM consumption.