Creazione di stringhe con paste() e paste0()
Concateni stringhe con separatori usando paste e paste0.
Creazione di stringhe con paste() e paste0() è una lezione R Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento R Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso R Academy include 4 lezioni in totale.
Nozioni di base su paste()
paste() converte i propri argomenti in stringhe di caratteri e li concatena usando un separatore. Per impostazione predefinita, il separatore è uno spazio singolo ' '. È la funzione più versatile di base R per creare stringhe.
paste('Hello', 'World')
paste('User', 'ID', ':', 42)
paste('R', 'version', '4.3.1')paste0() — scorciatoia senza separatore
paste0() è identica a paste(..., sep=''). Concatena le stringhe senza alcun separatore tra loro. È la funzione ideale per creare programmaticamente percorsi di file, nomi di colonne o URL.
paste0('file_', 1:5, '.csv')
paste0('col_', c('a', 'b', 'c'))
paste0('/home/user/', 'data.csv')Cambiare il separatore con sep
L'argomento sep controlla ciò che viene inserito tra ciascun argomento. Lo usi per creare righe CSV, percorsi di file, stringhe di date o qualsiasi output delimitato.
# Hyphen-separated date
paste('2024', '05', '29', sep = '-')
# Slash-separated path
paste('home', 'user', 'docs', sep = '/')
# Comma-separated
paste('Alice', 'Bob', 'Carol', sep = ', ')paste() vettorializzata
paste() è vettorializzata: quando riceve dei vettori, abbina gli elementi posizione per posizione, ripetendo ciclicamente i vettori più corti se necessario. Il risultato ha la stessa lunghezza del vettore di input più lungo.
labels <- c('Item', 'Item', 'Item')
numbers <- c(1, 2, 3)
paste(labels, numbers)
# Shorter form using recycling
paste('Item', 1:5)Unire un vettore in un'unica stringa
L'argomento collapse unisce tutti gli elementi del vettore risultato in un'unica stringa, usando il valore di collapse come separatore tra gli elementi. Senza collapse si ottiene un vettore di caratteri; con collapse si ottiene un'unica stringa.
fruits <- c('apple', 'banana', 'cherry')
# Without collapse: character vector of length 3
paste('I like', fruits)
# With collapse: single string
paste('I like', fruits, collapse = ' and ')sep e collapse insieme
Può usare sep e collapse nella stessa chiamata. Prima sep unisce gli elementi dei vettori degli argomenti posizione per posizione, poi collapse unisce il vettore di caratteri risultante in un'unica stringa.
first <- c('John', 'Jane', 'Bob')
last <- c('Doe', 'Smith', 'Brown')
# sep joins first+last, collapse joins all three names
paste(first, last, sep = ' ', collapse = ', ')paste0() per creare nomi di variabili
paste0() viene comunemente usata per creare programmaticamente nomi di variabili o colonne, percorsi di file e stringhe simili a SQL senza l'ingombro dei separatori.
# Build column names
col_names <- paste0('Q', 1:5, '_score')
print(col_names)
# Build file paths
years <- 2020:2023
files <- paste0('data/report_', years, '.csv')
print(files)Coercizione numerica in paste()
paste() converte automaticamente numeri, valori logici e altri tipi in stringhe di caratteri. Non è necessario chiamare prima as.character(): paste() gestisce la conversione in modo trasparente.
n <- 42
pi_val <- 3.14159
flag <- TRUE
paste('Count:', n)
paste('Pi =', pi_val)
paste('Active:', flag)
paste0('n=', n, ' pi=', round(pi_val, 2))Creare righe simili a CSV
Combini paste() vettorializzata con collapse = ',' per creare semplici stringhe di output in formato CSV da un data frame senza caricare pacchetti esterni.
names_vec <- c('Alice', 'Bob', 'Carol')
scores_vec <- c(85, 92, 78)
rows <- paste(names_vec, scores_vec, sep = ',')
cat(paste(rows, collapse = '\n'))Gestione di NA in paste()
A differenza di molte funzioni R, paste() converte NA nella stringa letterale 'NA' invece di propagare il valore mancante. È utile, ma può sorprendere chi si aspetta una gestione silenziosa dei valori mancanti.
x <- c('Hello', NA, 'World')
paste(x, '!')
# NA becomes the string 'NA'
result <- paste0('Value: ', NA)
print(result)
print(class(result))Modelli pratici: paste() nei report
paste() è particolarmente utile per generare stringhe leggibili nei report. Combini paste0(), round() e paste() con collapse per creare frasi riepilogative a partire dai dati.
mean_score <- 83.7
n_students <- 28
high_score <- 99
msg <- paste0(
'Class summary: ', n_students, ' students, ',
'mean score ', round(mean_score, 1), ', ',
'top score ', high_score, '.'
)
cat(msg)Verifica rapida
Che cosa fa l'argomento collapse di paste()?
paste() e paste0(): concetti chiave
Concetti chiave per paste() e paste0():
paste(a, b)unisce con uno spazio;paste0(a, b)unisce senza separatoresepcontrolla la stringa inserita tra ciascun argomentocollapseriduce il vettore risultante a un'unica stringa- Entrambe le funzioni sono vettorializzate e ripetono ciclicamente gli argomenti più corti
NAviene convertito nella stringa letterale'NA'- Numeri e valori logici vengono convertiti automaticamente in caratteri
# sep vs collapse at a glance
x <- c('a', 'b', 'c')
y <- c(1, 2, 3)
cat('paste (sep=-) :', paste(x, y, sep = '-'), '\n')
cat('paste (collapse):', paste(x, collapse = '+'), '\n')
cat('paste0 :', paste0(x, y), '\n')Domande Frequenti
La lezione «Creazione di stringhe con paste() e paste0()» è gratuita?
Sì — il testo completo di «Creazione di stringhe con paste() e paste0()» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso R Academy, passa a CoddyKit PRO. Il corso R Academy include 4 lezioni in totale.
Cosa imparerò in «Creazione di stringhe con paste() e paste0()»?
Concateni stringhe con separatori usando paste e paste0. Eserciti R Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare R Academy?
Non è richiesta alcuna esperienza precedente. R Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Creazione di stringhe con paste() e paste0()»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione R Academy?
Sì. Ogni lezione R Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Creazione di stringhe con paste() e paste0()
- Output formattato con sprintf()
- Visualizzazione dell'output con cat() e print()
- Riempimento e allineamento delle stringhe