Özel Diziler için seq()
seq() ile adım boyutunu, uzunluğu ve yönü denetleyin.
Özel Diziler için seq(), CoddyKit'te ücretsiz bir R Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, R Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. R Academy kursu toplamda 4 dersten oluşur.
seq() İşlevine Giriş
seq(), R'deki esnek dizi oluşturucudur. : adım 1 olan tam sayı aralıkları oluştururken seq(), herhangi bir sayısal dizinin başlangıcını, bitişini, adım büyüklüğünü ve toplam uzunluğunu denetlemenizi sağlar.
# 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) — Özel Adım
by bağımsız değişkeni, ardışık değerler arasındaki adım büyüklüğünü belirler. Ondalıklar da dâhil olmak üzere herhangi bir pozitif veya negatif sayı olabilir. Bu, tam sayı olmayan aralıklarda eşit aralıklı değerler oluşturmak için kullanışlıdır.
# 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) — Sabit Sayı
Adım büyüklüğü yerine kaç değer istediğinizi biliyorsanız length.out kullanın. R, aralığı eşit bölmek için adım büyüklüğünü otomatik olarak hesaplar.
# 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) — Bir Vektörle Eşleştirme
seq(along.with = x), seq_along(x) ile aynı olan 1:length(x) tam sayı dizisini oluşturur. Bir indeks dizisini mevcut bir vektörle eşleştirmek istediğinizde kullanışlıdır.
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'den n'e Güvenli Dizi
seq_len(n), seq(1, n) veya 1:n ile eşdeğerdir; ancak n = 0 sınır durumunu doğru şekilde ele alır ve c(1, 0) yerine boş bir tam sayı vektörü döndürür.
# 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() ile Negatif Adımlar
Negatif bir by değeri belirtmek azalan bir dizi oluşturur. Negatif bir adım kullanılırken from değerinin to değerinden büyük olması gerekir; aksi hâlde R bir uyarı verir.
# 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, '
')Ondalıklı Sayı Dizileri
Ondalıklı adımlara dikkat edin: Çok küçük yuvarlama hataları, son değerin beklenmedik şekilde diziye eklenmesine veya dışarıda bırakılmasına neden olabilir. by yerine length.out kullanmak bu sorunu önler.
# 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), '
')Grafik Eksenleri İçin seq() Kullanımı
seq() işlevinin yaygın bir kullanımı, matematiksel işlevler veya eksen işaretleri için değerler oluşturmaktır. Bir işlevi, bir aralık boyunca düzenli aralıklarla örneklemenizi sağlar.
# 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() ve : Karşılaştırması
Adımın 1 olduğu tam sayılara ihtiyacınız varsa : kullanın. Ondalıklı adımlara, belirli bir sayıda değere veya başka bir vektörün uzunluğuyla eşleşmeye ihtiyacınız varsa seq() kullanın. Basit tam sayı aralıklarında aynı sonuçları üretebilirler.
# 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), '
')Uygulama: Zaman Noktaları Oluşturma
seq(), veri analizinde zaman eksenleri oluşturmak için idealdir; örneğin zaman serileriyle çalışırken aylık, üç aylık veya yıllık aralıklar oluşturabilirsiniz.
# 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() Bağımsız Değişkenlerinin Özeti
seq() bağımsız değişkenleri için hızlı bir başvuru:
from— başlangıç değeri (varsayılan 1)to— bitiş değeri (varsayılan 1)by— değerler arasındaki adım büyüklüğülength.out— oluşturulacak değerlerin kesin sayısıalong.with— başka bir vektörün uzunluğuyla eşleştirme
by veya length.out bağımsız değişkenlerinden yalnızca biri sağlanmalıdır.
# 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), '
')Hızlı Kontrol
seq(0, 1, length.out = 6) kaç değer üretir?
Özet: Özel Diziler İçin seq()
Harika çalıştınız! Bu dersten çıkarılacak temel noktalar:
seq(from, to, by)— sabit adım büyüklüğüne sahip bir dizi oluştururseq(from, to, length.out = n)— araları eşit, tam olarak n değer oluştururseq(along.with = x)— x vektörüyle eşleşen indisler oluştururseq_len(n)— 1:n ifadesinin güvenli sürümüdür (n=0 durumunu yönetir)- Yuvarlama sorunlarını önlemek için ondalıklı sayı dizilerinde
byyerinelength.outkullanmayı tercih edin :yetersiz kaldığında (tam sayı olmayan adımlar veya sabit sayıda değer gerektiğinde)seq()kullanın
# 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)
')Sıkça Sorulan Sorular
“Özel Diziler için seq()” dersi ücretsiz mi?
Evet — “Özel Diziler için seq()” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve R Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. R Academy kursu toplamda 4 dersten oluşur.
“Özel Diziler için seq()” dersinde ne öğreneceğim?
seq() ile adım boyutunu, uzunluğu ve yönü denetleyin. R Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
R Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te R Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Özel Diziler için seq()” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu R Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her R Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Tamsayı Aralıkları için İki Nokta İşleci
- Özel Diziler için seq()
- Tekrarlanan Değerler için rep()
- Adlandırılmış Vektörler ve Diziler