Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024
Het leven zou saai zijn in R als je geen logische statements zou kunnen combineren. Als u wilt testen of een getal binnen een bepaald interval ligt, wilt u bijvoorbeeld controleren of het groter is dan de laagste waarde en minder dan de hoogste waarde.
Laten we, om dit te illustreren, aannemen dat je twee vectoren hebt die het aantal manden bevatten dat oma en haar vriend Geraldine hebben gescoord in de zes wedstrijden van dit basketbalseizoen:
Misschien wil je de spellen kennen waarin Granny de minste of de meeste manden scoorde. Voor dat doel heeft R een aantal logische operatoren die - je raadt het al - mooi zijn gevectoriseerd.
Ter illustratie, gebruik de kennis die je nu hebt en probeer uit te vinden in welke games Granny de minste manden scoorde en de games waarin ze de meeste manden scoorde:
-
min. manden vertelt u of de waarde gelijk is aan het minimum en max. manden vertelt u of de waarde gelijk is aan het maximum.
Combineer beide vectoren met de operator OR (|), als volgt: >> min. manden | max. manden [1] WAAR ONWAAR ONWAAR ONWAAR ONWAAR WAAR
Deze methode is eigenlijk niet de meest efficiënte manier om die waarden te vinden. In dit voorbeeld ziet u duidelijk hoe vectorisatie werkt voor logische operatoren.
-
De NOT-operator (!) Is een ander voorbeeld van de grote kracht van vectorisatie. De NA-waarden in de vector x hebben al problemen veroorzaakt, dus u wilt waarschijnlijk van ze af. U weet dat u moet controleren of een waarde ontbreekt door de is te gebruiken. na () functie.
Maar u heeft de waarden nodig die
nietmissende waarden, dus keer de logische vector om door deze vooraf te gaan met de! operator. Om de ontbrekende waarden in de vector x te laten vervallen, gebruikt u bijvoorbeeld de volgende code: >> x [! is. na (x)] [1] 3 6 2 1
Wanneer u R gebruikt, kunt u de vectorisatie niet omzeilen. Nadat u hebt begrepen hoe vectorisatie werkt, bespaart u echter aanzienlijke rekentijd en coderegels.