Βίντεο: Σκληρή απάντηση Καπουτζίδη on air: Η Μεσσαροπούλου έχει μαυρίλα μέσα της 2024
Όταν χρησιμοποιείτε R, μερικές φορές χρειάζεστε τη λειτουργία σας για να κάνετε κάτι εάν μια προϋπόθεση είναι αληθής και κάτι άλλο εάν είναι Όχι, θα μπορούσατε να το κάνετε αυτό με δύο δηλώσεις, αλλά υπάρχει ένας ευκολότερος τρόπος στη δήλωση R: if if …. Μια εντολή if … else περιέχει τα ίδια στοιχεία με μια εντολή if (δείτε την προηγούμενη ενότητα) και στη συνέχεια μερικά επιπλέον:
-
Η δεύτερη λέξη κλειδί, τοποθετημένη μετά το πρώτο μπλοκ κώδικα
-
Ένα δεύτερο μπλοκ κώδικα, το οποίο πρέπει να εκτελεστεί αν και μόνο αν το αποτέλεσμα η κατάσταση στην περίπτωση if () είναι FALSE
Σε ορισμένες χώρες, το ποσό του ΦΠΑ που πρέπει να καταβληθεί εξαρτάται από το αν ο πελάτης είναι δημόσιος ή ιδιωτικός οργανισμός Φανταστείτε ότι οι δημόσιοι οργανισμοί πρέπει να πληρώσουν μόνο 6% ΦΠΑ και ιδιωτικοί οργανισμοί πρέπει να πληρώσουν 12% ΦΠΑ.Μπορείτε να προσθέσετε ένα πρόσθετο επιχείρημα υπέρ της επιχείρησης PriceCalculator () func να προσθέσετε το σωστό ποσό του ΦΠΑ:
εάν (ώρες> 100) καθαρό. τιμή <- καθαρή. τιμή * 0. 9 εάν (δημόσια) {tot. τιμή <- καθαρή. τιμή * 1. 06} αλλιώς {tot. τιμή <- καθαρή. τιμή * 1. 12} στρογγυλή (συνολική τιμή)}
Αν στείλετε αυτόν τον κωδικό στην κονσόλα, μπορείτε να δοκιμάσετε τη λειτουργία. Για παράδειγμα, αν εργαστήκατε για 25 ώρες, ο ακόλουθος κωδικός σας δίνει τα διαφορετικά ποσά που χρεώνεστε για τους δημόσιους και ιδιωτικούς οργανισμούς, αντίστοιχα: >> priceCalculator (25, public = TRUE) [1] 1060> priceCalculator = FALSE) [1] 1120
Αυτό λειτουργεί καλά, αλλά πώς λειτουργεί;
Η εντολή if χρειάζεται λογική τιμή μεταξύ των παρενθέσεων. Οποιαδήποτε έκφραση βάζετε μεταξύ των παρενθέσεων αξιολογείται πριν μεταφερθεί στη δήλωση if. Έτσι, εάν εργάζεστε άμεσα με λογική αξία, δεν χρειάζεται να καθορίσετε κάποια έκφραση. Χρησιμοποιώντας, για παράδειγμα, εάν το (δημόσιο == TRUE) είναι περιττό.
if (public) tot. τιμή <- καθαρή. τιμή * 1. 06 alt alt. τιμή <- καθαρή. τιμή * 1. 12
Η τοποθέτηση της δήλωσης else στο τέλος μιας γραμμής και όχι η αρχή της επόμενης είναι μια καλή ιδέα.
μέσα σε μια συνάρτηση και θα έχετε πηγή ολόκληρου του αρχείου ταυτόχρονα στο R. Αλλά μπορείτε να το κάνετε πιο σύντομο. Η εντολή if λειτουργεί ως μια συνάρτηση και ως εκ τούτου επιστρέφει επίσης μια τιμή. Ως αποτέλεσμα, μπορείτε να αντιστοιχίσετε αυτήν την τιμή σε ένα αντικείμενο ή να το χρησιμοποιήσετε σε υπολογισμούς. Έτσι, αντί να υπολογίσετε το καθαρό. τιμή και την απόδοση του αποτελέσματος σε όλα. τιμή εντός των μπλοκ κώδικα, μπορείτε να χρησιμοποιήσετε την εντολή if … else όπως αυτή:
R θα αξιολογήσει πρώτα την εντολή if … else και θα πολλαπλασιάσει το αποτέλεσμα με το καθαρό. τιμή. Το αποτέλεσμα αυτού κατανέμεται στη συνέχεια σε όλα. τιμή. Αυτό δεν διαφέρει από ένα iota από το αποτέλεσμα των πέντε γραμμών του κώδικα που χρησιμοποιήσαμε για την αρχική if … else δήλωση.