Sagen wir, ich den folgenden Vektor haben:Wie Zyklen in einem Vektor in R erkennen
vec = c(29, 30, 15, 29, 17, 25, 24, 28, 25, 24, 28, 25, 24, 28, 25, 24, 28)
Sie werden es merken, sind drei sich wiederholende Elemente (25, 24 und 28). Wie kann ich R erkennen, wenn sich Elemente (oder Zyklen) in einem Vektor wiederholen? Ich möchte dies feststellen, egal wie viele Elemente sich wiederholen (2 oder 5 statt 3) und egal wie viele Elemente in den Vektor eingefügt werden.
Für Kontext, ich habe einen Algorithmus bekam, der auf einen Wert zu konvergieren versucht, aber manchmal wird es in dieser sich wiederholenden Schleife stecken. Ich möchte, dass R erkennt, wenn es in dieser Endlosschleife feststeckt und aussteigt. Die vec
in meinem Beispiel ist ein Protokoll des Werts bei jeder Iteration.
Ich habe herausgefunden, wie ich doppelte sich wiederholende Elemente fangen kann (den Wert aus der letzten Iteration speichern, um mit der aktuellen Iteration zu vergleichen), aber diese 3+ wiederholenden Elemente haben mich verwirrt.
"Zyklen" ist wahrscheinlich eine bessere Beschreibung als "sich wiederholende Elemente" – sirallen
Dank! Aktualisiert. vielleicht – CephBirk
Relevante - http://stackoverflow.com/questions/15328925/number-sequence-recognition – thelatemail