0Pricing
R Academy · Ders

Ö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şturur
  • seq(from, to, length.out = n) — araları eşit, tam olarak n değer oluşturur
  • seq(along.with = x) — x vektörüyle eşleşen indisler oluşturur
  • seq_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 by yerine length.out kullanmayı 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

  1. Tamsayı Aralıkları için İki Nokta İşleci
  2. Özel Diziler için seq()
  3. Tekrarlanan Değerler için rep()
  4. Adlandırılmış Vektörler ve Diziler
← R Academy Sayfasına Dön