seq() untuk Urutan Kustom
Atur ukuran langkah, panjang, dan arah dengan seq().
seq() untuk Urutan Kustom adalah pelajaran R Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar R Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus R Academy mencakup 4 pelajaran total.
Pengenalan seq()
seq() adalah pembuat urutan yang fleksibel di R. Jika : membuat rentang bilangan bulat dengan langkah 1, seq() memungkinkan Anda mengatur awal, akhir, ukuran langkah, dan jumlah total elemen dari urutan numerik apa pun.
# 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) — Langkah Kustom
Argumen by menetapkan ukuran langkah antara nilai-nilai yang berurutan. Nilainya dapat berupa bilangan positif atau negatif apa pun, termasuk desimal. Ini berguna untuk menghasilkan nilai dengan jarak yang sama pada interval nonbilangan bulat.
# 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) — Jumlah Tetap
Jika Anda mengetahui berapa banyak nilai yang diinginkan, bukan ukuran langkahnya, gunakan length.out. R akan menghitung langkah secara otomatis untuk membagi interval secara merata.
# 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) — Menyesuaikan dengan Vektor
seq(along.with = x) menghasilkan urutan bilangan bulat 1:length(x), yang identik dengan seq_along(x). Fungsi ini berguna ketika Anda ingin memasangkan urutan indeks dengan vektor yang sudah ada.
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 hingga n yang Aman
seq_len(n) setara dengan seq(1, n) atau 1:n, tetapi menangani kasus khusus ketika n = 0 dengan benar, yaitu mengembalikan vektor bilangan bulat kosong, bukan 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
')Langkah Negatif dengan seq()
Menetapkan nilai by negatif akan membuat urutan menurun. Nilai from harus lebih besar daripada to saat menggunakan langkah negatif; jika tidak, R akan menampilkan peringatan.
# 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, '
')Urutan Bilangan Floating-Point
Berhati-hatilah dengan langkah floating-point: kesalahan pembulatan kecil dapat menyebabkan nilai terakhir disertakan atau tidak disertakan secara tidak terduga. Menggunakan length.out alih-alih by akan menghindari masalah ini.
# 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), '
')Menggunakan seq() untuk Sumbu Grafik
Salah satu penggunaan umum seq() adalah menghasilkan nilai untuk fungsi matematika atau tanda skala sumbu. Fungsi ini memungkinkan Anda mengambil sampel suatu fungsi pada interval tertentu dengan jarak yang teratur.
# 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), '
')Perbandingan seq() dan :
Gunakan : jika Anda menginginkan bilangan bulat dengan langkah 1. Gunakan seq() jika memerlukan langkah desimal, jumlah tertentu, atau panjang yang sesuai dengan vektor lain. Keduanya dapat menghasilkan hasil yang sama untuk rentang bilangan bulat sederhana.
# 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), '
')Praktik: Menghasilkan Titik Waktu
seq() sangat cocok untuk membuat sumbu waktu dalam analisis data—misalnya, menghasilkan interval bulanan, triwulanan, atau tahunan untuk mengolah deret waktu.
# 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], '
')Ringkasan Argumen seq()
Berikut referensi singkat untuk argumen seq():
from— nilai awal (bawaan 1)to— nilai akhir (bawaan 1)by— ukuran langkah antar-nilailength.out— jumlah nilai yang akan dihasilkan secara tepatalong.with— mencocokkan panjang vektor lain
Hanya salah satu dari by atau length.out yang sebaiknya diberikan.
# 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), '
')Pemeriksaan Singkat
Berapa banyak nilai yang dihasilkan oleh seq(0, 1, length.out = 6)?
Rekap: seq() untuk Urutan Kustom
Kerja bagus! Hal-hal penting dari pelajaran ini:
seq(from, to, by)— membuat urutan dengan ukuran langkah tetapseq(from, to, length.out = n)— membuat tepat n nilai dengan jarak yang samaseq(along.with = x)— menghasilkan indeks yang panjangnya sesuai dengan vektor xseq_len(n)— versi aman dari 1:n (menangani n=0)- Utamakan
length.outdaripadabyuntuk urutan floating-point agar terhindar dari masalah pembulatan - Gunakan
seq()jika:tidak memadai (langkah nonbilangan bulat, jumlah tetap)
# 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)
')Pertanyaan yang Sering Diajukan
Apakah pelajaran “seq() untuk Urutan Kustom” gratis?
Ya — teks lengkap “seq() untuk Urutan Kustom” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus R Academy, upgrade ke CoddyKit PRO. Kursus R Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “seq() untuk Urutan Kustom”?
Atur ukuran langkah, panjang, dan arah dengan seq(). Kamu berlatih R Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai R Academy?
Tidak diperlukan pengalaman sebelumnya. R Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “seq() untuk Urutan Kustom” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran R Academy ini?
Ya. Setiap pelajaran R Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Operator Titik Dua untuk Rentang Bilangan Bulat
- seq() untuk Urutan Kustom
- rep() untuk Nilai Berulang
- Vektor dan Urutan Bernama