Vektorisierte Logik Teil 1
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 20 von 78.
R hat zwei Versionen von AND- und OR-Operatoren. Sie haben bereits && und || kennengelernt, die mit Einzelwerten arbeiten. Lassen Sie uns nun ihre vektorisierten Gegenstücke untersuchen: & und | (einzelne Symbole).
Der entscheidende Unterschied besteht darin, dass & und | Werte Element für Element vergleichen, wenn mit mehreren Werten gearbeitet wird:
a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)
a & b # TRUE FALSE FALSE FALSE
a | b # TRUE TRUE TRUE FALSEJede Position wird unabhängig verglichen. An der ersten Position sind sowohl a als auch b TRUE, daher gibt a & b TRUE zurück. An der zweiten Position ist a TRUE, aber b ist FALSE, daher gibt a & b FALSE zurück.
Dies wird in Kombination mit Vergleichsoperatoren besonders mächtig:
scores <- c(85, 42, 91, 67, 55)
# Prüfen, welche Punktzahlen zwischen 50 und 80 liegen
scores >= 50 & scores <= 80 # FALSE FALSE FALSE TRUE TRUEDas Ergebnis ist ein Vektor von logischen Werten, der anzeigt, welche Elemente beide Bedingungen erfüllen. Dieses elementweise Verhalten ist essenziell für das Filtern und Analysieren von Daten in R.
Aufgabe
EinfachVerwenden Sie die vektorisierten AND- (&) und OR- (|) Operatoren, um elementweise Vergleiche auf Vektoren durchzuführen.
Ihnen stehen die folgenden Vektoren zur Verfügung:
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)Verwenden Sie vektorisierte logische Operatoren, um die folgenden logischen Vektoren zu erstellen:
- Erstellen Sie einen Vektor namens
comfortable_temp, derTRUEfür jede Temperatur speichert, die größer oder gleich 20 UND kleiner oder gleich 30 ist. - Erstellen Sie einen Vektor namens
high_humidity, derTRUEfür jeden Feuchtigkeitswert speichert, der größer als 70 ist. - Erstellen Sie einen Vektor namens
pleasant_day, derTRUEfür jeden Tag speichert, an dem die Temperatur zwischen 20 und 30 (einschließlich) liegt UND die Luftfeuchtigkeit kleiner oder gleich 60 ist. - Erstellen Sie einen Vektor namens
extreme_weather, derTRUEfür jeden Tag speichert, an dem die Temperatur größer als 30 ist ODER die Luftfeuchtigkeit größer als 80 ist. - Erstellen Sie einen Vektor namens
stay_inside, derTRUEfür jeden Tag speichert, an dem die Temperatur kleiner als 18 ist ODER (die Temperatur größer als 30 ist UND die Luftfeuchtigkeit größer als 70 ist).
Verwenden Sie die print()-Funktion, um comfortable_temp, high_humidity, pleasant_day, extreme_weather und stay_inside in genau dieser Reihenfolge anzuzeigen.
Probier es selbst
# Bereitgestellte Vektoren
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)
# TODO: Schreibe deinen Code unten
# 1. Erstelle comfortable_temp: TRUE, wenn temp >= 20 UND temp <= 30
# 2. Erstelle high_humidity: TRUE, wenn humidity > 70
# 3. Erstelle pleasant_day: TRUE, wenn temp zwischen 20-30 liegt UND humidity <= 60
# 4. Erstelle extreme_weather: TRUE, wenn temp > 30 ODER humidity > 80
# 5. Erstelle stay_inside: TRUE, wenn temp < 18 ODER (temp > 30 UND humidity > 70)
# Ergebnisse ausgeben
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte