Ich bin vertraut mit R, wie ich es seit ein paar Jahren benutze. Leider bin ich nicht sehr versiert darin, Funktionen zu erstellen, die das Wiederholen oder Wiederholen einer Gleichung beinhalten. Das Problem läuft wie folgt ab:Wiederholen oder Schleifen eines Arguments
Ich habe einen Vektor mit mehr als 1000 Werten. Ich möchte den absoluten Unterschied zwischen zwei nebeneinander liegenden Mitteln gleicher Größe aus einer Teilmenge dieses Vektors berechnen.
Hier ist ein Beispiel.
Ich habe den Vektor (VEC) der Länge 8
[1] 0.12472963 1.15341289 -1.09662288 -0.73241639 0.06437658 -0.13647136 -1.52592048 1.46450084
Ich würde die Mittel der ersten 2 Werte mögen berechnen (0,12472963, 1,15341289) und die absolute Differenz mit dem Mittelwert der folgenden 2-Werte erhalten, (-1.09662288 -0.73241639), danach arbeite ich den Vektor runter.
In diesem Fall kann ich leicht die folgende Gleichung verwenden:
abs(mean(vec[1:2])-mean(vec[3:4]))
und schrittweise jede Zahl von 1 zu erhöhen, um meinen Weg bis zum Ende des Vektors nach unten manuell zu arbeiten. Ich würde den folgenden Vektor erhalten.
[1] 1.553591 0.3624149 0.8784722 0.497176 0.005337574
Was ich möchte, aber eine automatisierte Routine haben, dass über lange Vektoren zu tun mir ermöglicht und die Anzahl der Werte, aus denen die Mittel zur Berechnung ändern.
Es scheint mir, dass es relativ einfach sein sollte, aber ich weiß nicht, wo ich anfangen soll.
Sie könnten 'Blick in rollapply()' 'vom zoo' Paket. –