0Pricing
R Academy · 강의

사용자 지정 시퀀스를 위한 seq()

seq()로 단계 크기, 길이, 방향을 제어합니다.

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

seq() 소개

seq()는 R에서 유연하게 수열을 생성하는 함수입니다. :가 단계 크기 1인 정수 범위를 만드는 반면, seq()를 사용하면 모든 수치 수열의 시작 값, 끝 값, 단계 크기, 전체 길이를 제어할 수 있습니다.

# Basic seq() usage
basic <- seq(1, 10)
cat('seq(1, 10):', basic, '
')

# With step size
by_two <- seq(0, 20, by = 2)
cat('seq(0, 20, by=2):', by_two, '
')

seq(from, to, by) — 사용자 지정 단계 크기

by 인수는 연속된 값 사이의 단계 크기를 설정합니다. 소수를 포함한 양수나 음수라면 어떤 값이든 사용할 수 있습니다. 정수가 아닌 간격으로 일정하게 떨어진 값을 생성할 때 유용합니다.

# Decimal step
celsius <- seq(0, 100, by = 12.5)
cat('Every 12.5 degrees:', celsius, '
')

# Step of 0.1
fine_scale <- seq(1.0, 1.5, by = 0.1)
cat('Fine scale:', fine_scale, '
')

# Negative step (descending)
countdown <- seq(10, 0, by = -2)
cat('Countdown by 2:', countdown, '
')

seq(from, to, length.out) — 고정된 개수

단계 크기보다 원하는 값의 개수를 알고 있다면 length.out을 사용하십시오. R이 구간을 균등하게 나누도록 단계 크기를 자동으로 계산합니다.

# 5 evenly spaced points between 0 and 1
unit_interval <- seq(0, 1, length.out = 5)
cat('5 points in [0,1]:', unit_interval, '
')

# 7 breakpoints for a histogram
breakpoints <- seq(0, 100, length.out = 7)
cat('Histogram breaks:', breakpoints, '
')

# Step is automatically calculated
step <- (100 - 0) / (7 - 1)
cat('Step size:', step, '
')

seq(along.with = x) — 벡터에 맞추기

seq(along.with = x)는 1:length(x) 정수 수열을 생성하며, seq_along(x)과 동일합니다. 기존 벡터에 인덱스 수열을 대응시키고 싶을 때 유용합니다.

rainfall <- c(55.2, 62.1, 48.7, 71.3, 38.9, 90.4, 45.0)

# Generate matching index sequence
idx <- seq(along.with = rainfall)
cat('Indices:', idx, '
')
cat('Rainfall:', rainfall, '
')

# Use to find position of max
cat('Position of max rainfall:', which.max(rainfall), '
')
cat('Max rainfall:', max(rainfall), 'mm
')

seq_len(n) — 안전한 1부터 n까지

seq_len(n)은 seq(1, n) 또는 1:n과 같은 역할을 하지만, n = 0인 경우를 올바르게 처리합니다. c(1, 0) 대신 빈 정수 벡터를 반환합니다.

# Normal use
cat('seq_len(5):', seq_len(5), '
')

# Edge case: n = 0
cat('1:0       :', 1:0, '
')       # produces 1 0 (WRONG)
cat('seq_len(0):', seq_len(0), '
') # produces integer(0) (CORRECT)

# In practice: safe loop
my_data <- c()  # intentionally empty
for (i in seq_len(length(my_data))) {
  cat('Processing item', i, '
')
}
cat('Loop completed without error
')

seq()에서 음의 단계 크기 사용하기

음수 by 값을 설정하면 내림차순 시퀀스가 생성됩니다. 음수 간격을 사용할 때는 from이 to보다 커야 하며, 그렇지 않으면 R이 경고를 반환합니다.

# Countdown from 100 to 0
countdown_100 <- seq(100, 0, by = -10)
cat('Countdown:', countdown_100, '
')

# Temperature drop simulation
start_temp <- 30.0
end_temp <- 15.0
hourly_temps <- seq(start_temp, end_temp, by = -1.5)
cat('Hourly cooling:', hourly_temps, '
')

부동소수점 시퀀스

부동소수점 간격을 사용할 때는 주의해야 합니다. 아주 작은 반올림 오차로 인해 마지막 값이 예상과 달리 포함되거나 제외될 수 있습니다. by 대신 length.out을 사용하면 이 문제를 피할 수 있습니다.

# Floating point step: may include or exclude endpoint
seq_by <- seq(0, 1, by = 0.1)
cat('By 0.1 (', length(seq_by), 'values):', seq_by, '
')

# length.out: always exactly n values
seq_lo <- seq(0, 1, length.out = 11)
cat('length.out=11:', seq_lo, '
')

# Check: are they the same?
cat('Identical?', identical(seq_by, seq_lo), '
')

플롯 축에 seq() 사용하기

seq()는 수학 함수나 축 눈금의 값을 생성할 때 흔히 사용됩니다. 이를 사용하면 구간에서 일정한 간격으로 함수를 표본 추출할 수 있습니다.

# Sample a sine wave
x_vals <- seq(0, 2 * pi, length.out = 13)
y_vals <- round(sin(x_vals), 3)
cat('x values (radians):', round(x_vals, 2), '
')
cat('sin(x) values:      ', y_vals, '
')

# Find the approximate peak
cat('Peak near x =', round(x_vals[which.max(y_vals)], 3), '
')

seq()와 : 비교

간격이 1인 정수를 원한다면 :를 사용하십시오. 소수 간격, 특정 개수 또는 다른 벡터의 길이에 맞춘 시퀀스가 필요하다면 seq()를 사용하십시오. 단순한 정수 범위에서는 두 방법이 동일한 결과를 생성할 수 있습니다.

# These produce the same integer sequence
a <- 1:5
b <- seq(1, 5)
c_seq <- seq(1, 5, by = 1)
d <- seq(1, 5, length.out = 5)

cat('1:5            :', a, '
')
cat('seq(1,5)       :', b, '
')
cat('seq(1,5,by=1)  :', c_seq, '
')
cat('seq(1,5,lo=5)  :', d, '
')
cat('All identical? :', identical(a, d), '
')

실습: 시간 지점 생성하기

seq()는 데이터 분석에서 시간 축을 만들 때 매우 적합합니다. 예를 들어 시계열 작업을 위해 월별, 분기별 또는 연도별 간격을 생성할 수 있습니다.

# Monthly data points (as numeric month indices)
months_idx <- seq(1, 12, by = 1)
month_names <- month.abb  # built-in R constant
cat('Month indices:', months_idx, '
')
cat('Month names  :', month_names, '
')

# Quarterly: every 3 months
quarters <- seq(1, 12, by = 3)
cat('Quarter starts:', quarters, '
')
cat('Quarter names :', month_names[quarters], '
')

seq() 인수 요약

다음은 seq() 인수에 대한 간단한 참고 자료입니다:

  • from — 시작 값(기본값 1)
  • to — 끝 값(기본값 1)
  • by — 값 사이의 간격 크기
  • length.out — 생성할 값의 정확한 개수
  • along.with — 다른 벡터의 길이에 맞춤

by와 length.out 중 하나만 지정해야 합니다.

# Five different forms of seq()
cat('seq(5)               :', seq(5), '
')
cat('seq(2, 10)           :', seq(2, 10), '
')
cat('seq(0, 1, by=0.25)   :', seq(0, 1, by = 0.25), '
')
cat('seq(0, 1, length.out=5):', seq(0, 1, length.out = 5), '
')
cat('seq(along.with=1:4)  :', seq(along.with = 1:4), '
')

빠른 확인

seq(0, 1, length.out = 6)은 몇 개의 값을 생성합니까?

복습: 사용자 지정 시퀀스에 seq() 사용하기

잘하셨습니다! 이번 레슨의 핵심 내용은 다음과 같습니다:

  • seq(from, to, by) — 고정된 간격 크기로 시퀀스 생성
  • seq(from, to, length.out = n) — 일정한 간격의 값을 정확히 n개 생성
  • seq(along.with = x) — 벡터 x에 맞는 인덱스 생성
  • seq_len(n) — 1:n의 안전한 버전(n=0 처리)
  • 부동소수점 시퀀스에서는 반올림 문제를 피하기 위해 by보다 length.out을 우선 사용
  • :만으로 부족한 경우(정수가 아닌 간격, 고정된 개수)에 seq() 사용
# Final demo: all seq() forms
cat('Even 0-10:    ', seq(0, 10, by = 2), '
')
cat('5 in [0,1]:   ', seq(0, 1, length.out = 5), '
')
cat('Match 3-elem: ', seq(along.with = c('a', 'b', 'c')), '
')
cat('Safe 1:0:     ', seq_len(0), '(empty)
')

자주 묻는 질문

“사용자 지정 시퀀스를 위한 seq()” 강의는 무료인가요?

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

“사용자 지정 시퀀스를 위한 seq()”에서 뭘 배우나요?

seq()로 단계 크기, 길이, 방향을 제어합니다. 브라우저에서 직접 실행하는 실습 코드로 R Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“사용자 지정 시퀀스를 위한 seq()” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

  1. 정수 범위를 위한 콜론 연산자
  2. 사용자 지정 시퀀스를 위한 seq()
  3. 반복 값을 위한 rep()
  4. 이름 있는 벡터와 시퀀스
← R Academy(으)로 돌아가기