Sequenzgenerierung (seq, :)
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 43 von 78.
Sie haben 1:5 verwendet, um Sequenzen in Ihren Schleifen zu erstellen. Dieser Doppelpunkt-Operator ist schnell und einfach, aber R bietet auch die seq()-Funktion für mehr Kontrolle über Ihre Sequenzen an.
Der Doppelpunkt-Operator erzeugt eine Sequenz von aufeinanderfolgenden Ganzzahlen:
print(1:5)
print(10:6)Ausgabe:
[1] 1 2 3 4 5
[1] 10 9 8 7 6Beachten Sie, dass die Sequenz in beide Richtungen verlaufen kann. Wenn die erste Zahl größer ist, zählt sie rückwärts.
Die seq()-Funktion bietet Ihnen mehr Flexibilität. Sie können eine Schrittweite mit dem by-Argument angeben:
print(seq(2, 10, by = 2))Ausgabe:
[1] 2 4 6 8 10Dies erzeugt gerade Zahlen von 2 bis 10.
Sie können mit length.out auch festlegen, wie viele Zahlen Sie erhalten möchten:
print(seq(1, 10, length.out = 4))Ausgabe:
[1] 1 4 7 10R berechnet automatisch die Abstände, um Ihnen genau 4 gleichmäßig verteilte Zahlen zu liefern. Beide Ansätze funktionieren nahtlos in Schleifen, sodass Sie mühelos durch benutzerdefinierte Sequenzen iterieren können.
Aufgabe
EinfachLies drei Zahlen aus der Eingabe: start, end und step.
Verwende die Funktion seq(), um eine Sequenz von start bis end mit der angegebenen Schrittweite step zu erzeugen. Verwende dann eine for-Schleife, um diese Sequenz zu durchlaufen und das Quadrat jeder Zahl auszugeben.
Jeder quadrierte Wert sollte in einer eigenen Zeile mit print() ausgegeben werden.
Wenn die Eingaben zum Beispiel 2, 10 und 2 sind, sollte die Ausgabe wie folgt aussehen:
[1] 4
[1] 16
[1] 36
[1] 64
[1] 100Dies liegt daran, dass die Sequenz 2, 4, 6, 8, 10 erzeugt wird und jede Zahl quadriert wird.
Spickzettel
Der Doppelpunkt-Operator : erzeugt Sequenzen von aufeinanderfolgenden Ganzzahlen:
1:5 # erzeugt 1 2 3 4 5
10:6 # erzeugt 10 9 8 7 6 (zählt rückwärts)Die Funktion seq() bietet mehr Kontrolle über Sequenzen:
# Schrittweite mit 'by' festlegen
seq(2, 10, by = 2) # erzeugt 2 4 6 8 10
# Anzahl der Werte mit 'length.out' festlegen
seq(1, 10, length.out = 4) # erzeugt 1 4 7 10Sowohl der Doppelpunkt-Operator als auch seq() funktionieren in for-Schleifen:
for (i in seq(2, 10, by = 2)) {
print(i)
}Probier es selbst
# Eingabe lesen
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Schreiben Sie Ihren Code unten
# 1. Verwenden Sie seq(), um eine Sequenz von start bis end mit der angegebenen Schrittweite (step) zu erzeugen
# 2. Verwenden Sie eine for-Schleife, um die Sequenz zu durchlaufen
# 3. Geben Sie das Quadrat jeder Zahl mit print() ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte