Η δήλωση αν αλλιώς
Μια δήλωση if-else είναι ένα εξαιρετικό εργαλείο για τον προγραμματιστή που προσπαθεί να επιστρέψει μια έξοδο βάσει μιας συνθήκης. Στο R, η σύνταξη είναι:
if (condition) {Expr1} else {Expr2}
Θέλουμε να εξετάσουμε εάν μια μεταβλητή που αποθηκεύεται ως "ποσότητα" είναι πάνω από 20. Εάν η ποσότητα είναι μεγαλύτερη από 20, ο κωδικός θα εκτυπώσει "Πουλήσατε πολλά!" αλλιώς Δεν είναι αρκετό για σήμερα.
# Create vector quantityquantity <- 25# Set the is-else statementif (quantity > 20) {print('You sold a lot!')} else {print('Not enough for today')}
Παραγωγή:
## [1] "You sold a lot!"
Σημείωση : Βεβαιωθείτε ότι έχετε γράψει σωστά τις εσοχές. Ο κωδικός με πολλές συνθήκες μπορεί να γίνει δυσανάγνωστος όταν οι εσοχές δεν είναι στη σωστή θέση.
Το άλλο αν η δήλωση
Μπορούμε να προσαρμόσουμε περαιτέρω το επίπεδο ελέγχου με τη δήλωση other if. Με το elif, μπορείτε να προσθέσετε όσες προϋποθέσεις θέλουμε. Η σύνταξη είναι:
if (condition1) {expr1} else if (condition2) {expr2} else if (condition3) {expr3} else {expr4}
Μας ενδιαφέρει να μάθουμε αν πουλήσαμε ποσότητες μεταξύ 20 και 30. Εάν το κάνουμε, τότε η μέση ημέρα της πίντας. Εάν η ποσότητα είναι> 30 εκτυπώνουμε Τι υπέροχη μέρα!, Αλλιώς Δεν είναι αρκετό για σήμερα.
Μπορείτε να προσπαθήσετε να αλλάξετε το ποσό της ποσότητας.
# Create vector quantiyquantity <- 10# Create multiple condition statementif (quantity <20) {print('Not enough for today')} else if (quantity > 20 &quantity <= 30) {print('Average day')} else {print('What a great day!')}
Παραγωγή:
## [1] "Not enough for today"
Παράδειγμα 2:
Ο ΦΠΑ έχει διαφορετικό συντελεστή ανάλογα με το προϊόν που αγοράσατε. Φανταστείτε ότι έχουμε τρία διαφορετικά είδη προϊόντων με διαφορετικό ΦΠΑ:
Κατηγορίες | Προϊόντα | ΔΕΞΑΜΕΝΗ |
---|---|---|
ΕΝΑ | Βιβλίο, περιοδικό, εφημερίδα κ.λπ… | 8% |
σι | Λαχανικά, κρέας, ποτά, κ.λπ… | 10% |
ντο | Μπλουζάκι, τζιν, παντελόνι κλπ… | 20% |
Μπορούμε να γράψουμε μια αλυσίδα για να εφαρμόσουμε τον σωστό συντελεστή ΦΠΑ στο προϊόν που αγόρασε ένας πελάτης.
category <- 'A'price <- 10if (category =='A'){cat('A vat rate of 8% is applied.','The total price is',price *1.08)} else if (category =='B'){cat('A vat rate of 10% is applied.','The total price is',price *1.10)} else {cat('A vat rate of 20% is applied.','The total price is',price *1.20)}
Παραγωγή:
# A vat rate of 8% is applied. The total price is 10.8