0Pricing
R Academy · Lektion

seq() für benutzerdefinierte Sequenzen

Steuern Sie Schrittweite, Länge und Richtung mit seq().

seq() für benutzerdefinierte Sequenzen ist eine kostenlose R Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des R Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der R Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung in seq()

seq() ist der flexible Sequenzgenerator in R. Während : Ganzzahlbereiche mit der Schrittweite 1 erstellt, können Sie mit seq() den Start, das Ende, die Schrittweite und die Gesamtanzahl der Werte jeder numerischen Sequenz festlegen.

# 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) — Benutzerdefinierte Schrittweite

Das Argument by legt die Schrittweite zwischen aufeinanderfolgenden Werten fest. Es kann jede positive oder negative Zahl sein, einschließlich Dezimalzahlen. Dies ist nützlich, um gleichmäßig verteilte Werte mit nicht-ganzzahligen Abständen zu erzeugen.

# 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) — Feste Anzahl

Wenn Sie wissen, wie viele Werte Sie benötigen, statt die Schrittweite festzulegen, verwenden Sie length.out. R berechnet die Schrittweite automatisch, um das Intervall gleichmäßig aufzuteilen.

# 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) — An einen Vektor anpassen

seq(along.with = x) erzeugt die Ganzzahlsequenz 1:length(x), also genau wie seq_along(x). Dies ist nützlich, wenn Sie eine Indexsequenz mit einem vorhandenen Vektor kombinieren möchten.

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) — Sicher von 1 bis n

seq_len(n) entspricht seq(1, n) oder 1:n, behandelt jedoch den Sonderfall n = 0 korrekt, indem ein leerer Ganzzahlvektor statt c(1, 0) zurückgegeben wird.

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

Negative Schrittweiten mit seq()

Wenn Sie einen negativen Wert für by festlegen, wird eine absteigende Sequenz erstellt. Bei Verwendung eines negativen Schritts muss from größer als to sein, andernfalls gibt R eine Warnung aus.

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

Gleitkomma-Sequenzen

Seien Sie bei Gleitkommaschritten vorsichtig: Winzige Rundungsfehler können dazu führen, dass der letzte Wert unerwartet ein- oder ausgeschlossen wird. Wenn Sie statt by length.out verwenden, vermeiden Sie dieses Problem.

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

<code>seq()</code> für Plot-Achsen verwenden

Eine häufige Verwendung von seq() ist das Erzeugen von Werten für mathematische Funktionen oder Teilstriche auf Achsen. Damit können Sie eine Funktion über ein Intervall in regelmäßigen Abständen abtasten.

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

Vergleich von <code>seq()</code> und <code>:</code>

Verwenden Sie :, wenn Sie Ganzzahlen mit Schrittweite 1 benötigen. Verwenden Sie seq(), wenn Sie Dezimalschritte, eine bestimmte Anzahl von Werten oder eine Länge passend zu einem anderen Vektor benötigen. Bei einfachen ganzzahligen Bereichen können beide identische Ergebnisse liefern.

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

Praxis: Zeitpunkte erzeugen

seq() eignet sich ideal zum Erstellen von Zeitachsen in der Datenanalyse – beispielsweise zum Erzeugen monatlicher, vierteljährlicher oder jährlicher Intervalle für die Arbeit mit Zeitreihen.

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

Zusammenfassung der <code>seq()</code>-Argumente

Hier finden Sie eine kurze Übersicht über die Argumente von seq():

  • from — Startwert (Standardwert 1)
  • to — Endwert (Standardwert 1)
  • by — Schrittweite zwischen den Werten
  • length.out — exakte Anzahl der zu erzeugenden Werte
  • along.with — Länge an einen anderen Vektor anpassen

Sie sollten entweder by oder length.out angeben, nicht beide.

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

Kurzer Test

Wie viele Werte erzeugt seq(0, 1, length.out = 6)?

Rückblick: <code>seq()</code> für benutzerdefinierte Sequenzen

Sehr gute Arbeit! Die wichtigsten Erkenntnisse aus dieser Lektion:

  • seq(from, to, by) — erstellt eine Sequenz mit fester Schrittweite
  • seq(from, to, length.out = n) — erstellt genau n gleichmäßig verteilte Werte
  • seq(along.with = x) — erzeugt Indizes passend zum Vektor x
  • seq_len(n) — sichere Variante von 1:n (behandelt n=0)
  • Verwenden Sie bei Gleitkomma-Sequenzen bevorzugt length.out statt by, um Rundungsprobleme zu vermeiden
  • Verwenden Sie seq(), wenn : nicht ausreicht (Nicht-Ganzzahlschritte, feste Anzahl)
# 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)
')

Häufig gestellte Fragen

Ist die Lektion „seq() für benutzerdefinierte Sequenzen“ kostenlos?

Ja — der vollständige Text von „seq() für benutzerdefinierte Sequenzen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des R Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der R Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „seq() für benutzerdefinierte Sequenzen“?

Steuern Sie Schrittweite, Länge und Richtung mit seq(). Du übst R Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um R Academy zu starten?

Keine Vorkenntnisse erforderlich. R Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „seq() für benutzerdefinierte Sequenzen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser R Academy-Lektion Code schreiben und ausführen?

Ja. Jede R Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Der Doppelpunktoperator für Ganzzahlbereiche
  2. seq() für benutzerdefinierte Sequenzen
  3. rep() für wiederholte Werte
  4. Benannte Vektoren und Sequenzen
← Zurück zu R Academy