0Pricing
R Academy · 강의

paste()와 paste0()로 문자열 만들기

paste와 paste0을 사용하여 구분 기호와 함께 문자열을 연결합니다.

paste()와 paste0()로 문자열 만들기은(는) CoddyKit의 무료 R Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 R Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. R Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

paste() 기초

paste()는 인수를 문자형 문자열로 변환하고 구분자로 연결합니다. 기본 구분자는 단일 공백 ' '입니다. base R에서 문자열을 구성할 때 가장 유연한 함수입니다.

paste('Hello', 'World')
paste('User', 'ID', ':', 42)
paste('R', 'version', '4.3.1')

paste0() — 구분자 없는 단축 함수

paste0()는 paste(..., sep='')와 동일합니다. 문자열 사이에 구분자를 넣지 않고 연결합니다. 프로그래밍 방식으로 파일 경로, 열 이름 또는 URL을 구성할 때 주로 사용하는 함수입니다.

paste0('file_', 1:5, '.csv')
paste0('col_', c('a', 'b', 'c'))
paste0('/home/user/', 'data.csv')

sep로 구분자 변경하기

sep 인수는 각 인수 사이에 배치할 내용을 제어합니다. 이를 사용하여 CSV 행, 파일 경로, 날짜 문자열 또는 구분된 형식의 출력을 구성할 수 있습니다.

# Hyphen-separated date
paste('2024', '05', '29', sep = '-')
# Slash-separated path
paste('home', 'user', 'docs', sep = '/')
# Comma-separated
paste('Alice', 'Bob', 'Carol', sep = ', ')

벡터화된 paste()

paste()는 벡터화되어 있습니다. 벡터를 전달하면 요소를 위치별로 짝지으며, 필요한 경우 더 짧은 벡터를 재활용합니다. 결과의 길이는 입력 벡터 중 가장 긴 벡터의 길이와 같습니다.

labels <- c('Item', 'Item', 'Item')
numbers <- c(1, 2, 3)
paste(labels, numbers)
# Shorter form using recycling
paste('Item', 1:5)

벡터를 하나의 문자열로 합치기

collapse 인수는 결과 벡터의 모든 요소를 하나의 문자열로 합치며, collapse 값은 요소 사이의 구분자로 사용됩니다. collapse가 없으면 문자형 벡터를 얻고, 있으면 하나의 문자열을 얻습니다.

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와 collapse 함께 사용하기

같은 호출에서 sep와 collapse를 모두 사용할 수 있습니다. 먼저 sep가 인수 벡터를 요소별로 연결하고, 그 다음 collapse가 결과 문자형 벡터를 하나의 문자열로 합칩니다.

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() 사용하기

paste0()는 구분자로 인한 불필요한 문자를 넣지 않고 변수 이름이나 열 이름, 파일 경로 및 SQL과 유사한 문자열을 프로그래밍 방식으로 구성할 때 흔히 사용합니다.

# 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)

paste()에서의 수치형 변환

paste()는 수, 논리형 및 기타 형식을 문자형 문자열로 자동 변환합니다. 먼저 as.character()를 호출할 필요가 없습니다. paste()가 이를 투명하게 처리합니다.

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))

CSV와 유사한 행 만들기

벡터화된 paste()와 collapse = ','를 함께 사용하면 외부 패키지를 불러오지 않고도 데이터 프레임에서 간단한 CSV 출력 문자열을 만들 수 있습니다.

names_vec  <- c('Alice', 'Bob', 'Carol')
scores_vec <- c(85, 92, 78)
rows <- paste(names_vec, scores_vec, sep = ',')
cat(paste(rows, collapse = '\n'))

paste()에서 NA 처리하기

많은 R 함수와 달리 paste()는 NA를 결측값으로 전파하지 않고 리터럴 문자열 'NA'로 변환합니다. 유용한 동작이지만 결측값이 조용히 처리될 것이라고 예상하는 사용자에게는 의외일 수 있습니다.

x <- c('Hello', NA, 'World')
paste(x, '!')
# NA becomes the string 'NA'
result <- paste0('Value: ', NA)
print(result)
print(class(result))

실용적인 패턴: 보고서에서 paste() 사용하기

paste는 사람이 읽기 쉬운 보고서 문자열을 생성할 때 특히 유용합니다. paste0(), round(), collapse와 함께 사용하는 paste()를 조합하여 데이터에서 요약 문장을 만들 수 있습니다.

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)

빠른 확인

paste()의 collapse 인수는 어떤 역할을 합니까?

paste()와 paste0(): 핵심 내용

paste()와 paste0()의 핵심 내용:

  • paste(a, b)는 공백으로 연결하고, paste0(a, b)는 구분자 없이 연결합니다.
  • sep는 각 인수 사이에 배치할 문자열을 제어합니다.
  • collapse는 결과 벡터를 하나의 문자열로 줄입니다.
  • 두 함수 모두 벡터화되어 있으며 더 짧은 인수를 재활용합니다.
  • NA는 리터럴 문자열 'NA'로 변환됩니다.
  • 수와 논리형은 자동으로 문자형으로 변환됩니다.
# 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')

자주 묻는 질문

“paste()와 paste0()로 문자열 만들기” 강의는 무료인가요?

네 — “paste()와 paste0()로 문자열 만들기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 R Academy 강의 전체를 잠금 해제할 수 있습니다. R Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“paste()와 paste0()로 문자열 만들기”에서 뭘 배우나요?

paste와 paste0을 사용하여 구분 기호와 함께 문자열을 연결합니다. 브라우저에서 직접 실행하는 실습 코드로 R Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

R Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 R Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“paste()와 paste0()로 문자열 만들기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 R Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 R Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. paste()와 paste0()로 문자열 만들기
  2. sprintf()를 사용한 형식 지정 출력
  3. cat()과 print()로 출력 표시하기
  4. 문자열 패딩과 정렬
← R Academy(으)로 돌아가기