Wie logische Aussagen in R zu kombinieren

Das Leben wäre langweilig in R, wenn Sie keine logischen Aussagen kombinieren könnte. Wenn Sie, ob eine Zahl testen möchten, liegt innerhalb eines bestimmten Intervalls, zum Beispiel möchten Sie überprüfen, ob er größer als der niedrigste Wert und kleiner als der Spitzenwert.

Zur Veranschaulichung nehmen wir an, Sie haben zwei Vektoren, die die Anzahl der Körbe, die Oma und ihre Freundin Geraldine erzielte in den sechs Spielen dieser Basketball-Saison enthält:

> baskets.of.Granny lt; - c (12,4,4,6,9,3)> baskets.of.Geraldine lt; - c (5,3,2,2,12,9)

Vielleicht möchten Sie die Spiele zu wissen, in welchem ​​Granny die wenigsten oder die meisten Körbe erzielt. Zu diesem Zweck hat R einen Satz von logischen Operatoren, die - Sie ahnen es - sind schön vektorisiert.

Zur Veranschaulichung, mit dem Wissen, das Sie jetzt haben, versuchen Sie, die Spiele zu finden, in dem Oma hat die wenigsten Körbe und die Spiele, in denen sie die meisten Körbe erzielt:

  1. Erstellen Sie zwei logische Vektoren, wie folgt:

    > min.baskets lt; - baskets.of.Granny == min (baskets.of.Granny)> max.baskets lt; - baskets.of.Granny == max (baskets.of.Granny)

    min.baskets sagt Ihnen, ob der Wert auf das Minimum gleich ist, und max.baskets sagt Ihnen, ob der Wert auf das Maximum gleich ist.

  2. Kombinieren Sie beide Vektoren mit der ODER Operator (|), wie folgt:

> Min.baskets | max.baskets [1] RICHTIG FALSCH FALSCH FALSCH FALSCH TRUE

Dieses Verfahren ist tatsächlich nicht der effizienteste Weg, um die Werte zu finden. Dieses Beispiel zeigt deutlich, wie Sie Vektorisierung für logische Operatoren funktioniert.

Das NICHT Operator (!) Ist ein weiteres Beispiel für die große Macht der Vektorisierung. Das N / A Werte in dem Vektor x einige Probleme bereits verursacht haben, so dass Sie wahrscheinlich, um sie möchten loszuwerden. Sie wissen, dass Sie überprüfen müssen, ob ein Wert von fehlt die Verwendung is.na () Funktion.

Aber Sie müssen die Werte, die sind nicht fehlende Werte, invertieren, so die logische Vektor indem sie sie mit der vorhergehenden ! Operator. Um die fehlenden Werte in den Vektor fallen x, Verwenden Sie beispielsweise den folgenden Code:

> X [! Is.na (x)] [1] 3 6 2 1

Wenn Sie R verwenden, gibt es keinen Weg, um die Vektorisierung zu bekommen. Nachdem Sie verstehen, wie Vektorisierung funktioniert, werden Sie jedoch erhebliche Rechenzeit und Codezeilen zu speichern.

Menü