A: so finden sie den nächstgelegenen wert in einem vektor
Sie können die folgende grundlegende Syntax verwenden, um den nächsten Wert zwischen den Elementen zweier Vektoren in R zu finden:
#define cut points cuts <- c(-Inf, vector2[-1]-diff(vector2)/2, Inf) #for each value in vector1, find closest value in vector2 cut(vector1, breaks=cuts, labels=vector2)
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Den nächstliegenden Wert in einem Vektor in R finden
Angenommen, wir haben die folgenden zwei Vektoren in R:
#definevectors
vector1 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vector2 <- c(3, 5, 8, 11)
Nehmen wir nun an, dass wir für jeden Wert im ersten Vektor den nächstgelegenen Wert im zweiten Vektor finden möchten.
Wir können dazu die folgende Syntax verwenden:
#define cut points
cuts <- c(-Inf, vector2[-1]-diff(vector2)/2, Inf)
#for each value in vector1, find closest value in vector2
cut(vector1, breaks=cuts, labels=vector2)
[1] 3 3 3 3 5 5 8 8 8 11
So interpretieren Sie das Ergebnis:
- Für den ersten Wert von Vektor1 (1) ist der Wert, der Vektor2 am nächsten kommt, 3 .
- Für den zweiten Wert von Vektor1 (2) ist der Wert, der Vektor2 am nächsten kommt, 3 .
- Für den dritten Wert von Vektor1 (3) ist der Wert, der Vektor2 am nächsten kommt, 3 .
- Für den vierten Wert von Vektor1 (4) ist der Wert, der Vektor2 am nächsten kommt, 3 .
- Für den fünften Wert von Vektor1 (5) ist der Wert, der Vektor2 am nächsten kommt, 5 .
Und so weiter.
Hinweis : Bei dieser Methode wird davon ausgegangen, dass die Werte des zweiten Vektors streng ansteigend sind. Falls Sie dies noch nicht getan haben, müssen Sie möglicherweise zuerst den zweiten Vektor sortieren.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So berechnen Sie den Mittelwert pro Gruppe in R
So mitteln Sie den Durchschnitt über Spalten in R
So summieren Sie bestimmte Spalten in R