Construire des chaînes avec paste() et paste0()
Concaténez des chaînes avec des séparateurs à l’aide de paste et paste0.
Construire des chaînes avec paste() et paste0() est une leçon R Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage R Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours R Academy comprend 4 leçons au total.
Bases de paste()
paste() convertit ses arguments en chaînes de caractères et les concatène avec un séparateur. Par défaut, le séparateur est une seule espace ' '. C'est la fonction de construction de chaînes la plus polyvalente de R de base.
paste('Hello', 'World')
paste('User', 'ID', ':', 42)
paste('R', 'version', '4.3.1')paste0() — raccourci sans séparateur
paste0() est identique à paste(..., sep=''). Elle concatène les chaînes sans aucun séparateur entre elles. C'est la fonction à privilégier pour construire des chemins de fichiers, des noms de colonnes ou des URL par programmation.
paste0('file_', 1:5, '.csv')
paste0('col_', c('a', 'b', 'c'))
paste0('/home/user/', 'data.csv')Modifier le séparateur avec sep
L'argument sep contrôle ce qui est placé entre chaque argument. Utilisez-le pour construire des lignes CSV, des chemins de fichiers, des chaînes de dates ou toute sortie délimitée.
# Hyphen-separated date
paste('2024', '05', '29', sep = '-')
# Slash-separated path
paste('home', 'user', 'docs', sep = '/')
# Comma-separated
paste('Alice', 'Bob', 'Carol', sep = ', ')paste() vectorisée
paste() est vectorisée : lorsqu'elle reçoit des vecteurs, elle associe les éléments position par position (en répétant les vecteurs les plus courts si nécessaire). Le résultat a la même longueur que le plus long vecteur d'entrée.
labels <- c('Item', 'Item', 'Item')
numbers <- c(1, 2, 3)
paste(labels, numbers)
# Shorter form using recycling
paste('Item', 1:5)Réduire un vecteur à une seule chaîne
L'argument collapse réunit tous les éléments du vecteur de résultat en une seule chaîne, en utilisant la valeur de collapse comme séparateur entre les éléments. Sans collapse, vous obtenez un vecteur de caractères ; avec cet argument, vous obtenez une seule chaîne.
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 et collapse ensemble
Vous pouvez utiliser sep et collapse dans le même appel. D'abord, sep réunit les vecteurs d'arguments élément par élément, puis collapse réunit le vecteur de caractères obtenu en une seule chaîne.
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() pour construire des noms de variables
paste0() sert couramment à construire par programmation des noms de variables ou de colonnes, des chemins de fichiers et des chaînes de type SQL, sans séparateur superflu.
# 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)Conversion numérique dans paste()
paste() convertit automatiquement les nombres, les valeurs logiques et les autres types en chaînes de caractères. Vous n'avez pas besoin d'appeler d'abord as.character() : paste() s'en charge de manière transparente.
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))Créer des lignes de type CSV
Combinez paste() vectorisée avec collapse = ',' pour créer de simples chaînes de sortie CSV à partir d'un cadre de données, sans charger de paquet externe.
names_vec <- c('Alice', 'Bob', 'Carol')
scores_vec <- c(85, 92, 78)
rows <- paste(names_vec, scores_vec, sep = ',')
cat(paste(rows, collapse = '\n'))Gestion de NA dans paste()
Contrairement à de nombreuses fonctions R, paste() convertit NA en chaîne littérale 'NA' au lieu de propager la valeur manquante. C'est utile, mais cela peut surprendre les utilisateurs qui s'attendent à une gestion silencieuse des valeurs manquantes.
x <- c('Hello', NA, 'World')
paste(x, '!')
# NA becomes the string 'NA'
result <- paste0('Value: ', NA)
print(result)
print(class(result))Modèles pratiques : paste() dans les rapports
paste() est particulièrement utile pour générer des chaînes de rapport lisibles. Combinez paste0(), round() et paste() avec collapse pour construire des phrases récapitulatives à partir de données.
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)Vérification rapide
Que fait l'argument collapse de paste() ?
paste() et paste0() : points essentiels
Points essentiels concernant paste() et paste0() :
paste(a, b)réunit avec une espace ;paste0(a, b)réunit sans séparateursepcontrôle la chaîne placée entre chaque argumentcollapseréduit le vecteur obtenu à une seule chaîne- Les deux fonctions sont vectorisées et répètent les arguments les plus courts
NAest converti en chaîne littérale'NA'- Les nombres et les valeurs logiques sont automatiquement convertis en caractères
# 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')Questions Fréquemment Posées
La leçon « Construire des chaînes avec paste() et paste0() » est-elle gratuite ?
Oui — le texte complet de « Construire des chaînes avec paste() et paste0() » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours R Academy, passe à CoddyKit PRO. Le cours R Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Construire des chaînes avec paste() et paste0() » ?
Concaténez des chaînes avec des séparateurs à l’aide de paste et paste0. Tu pratiques R Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer R Academy ?
Aucune expérience préalable n'est requise. R Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Construire des chaînes avec paste() et paste0() » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon R Academy ?
Oui. Chaque leçon R Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Construire des chaînes avec paste() et paste0()
- Sortie mise en forme avec sprintf()
- Afficher la sortie avec cat() et print()
- Remplissage et alignement des chaînes