Βίντεο: Section 1: Less Comfortable 2024
Η ζωή θα ήταν βαρετή στο R αν δεν μπορούσατε να συνδυάσετε λογικές δηλώσεις. Εάν θέλετε να ελέγξετε αν ένας αριθμός βρίσκεται μέσα σε ένα συγκεκριμένο διάστημα, για παράδειγμα, θέλετε να ελέγξετε αν είναι μεγαλύτερο από τη χαμηλότερη τιμή και μικρότερη από την κορυφαία τιμή.
Για να δείξουμε, ας υποθέσουμε ότι έχετε δύο φορείς που περιέχουν τον αριθμό των καλαθιών που η Granny και η φίλη της Geraldine σημείωσαν στα έξι παιχνίδια αυτής της καλαθοσφαίρισης:
Ίσως θέλετε να μάθετε τα παιχνίδια στα οποία η Granny σημείωσε τα λιγότερα ή τα περισσότερα καλάθια. Για το σκοπό αυτό, το R έχει ένα σύνολο λογικών χειριστών που - το μαντέψατε - είναι όμορφα διανυσματοποιημένοι.
Για να δείξετε, χρησιμοποιώντας τις γνώσεις που έχετε τώρα, προσπαθήστε να μάθετε τα παιχνίδια στα οποία η Granny σημείωσε τα λιγότερα καλάθια και τα παιχνίδια στα οποία σημείωσε τα περισσότερα καλάθια:
-
min. τα καλάθια σας δείχνουν αν η τιμή είναι ίση με το ελάχιστο και το μέγιστο. τα καλάθια σας λένε αν η τιμή είναι ίση με τη μέγιστη.
Συνδυάστε και τους δύο φορείς με τον χειριστή OR (|), ως εξής: >> min. καλάθια | Μέγιστη. Καλάθια [1] ΑΛΗΘΕΙΑ ΨΗΦΙΑΚΑ ΘΑΝΑΤΟ FALSE FALSE TRUE
Αυτή η μέθοδος δεν είναι στην πραγματικότητα ο πιο αποτελεσματικός τρόπος για να βρείτε αυτές τις τιμές. Αυτό το παράδειγμα δείχνει σαφώς πώς λειτουργεί η διανυσματικότητα για λογικούς χειριστές.
-
Ο χειριστής NOT (!) Είναι ένα άλλο παράδειγμα της μεγάλης δύναμης της διανυσμάτωσης. Οι τιμές NA στο διάνυσμα x έχουν προκαλέσει ήδη κάποιο πρόβλημα, επομένως ίσως θέλετε να τους απαλλαγείτε. Γνωρίζετε ότι πρέπει να ελέγξετε αν λείπει μια τιμή χρησιμοποιώντας το ε. na ().
Αλλά χρειάζεστε τις τιμές που είναι
όχιελλείπουσες τιμές, οπότε αντιστρέψτε το λογικό διάνυσμα προβαίνοντάς το με το! χειριστής. Για να ρίξετε τις τιμές που λείπουν στο διάνυσμα x, για παράδειγμα, χρησιμοποιήστε τον ακόλουθο κώδικα: >> x [! είναι. na (x)] [1] 3 6 2 1
Όταν χρησιμοποιείτε το R, δεν υπάρχει κανένας τρόπος να ξεφύγετε από την διάνυσμα. Αφού κατανοήσετε τον τρόπο με τον οποίο λειτουργεί η διανυσματικότητα, ωστόσο, θα εξοικονομήσετε σημαντικό χρόνο υπολογισμού και γραμμές κώδικα.