Cloud-Lösungen der Zukunft - Testen!
Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!
Die which()-Funktion in R
Die which()-Funktion in R gibt die Position oder den Index des Wertes zurück, der die gegebene Bedingung erfüllt. Die which()-Funktion in R gibt Ihnen die Position des Wertes in einem logischen Vektor. Die Position kann alles Mögliche sein, wie Zeilen, Spalten und sogar Vektoren.
Syntax der which()-Funktion in R
which(): Die which-Funktion in R gibt die Position der Werte im logischen Vektor zurück.
which(x, arr.ind = F, useNames = F)
Wo,
- X = Ein Eingabe-logischer Vektor.
- Arr.ind = Gibt die Array-Indizes zurück, wenn x ein Array ist.
- useNames = Gibt die Dimensionennamen eines Arrays an.
Ein einfaches Beispiel für die which()-Funktion
Nun, Sie haben die Definition der which-Funktion zusammen mit ihrer Arbeitsweise erhalten. Jetzt, wenden wir unsere gelernten Dinge praktisch an.
Lassen Sie uns sehen, wie es funktioniert.
which(letters == "p")
16
which(letters == "n")
14
which(letters == "l")
12
“letters” ist eine eingebaute Konstante mit allen 26 Buchstaben des englischen Alphabets in serieller Anordnung.
Die oben genannten Ausgaben repräsentieren die Position jedes Buchstabens im Datenrahmen. Wie Sie sehen können, ist der Buchstabe “p” der 16. im Alphabet, während “l” und “n” jeweils der 14. und der 12. sind.
Verwendung der which()-Funktion mit Vektoren
Jetzt, erstellen wir einen Vektor in der R-Sprache und dann verwenden wir die which-Funktion, um die Position zu verfolgen.
#einen Vektor erstellen
df <- c(5,4,3,2,1) #Position von 5 which(df == 5) 1 #Position von 1 which(df == 1) 5 #Position von Werten größer als 2 which(df > 2)
1 2 3
Großartig! Die which()-Funktion in R gibt die Position der Werte in der gegebenen Eingabe zurück. Sie können die Funktion auch verwenden, um spezifische Bedingungen zu übergeben und die Positionen der Ausgaben zu erhalten, die den Bedingungen entsprechen, wie wir im letzten Beispiel gesehen haben.
Verwendung der which()-Funktion mit Datenrahmen
Jetzt, sehen wir, wie wir die which-Funktion in Bezug auf den Datenrahmen in R-Sprache anwenden können.
df <- datasets::BOD
df
Zeit Nachfrage
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8
Zu diesem Zweck verwenden wir den BOD-Datensatz, der 2 Spalten enthält, nämlich Zeit und Nachfrage. Es ist ein weiterer eingebauter Datensatz.
Verwenden wir die which-Funktion und versuchen, die Position der Werte im Daten zu finden.
which(df$Nachfrage == '10.3')
2
Sie können der which()-Funktion auch eine Liste von Werten eingeben. Schauen Sie sich das Beispiel unten an, in dem ich versuche, die Position von zwei Werten aus dem Datenrahmen zu finden.
which(df$Nachfrage == c(8.3, 16.0))
1 4
Finden von Spalten in einem Datenrahmen mit numerischen Werten mit der which()
Sie können die which()-Funktion sogar verwenden, um die Spaltennamen in einem Daten zu finden, das numerische Daten enthält.
Lassen Sie uns sehen, wie es in der R-Sprache funktioniert. Dafür verwenden wir den „Iris“-Datensatz.
df <- datasets::iris
df
Sepal.Länge Sepal.Breite Petal.Länge Petal.Breite Spezies
1 5.1 3.5 1.4 0.2 setosa
...
11 5.4 3.7 1.5 0.2 setosa
test <- which(sapply(df, is.numeric))
Spaltennamen(df)[test]
"Sepal.Länge" "Sepal.Breite" "Petal.Länge" "Petal.Breite"
Die Ausgabe zeigt, dass der Iris-Datensatz 5 Spalten enthält. Davon sind 4 numerische Spalten und 1 ist kategorisch (Spezies).
Wir haben hier die sapply-Funktion in R zusammen mit der which()-Methode verwendet.
Die which()-Funktion hat nur die Namen der numerischen Spalten gemäß der Eingabebedingung zurückgegeben. Wenn Sie ein Datenanalyst sind, dann wird die which()-Funktion für Sie unverzichtbar sein.
Die which-Funktion mit Matrix in R
Schließlich sind wir bei der Matrix in R angekommen. Nun, Sie können die which()-Funktion in der R-Sprache verwenden, um die Position der Werte in einer Matrix zu ermitteln. Sie werden auch etwas über den Parameter arr.index in diesem Abschnitt erfahren.
Zuerst einmal – Erstellen einer Matrix
df<-matrix(rep(c(1,0,1),4),nrow = 4)
df
[,1] [,2] [,3]
[1,] 1 0 1
[2,] 0 1 1
...
[4,] 1 0 1
Fantastisch!!! Sie haben gerade eine gut aussehende Matrix erstellt. Glückwunsch. Lassen Sie uns die which()-Funktion verwenden, um die Position des Wertes ‚0‘ in unserer Matrix zu ermitteln.
which(df==0,arr.ind = T)
row col
[1,] 2 1
...
[4,] 3 3
Nun, die which-Funktion hat die Positionen des Wertes ‚0‘ in der Matrix zurückgegeben.
Das erste Auftreten von „0“ befindet sich in der zweiten Zeile, erste Spalte. Dann folgt das nächste Auftreten in der ersten Zeile, zweite Spalte. Dann haben wir die vierte Zeile, zweite Spalte. Und schließlich die dritte Zeile, dritte Spalte.
Fazit
Die which()-Funktion in R ist eine der am häufigsten verwendeten Funktionen in der Datenanalyse und -auswertung.
Die Funktion gibt die Position der Werte in den Daten an. Wenn Sie mit riesigen Datenmengen arbeiten, wird es schwierig sein, die Position bestimmter Werte darin zu finden, und genau hier kommt die which()-Funktion in R zum Einsatz.
Das ist vorerst alles. Viel Spaß beim Positionieren!!!
Kostenlosen Account erstellen
Registrieren Sie sich jetzt und erhalten Sie exklusiven Zugang zu weiterführenden Ressourcen, individuellem Support und einer Community von Experten.
Aktuelle Beiträge
Starten Sie Ihre kostenlose Trial und meistern Sie die which()-Funktion in R mit unserer Cloud-Lösung!
"Sind Sie bereit, die volle Leistungsfähigkeit von R zu entdecken und Ihre Datenanalyse auf die nächste Stufe zu heben? Registrieren Sie sich jetzt für unsere kostenlose Trial und erleben Sie, wie unsere Cloud-Plattform Ihre Arbeit mit der which()-Funktion in R revolutioniert. Unsere benutzerfreundliche, flexible Cloud-Umgebung bietet Ihnen die notwendigen Werkzeuge und Ressourcen, um effizienter und präziser zu arbeiten. Nutzen Sie die Gelegenheit, Ihre Fähigkeiten zu erweitern und sich einen Wettbewerbsvorteil zu sichern. Starten Sie noch heute und erleben Sie den Unterschied mit unserer fortschrittlichen Cloud-Technologie!