Ich bin mir ziemlich sicher, dass Sie alle zustimmen, dass rle
eine dieser "Gotcha" -Funktionen in R ist. Gibt es eine ähnliche Funktion, die einen "Lauf" von benachbarten ganzzahligen Werten "fangen" kann?
Also, wenn ich einen Vektor wie diesen habe:
%Vor%und ich nenne diese esoterische Funktion, ich werde eine Antwort wie diese erhalten:
%Vor%Es ist nicht schwer so eine Funktion zu schreiben, aber trotzdem ... irgendwelche Ideen?
1) Berechne Werte und dann Längen basierend auf Werten
%Vor% Das Ausführen von x
aus der Frage ergibt Folgendes:
2) Berechnen Sie Längen und dann Werte basierend auf den Längen
Hier ist eine zweite Lösung basierend auf Gregors Längenberechnung :
%Vor%3) Berechnen Sie Längen und Werte, ohne andere zu verwenden
Dieser scheint ineffizient zu sein, da er jedes von lengths
und values
von Grund auf neu berechnet und es scheint auch etwas übermäßig komplex zu sein, aber es schafft es, alles auf eine einzige Aussage zu reduzieren, also dachte ich, ich würde es auch hinzufügen . Es ist im Grunde genommen nur eine Mischung der beiden vorherigen Lösungen, die oben mit 1) und 2) gekennzeichnet sind. Nichts wirklich neues im Verhältnis zu diesen beiden.
BEARBEITEN: Zweite Lösung hinzugefügt.
BEARBEITEN: Dritte Lösung hinzugefügt.
Wie Sie sagen, ist es einfach genug, etwas ähnliches wie rle
zu schreiben. In der Tat könnte die Anpassung des Codes für rle
durch Hinzufügen von + 1
etwas wie
und verwenden Sie Ihr Beispiel
%Vor%was John erwartet hat.
Sie könnten den Code weiter anpassen, um die erste von jeder aufeinanderfolgenden Teilfolge anstatt der letzten zu geben.
Ich habe kürzlich meinen seqle
code hier gepostet, basierend auf Code, der hier schon vorher gepostet wurde :-).
Sie finden es unter erkennen Intervalle der folgenden Integer-Sequenzen
Tags und Links r