Vektoren mit sort() sortieren
Sortieren Sie numerische und Character-Vektoren auf- oder absteigend.
Vektoren mit sort() sortieren ist eine kostenlose R Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Was bewirkt sort()?
Die Funktion sort() ordnet die Elemente eines Vektors standardmäßig aufsteigend. Sie funktioniert mit numerischen, Character- und Logical-Vektoren und gibt einen neuen sortierten Vektor zurück, ohne das Original zu verändern.
scores <- c(42, 7, 95, 13, 67, 31)
sorted_scores <- sort(scores)
print(sorted_scores)Absteigend sortieren
Übergeben Sie decreasing = TRUE an sort(), um die Reihenfolge umzukehren. Das ist nützlich, um Ergebnisse vom höchsten zum niedrigsten Wert zu ordnen, beispielsweise Ranglistenpunkte oder Verkaufszahlen.
prices <- c(19.99, 5.49, 89.00, 34.50, 12.75)
sort(prices, decreasing = TRUE)Character-Vektoren sortieren
Character-Vektoren werden lexikografisch (alphabetisch) sortiert. R verwendet für die Reihenfolge die System-Locale. Daher können Großbuchstaben abhängig von der Locale-Einstellung vor Kleinbuchstaben einsortiert werden.
fruits <- c('banana', 'Apple', 'cherry', 'apricot', 'Blueberry')
sort(fruits)Verhalten bei der Sortierung mit Beachtung der Groß-/Kleinschreibung
In den meisten Locales werden Großbuchstaben vor Kleinbuchstaben sortiert. Für eine Sortierung ohne Beachtung der Groß-/Kleinschreibung wandeln Sie die Zeichen zunächst mit tolower() oder toupper() in eine einheitliche Schreibweise um.
words <- c('Zebra', 'apple', 'Mango', 'banana')
# Case-sensitive (uppercase first)
sort(words)
# Case-insensitive approach
words[order(tolower(words))]NA-Werte mit na.last behandeln
Standardmäßig entfernt sort() NA-Werte. Verwenden Sie na.last = TRUE, um NAs ans Ende zu setzen, oder na.last = FALSE, um sie an den Anfang zu setzen. Damit legen Sie fest, wo fehlende Werte im Ergebnis erscheinen.
data <- c(5, NA, 2, NA, 8, 1)
# Default: NAs removed
sort(data)
# NAs at end
sort(data, na.last = TRUE)
# NAs at beginning
sort(data, na.last = FALSE)Logical-Vektoren sortieren
Beim aufsteigenden Sortieren stehen in Logical-Vektoren FALSE (0) vor TRUE (1). Das kann nützlich sein, wenn Sie TRUE-/FALSE-Werte gruppieren möchten.
flags <- c(TRUE, FALSE, TRUE, FALSE, FALSE, TRUE)
sort(flags)
sort(flags, decreasing = TRUE)sort() bewahrt den Vektortyp
sort() gibt immer einen Vektor desselben Typs wie die Eingabe zurück. Beim Sortieren von Integern werden Integer zurückgegeben, beim Sortieren von Double-Werten Double-Werte und beim Sortieren von Character-Werten Character-Werte. Das Klassenattribut bleibt erhalten.
int_vec <- c(5L, 2L, 8L, 1L, 4L)
result <- sort(int_vec)
print(result)
print(class(result))
print(typeof(result))sort.int() zum Sortieren von Integern
sort.int() ist eine Funktion auf niedrigerer Ebene, die speziell zum Sortieren von Integer- oder Double-Vektoren dient. Sie akzeptiert dieselben Argumente wie sort(), ist bei großen numerischen Vektoren jedoch etwas schneller, da ein Teil des Overheads beim Method Dispatch entfällt.
big_vec <- c(100L, 3L, 77L, 22L, 55L, 9L)
# sort.int works like sort for numeric/integer vectors
result <- sort.int(big_vec, decreasing = FALSE)
print(result)Der ursprüngliche Vektor bleibt unverändert
Eine wichtige Eigenschaft von sort(): Die Funktion verändert den ursprünglichen Vektor nicht. Sie gibt einen neuen sortierten Vektor zurück. Wenn Sie die sortierte Reihenfolge beibehalten möchten, müssen Sie das Ergebnis zuweisen.
temps <- c(22.5, 18.0, 30.1, 15.3, 27.8)
sorted_temps <- sort(temps)
cat('Original:', temps, '\n')
cat('Sorted: ', sorted_temps, '\n')Sortieren und Indizieren gemeinsam verwenden
Manchmal benötigen Sie sowohl die sortierten Werte als auch deren ursprüngliche Positionen. Kombinieren Sie sort() mit which() oder verwenden Sie order() (in der nächsten Lektion), um neben den sortierten Werten auch die ursprünglichen Indizes abzurufen.
exam_scores <- c(78, 92, 65, 88, 71)
sorted <- sort(exam_scores)
cat('Sorted scores:', sorted, '\n')
# Find what rank each original score gets
ranks <- rank(exam_scores)
cat('Rank of each student:', ranks, '\n')Praktische Muster mit sort()
Ein häufig verwendetes Muster besteht darin, eindeutige Werte eines Vektors zu sortieren oder mit sort() in Kombination mit head() oder tail() die N größten Werte abzurufen.
sales <- c(120, 340, 95, 210, 340, 180, 95, 420)
# Unique values in order
sort(unique(sales))
# Top 3 largest
tail(sort(sales), 3)
# Bottom 3 smallest
head(sort(sales), 3)Schnelltest
Welches Argument legt fest, ob NA-Werte bei der Verwendung von sort() am Anfang, am Ende oder gar nicht erscheinen?
Die wichtigsten Erkenntnisse zu sort()
Die wichtigsten Erkenntnisse zu sort():
- Verwenden Sie
sort(x)für aufsteigende undsort(x, decreasing=TRUE)für absteigende Reihenfolge - Character-Vektoren werden alphabetisch sortiert; standardmäßig wird die Groß-/Kleinschreibung berücksichtigt
- Steuern Sie die Position von NAs mit
na.last = TRUE/FALSE/NA sort()verändert den ursprünglichen Vektor nicht, sondern gibt immer einen neuen zurück- Verwenden Sie
tail(sort(x), n)oderhead(sort(x), n), um die N größten oder kleinsten Werte abzurufen sort.int()ist eine schnellere Variante für numerische Vektoren bzw. Integer-Vektoren
x <- c(3, 1, NA, 5, 2, NA, 4)
cat('Ascending (no NAs):', sort(x), '\n')
cat('Descending (NAs last):', sort(x, decreasing = TRUE, na.last = TRUE), '\n')Häufig gestellte Fragen
Ist die Lektion „Vektoren mit sort() sortieren“ kostenlos?
Ja — der vollständige Text von „Vektoren mit sort() sortieren“ 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 „Vektoren mit sort() sortieren“?
Sortieren Sie numerische und Character-Vektoren auf- oder absteigend. 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 1 von 4.
Wie lange dauert die Lektion „Vektoren mit sort() sortieren“?
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
- Vektoren mit sort() sortieren
- order() für flexible Sortierung
- Werte mit rank() rangieren
- Data Frames nach Spalten sortieren