Βίντεο: Σκληρή απάντηση Καπουτζίδη on air: Η Μεσσαροπούλου έχει μαυρίλα μέσα της 2024
Εάν οι δηλώσεις μπορούν να είναι πολύ χρήσιμες στο R, όπως είναι σε οποιαδήποτε γλώσσα προγραμματισμού,. Συχνά, θέλετε να κάνετε επιλογές και να αναλάβετε δράση ανάλογα με μια συγκεκριμένη τιμή.
Ο ορισμός μιας επιλογής στον κώδικά σας είναι αρκετά απλός: Εάν αυτή η συνθήκη είναι αληθής, εκτελέστε μια συγκεκριμένη εργασία. Πολλές γλώσσες προγραμματισμού σας επιτρέπουν να το κάνετε αυτό με ακριβώς τις λέξεις: αν … τότε. R καθιστά ακόμη πιο εύκολη: Μπορείτε να αφήσετε τη λέξη και και να καθορίσετε την επιλογή σας σε μια εντολή if.
Η λέξη-κλειδί if-
Μια ενιαία λογική τιμή μεταξύ παρενθέσεων (ή μια έκφραση που οδηγεί σε μια ενιαία λογική τιμή)
-
A block of code between braces που πρέπει να εκτελεστεί όταν η λογική τιμή είναι TRUE
-
Εδώ υπάρχει μια πολύ μικρή λειτουργία, priceCalculator (), που υπολογίζει την τιμή που χρεώνετε σε έναν πελάτη με βάση τις ώρες εργασίας που κάνατε για αυτόν τον πελάτη. Η λειτουργία θα πρέπει να λαμβάνει τον αριθμό ωρών (ώρες) και την τιμή ανά ώρα (pph) ως είσοδο. Η λειτουργία priceCalculator () θα μπορούσε να είναι κάτι σαν αυτό:
Δείτε τι κάνει αυτός ο κώδικας:
Με τη λέξη-κλειδί λειτουργίας, ορίζετε τη λειτουργία.
-
Τα πάντα μεταξύ των τιράντες είναι το σώμα της λειτουργίας (βλ. Κεφάλαιο 8).
-
Μεταξύ των παρενθέσεων, καθορίζετε τις ώρες των παραμέτρων (χωρίς προκαθορισμένη τιμή) και pph (με προεπιλεγμένη τιμή $ 40 ανά ώρα).
-
-
Το αποτέλεσμα της τελευταίας δήλωσης στο σώμα της λειτουργίας σας είναι η επιστρεφόμενη τιμή. Σε αυτήν την περίπτωση, αυτή είναι η συνολική τιμή που στρογγυλοποιείται στο δολάριο.
-
Θα μπορούσατε να αποθέσετε το επιχείρημα pph και να πολλαπλασιάσετε μόνο τις ώρες με 40. Αλλά αυτό θα σήμαινε ότι εάν ο συνάδελφός σας χρησιμοποιεί διαφορετικό ωριαίο ρυθμό, θα έπρεπε να αλλάξει την αξία στο σώμα της λειτουργίας, προκειμένου να να είναι σε θέση να το χρησιμοποιήσει. Είναι καλή πρακτική κωδικοποίησης να χρησιμοποιείτε επιχειρήματα με προεπιλεγμένες τιμές για οποιαδήποτε τιμή που μπορεί να αλλάξει. Με τον τρόπο αυτό η λειτουργία είναι πιο ευέλικτη και χρησιμοποιήσιμη.
Τώρα φανταστείτε ότι έχετε μερικούς μεγάλους πελάτες που σας δίνουν πολλή δουλειά. Για να τους κρατήσετε ευτυχείς, αποφασίζετε να τους δώσετε μείωση κατά 10% στην τιμή ανά ώρα για παραγγελίες που περιλαμβάνουν περισσότερες από 100 ώρες εργασίας. Έτσι, αν ο αριθμός των ωρών εργασίας είναι μεγαλύτερος από 100, υπολογίζετε τη νέα τιμή πολλαπλασιάζοντας την τιμή κατά 0. 9.
Μπορείτε να γράψετε σχεδόν σχεδόν κυριολεκτικά στον κώδικα σας όπως παρακάτω:
priceCalculator <- function ώρες, pph = 40) {net. τιμή 100) {net. τιμή <- καθαρή.τιμή * 0. 9} στρογγυλή (καθαρή τιμή)}
Αντιγράψτε αυτόν τον κώδικα σε ένα αρχείο δέσμης ενεργειών και στείλτε την στην κονσόλα ώστε να είναι διαθέσιμη για χρήση. Αν δοκιμάσετε αυτή τη λειτουργία, μπορείτε να δείτε ότι η μείωση γίνεται μόνο όταν ο αριθμός ωρών είναι μεγαλύτερος από 100: >> τιμήCalculator (ώρες = 55) [1] 2200> τιμήCalculator (ώρες = 110) [1] 3960
Αυτή η κατασκευή είναι ο πιο γενικός τρόπος που μπορείτε να ορίσετε μια εντολή if. Αλλά εάν έχετε μόνο μία σύντομη γραμμή κώδικα στο μπλοκ κώδικα, δεν χρειάζεται να τοποθετήσετε τιράντες γύρω από αυτό. Μπορείτε να αλλάξετε την πλήρη πρόταση if στη συνάρτηση με την ακόλουθη γραμμή:
εάν (ώρες> 100) καθαρό. τιμή <- καθαρή. τιμή * 0. 9
Ο συνηθισμένος τρόπος λήψης βοήθειας για μια λειτουργία με όνομα, για παράδειγμα, διασκέδαση. όνομα ("όνομα διασκέδασης") δεν λειτουργεί για αν. Για να αποκτήσετε πρόσβαση στην ενσωματωμένη βοήθεια για αν, πρέπει να αναφέρετε το όνομα της λειτουργίας. Μπορείτε να χρησιμοποιήσετε μεμονωμένα εισαγωγικά, διπλά εισαγωγικά ή αντίγραφα. Κάθε μία από τις παρακάτω δηλώσεις σας μεταφέρει στη σελίδα Βοήθειας για εάν:
; 'αν αν"? 'if'