R Academy · Les

seq() voor aangepaste reeksen

Bepaal de stapgrootte, lengte en richting met seq().

Les 2 van 413 stappen

seq() voor aangepaste reeksen is een gratis R Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject R Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus R Academy bevat in totaal 4 lessen.

Inleiding tot seq()

seq() is de flexibele reeksgenerator in R. Terwijl : gehele getallenbereiken met stap 1 maakt, kun je met seq() het begin, einde, de stapgrootte en totale lengte van elke numerieke reeks instellen.

# 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) — aangepaste stap

Het argument by bepaalt de stapgrootte tussen opeenvolgende waarden. Dit kan elk positief of negatief getal zijn, ook een decimaal getal. Dit is handig om gelijkmatig verdeelde waarden met niet-gehele tussenruimten te genereren.

# 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) — vast aantal

Als je weet hoeveel waarden je wilt en niet welke stapgrootte, gebruik je length.out. R berekent de stap automatisch zodat het interval gelijkmatig wordt verdeeld.

# 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) — afstemmen op een vector

seq(along.with = x) genereert de gehele getallenreeks 1:length(x), identiek aan seq_along(x). Dit is handig wanneer je een indexreeks wilt koppelen aan een bestaande vector.

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) — veilig van 1 tot n

seq_len(n) is gelijkwaardig aan seq(1, n) of 1:n, maar verwerkt het randgeval n = 0 correct door een lege gehele getallenvector te retourneren in plaats van 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
')

Negatieve stappen met seq()

Als je een negatieve waarde voor by instelt, maak je een aflopende reeks. Bij een negatieve stap moet from groter zijn dan to; anders geeft R een waarschuwing.

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

Reeksen met drijvende komma

Wees voorzichtig met stappen met drijvende komma: kleine afrondingsfouten kunnen ervoor zorgen dat de laatste waarde onverwacht wel of niet wordt opgenomen. Door length.out te gebruiken in plaats van by, voorkom je dit probleem.

# 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() gebruiken voor grafiekassen

Een veelgebruikte toepassing van seq() is het genereren van waarden voor wiskundige functies of maatstreepjes op assen. Hiermee kun je een functie met regelmatige tussenpozen over een interval bemonsteren.

# 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() versus : — vergelijking

Gebruik : als je gehele getallen met stapgrootte 1 wilt. Gebruik seq() als je decimale stappen, een specifiek aantal waarden of een lengte die overeenkomt met een andere vector nodig hebt. Voor eenvoudige bereiken van gehele getallen kunnen ze identieke resultaten opleveren.

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

Praktijk: tijdstippen genereren

seq() is ideaal voor het maken van tijdassen in data-analyse — bijvoorbeeld voor het genereren van maandelijkse, driemaandelijkse of jaarlijkse intervallen bij het werken met tijdreeksen.

# 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], '
')

Overzicht van seq()-argumenten

Hier is een korte referentie voor de argumenten van seq():

  • from — beginwaarde (standaard 1)
  • to — eindwaarde (standaard 1)
  • by — stapgrootte tussen waarden
  • length.out — exact aantal te genereren waarden
  • along.with — lengte laten overeenkomen met een andere vector

Je moet slechts één van by en length.out opgeven.

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

Korte controle

Hoeveel waarden levert seq(0, 1, length.out = 6) op?

Samenvatting: seq() voor aangepaste reeksen

Goed gedaan! De belangrijkste punten uit deze les:

  • seq(from, to, by) — een reeks maken met een vaste stapgrootte
  • seq(from, to, length.out = n) — precies n gelijkmatig verdeelde waarden maken
  • seq(along.with = x) — indexen genereren die overeenkomen met vector x
  • seq_len(n) — veilige versie van 1:n (werkt ook voor n=0)
  • Geef bij reeksen met drijvende komma de voorkeur aan length.out boven by om afrondingsproblemen te voorkomen
  • Gebruik seq() als : niet volstaat (niet-gehele stappen, vast aantal)
# 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)
')
Gratis beginnen

Leer R met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
43
Lessen
159

Veelgestelde vragen

Is de les “seq() voor aangepaste reeksen” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad R Academy, waaronder “seq() voor aangepaste reeksen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus R Academy bevat in totaal 4 lessen.

Wat leer ik in “seq() voor aangepaste reeksen”?

Bepaal de stapgrootte, lengte en richting met seq(). Je oefent met R Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met R Academy te beginnen?

Ervaring vooraf is niet nodig. R Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “seq() voor aangepaste reeksen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over R Academy?

Ja. Elke les over R Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. De dubbelepuntoperator voor gehele getalbereiken
  2. seq() voor aangepaste reeksen
  3. rep() voor herhalende waarden
  4. Benoemde vectoren en reeksen
← Terug naar R Academy