Ich würde gerne wissen, ob es eine elegante Lösung für dieses Problem ist:Anwenden Funktion über bestimmte Werte im Vektor (R)
Sagen wir, ich habe einen Vektor von Werten
a <- c(1,2,3,3.1,3.2,5,6,7,7.1,7.2,9)
und Ich möchte eine Funktion (zB Mittelwert) nur auf Werte anwenden, die eine bestimmte Bedingung erfüllen, die in diesem Fall den Unterschied zwischen Werten kleiner als 0,5 haben soll.
So sind die Werte, die gemittelt werden sollten, sind (3,3.1,3.2)
und (7,7.1,7.2)
und die Funktion zurückkehren sollte Vektor
b <- c(1,2,3.1,5,6,7.1,9)
Edit: Ein Ansatz Ich habe versucht (nicht sicher, ob rechts) ist der Vektor zu digitalisieren, a
(1 Bedeutung der Differenz zwischen den Werten ist < 0,5; 0 die diff bedeutet> 0,5), so dass ich Vektor
bin <– c(0,0,1,1,0,0,0,1,1,0)
aber ich weiß nicht, wie man sich auf die einzelnen Gruppen von Einsen bezieht. Das Hauptproblem für mich besteht also darin, die Gruppen der benötigten Werte zu unterscheiden und den Mittelwert für sie separat anzuwenden. Irgendwelche Ideen?
Ich bin neu hier also wenn etwas unklar ist, lass es mich wissen. Vielen Dank im Voraus.
Sie einige Versuche zur Verfügung stellen sollten, die Sie bisher – xlembouras