Wie zähle ich die Anzahl der Binärkombinationen mit zwei Beobachtungen?

7

Im folgenden Beispiel möchte ich die Anzahl der 010 -Sequenzen oder die Anzahl der 1010 -Sequenzen kennen. Unten ist ein praktikables Beispiel;

%Vor%

In diesem Beispiel wäre die Anzahl der 010 -Sequenzen 6 und die Anzahl der 1010 -Sequenzen wäre 4.

Was wäre der effizienteste / einfachste Weg, die Anzahl aufeinanderfolgender Sequenzen zu zählen?

    
Johnny 09.01.2017, 19:00
quelle

4 Antworten

7

Eine andere Lösung wäre dies:

%Vor%

Wie @Pierre Lafortune in den Kommentaren darauf hingewiesen hat, kann dies ohne Verwendung von Paketen geschehen:

%Vor%     
Kristofersen 09.01.2017, 19:26
quelle
10

Ein fadenloser Weg:

%Vor%

Alternativen. Von @ cryo11 aus gibt es einen anderen Weg:

%Vor%

oder eine andere Variante:

%Vor%

oder mit data.table:

%Vor%

(Die Funktion shift ist sehr ähnlich zu embed .)

    
Frank 09.01.2017 19:57
quelle
5

Logik: nimm einen Teilstrg von der Länge des Musters, nach dem du suchst, und vergleiche es mit dem Muster.

%Vor%     
joel.wilson 09.01.2017 19:19
quelle
3

R führte die Funktion startsWith in 3.3.0 ein. Mit diesem und substring können wir die Methode von @ joel.wilson als

implementieren %Vor%

Hier konstruiert substring alle drei benachbarten Zeichensätze und startsWith -Tests, wenn jede davon mit "010" identisch ist. Die TRUE-Werte werden dann summiert.

    
lmo 09.01.2017 20:12
quelle

Tags und Links