IF, ELSE, ELSE IF Δήλωση στο R
Η δήλωση αν αλλιώς
Μια δήλωση if-else είναι ένα εξαιρετικό εργαλείο για τον προγραμματιστή που προσπαθεί να επιστρέψει μια έξοδο με βάση μια συνθήκη. Στο R, η σύνταξη είναι:
if (condition) { Expr1 } else { Expr2 }
Θέλουμε να εξετάσουμε εάν μια μεταβλητή που είναι αποθηκευμένη ως "ποσότητα" είναι πάνω από 20. Εάν η ποσότητα είναι μεγαλύτερη από 20, ο κωδικός θα εκτυπώσει "Πούλησες πολύ!" αλλιώς δεν φτάνει για σήμερα.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
Παραγωγή:
## [1] "You sold a lot!"
Σημείωση: Βεβαιωθείτε ότι έχετε γράψει σωστά τις εσοχές. Ο κώδικας με πολλαπλές συνθήκες μπορεί να γίνει μη αναγνώσιμος όταν οι εσοχές δεν είναι στη σωστή θέση.
Η δήλωση else if
Μπορούμε να προσαρμόσουμε περαιτέρω το επίπεδο ελέγχου με την εντολή else if. Με το elif, μπορείτε να προσθέσετε όσες συνθήκες θέλουμε. Η σύνταξη είναι:
if (condition1) { expr1 } else if (condition2) { expr2 } else if (condition3) { expr3 } else { expr4 }
Μας ενδιαφέρει να μάθουμε αν πουλήσαμε ποσότητες μεταξύ 20 και 30. Αν το κάνουμε, τότε η πίντα Μέση ημέρα. Αν η ποσότητα είναι > 30 εκτυπώνουμε Τι υπέροχη μέρα!, διαφορετικά Δεν αρκεί για σήμερα.
Μπορείτε να προσπαθήσετε να αλλάξετε την ποσότητα της ποσότητας.
# Create vector quantiy quantity <- 10 # Create multiple condition statement if (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:
Ο ΦΠΑ έχει διαφορετικό συντελεστή ανάλογα με το προϊόν που αγοράσατε. Φανταστείτε ότι έχουμε τρία διαφορετικά είδη προϊόντων με διαφορετικό ΦΠΑ:
Κατηγορίες | Προϊόντα | ΦΠΑ |
---|---|---|
A | Βιβλίο, περιοδικό, εφημερίδα κ.λπ. | 8% |
B | Λαχανικά, κρέατα, ποτά κ.λπ.. | 10% |
C | Μπλουζάκι, τζιν, παντελόνι κ.λπ.. | 20% |
Μπορούμε να γράψουμε μια αλυσίδα για να εφαρμόσουμε τον σωστό συντελεστή ΦΠΑ στο προϊόν που αγόρασε ένας πελάτης.
category <- 'A' price <- 10 if (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