Κατακτήστε τον βρόχο for για να απλοποιήσετε πολύπλοκους υπολογισμούς και άλλες επαναλαμβανόμενες λειτουργίες.
Οι βρόχοι είναι μια βασική δομή στον προγραμματισμό που λαμβάνουν ένα μπλοκ κώδικα και το εκτελούν επανειλημμένα. Οι βρόχοι for είναι ένας από τους τύπους βρόχων που περιέχουν σχεδόν όλες οι γλώσσες. Οι βρόχοι R για είναι αναπόσπαστο μέρος της ανάλυσης δεδομένων.
Εξυπηρετούν διάφορους σκοπούς, από τη μορφοποίηση της εξόδου έως την εκτέλεση υπολογισμών σε μεγάλα σύνολα δεδομένων. Η χρήση των βρόχων for στο R διευκολύνει την εκτέλεση της ανάλυσης δεδομένων.
R’s Basic for Loop
Ο βρόχος for της γλώσσας R λειτουργεί παρόμοια με το πρότυπο για βρόχους που βρέθηκαν στο Go και τις περισσότερες άλλες γλώσσες προγραμματισμού. Δεδομένου ενός σημείου εκκίνησης, θα εκτελέσει τον κώδικα που περιέχεται σε αυτό πολλές φορές.
Ένας μετρητής κρατά την επανάληψη στην οποία βρίσκεται αυτή τη στιγμή ο βρόχος και μπορείτε να αποκτήσετε πρόσβαση σε αυτόν από το συσχετισμένο μπλοκ κώδικα. Οι βρόχοι μπορούν να εκτελεστούν για έναν σταθερό αριθμό επαναλήψεων ή για το συνολικό μήκος ενός πίνακα, διανύσματος ή λίστας.
Διορθώθηκαν οι βρόχοι επανάληψης
Οι σταθεροί βρόχοι επανάληψης στο R έχουν την ακόλουθη μορφή:
Για (Χ σε1:10) {
εκτύπωση (x)
}
Το x στον βρόχο είναι η μεταβλητή που θα αποθηκεύσει την επανάληψη του βρόχου.
Μετά τη λέξη-κλειδί "in" βρίσκονται τα σημεία έναρξης και λήξης του βρόχου. Ο βρόχος θα ξεκινήσει τον επαναλήπτη του από τον πρώτο αριθμό.
Μετά από κάθε φορά που εκτελείται ο κώδικας στον βρόχο, θα ελέγχει εάν ο επαναλήπτης είναι ίσος με τον αριθμό μετά την άνω και κάτω τελεία.
Εάν είναι, η εκτέλεση του κώδικα θα συνεχιστεί μετά τον βρόχο. Εάν δεν είναι, ο επαναλήπτης θα αυξηθεί κατά 1 και το μπλοκ κώδικα στις αγκύλες θα εκτελεστεί ξανά.
Για βρόχους σε πίνακες, λίστες και διανύσματα
Οπως ακριβώς περιήγηση σε ένα λεξικό στην Python, μπορείτε να επαναλάβετε τις κατάλληλες δομές δεδομένων στο R χρησιμοποιώντας τον βρόχο for. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε επαναλαμβανόμενη δομή δεδομένων μετά τη λέξη-κλειδί "in", στη θέση ενός σταθερού σημείου έναρξης και λήξης.
Η επαναφορά με αυτόν τον τρόπο θα αλλάξει τη συμπεριφορά του κώδικα. Εδώ, ο βρόχος θα λειτουργεί σαν βρόχος foreach από γλώσσες όπως η C#:
υπαλλήλων "Μπεν", "Ιωάννα", "Σούζι", "Αστειεύομαι", "Κάλαντα")
Για (Χ σε υπαλλήλους) {
εκτύπωση (x)
}
Τώρα, αντί να κρατά το x την τρέχουσα επανάληψη του βρόχου, θα κρατά το αντικείμενο από τον πίνακα ή τη λίστα στην οποία βρίσκεται αυτήν τη στιγμή ο βρόχος. Μετά την ολοκλήρωση κάθε βρόχου, εάν υπάρχουν περισσότερα στοιχεία στη λίστα, τον πίνακα ή το διάνυσμα, το x θα οριστεί στο επόμενο στοιχείο. Εάν δεν υπάρχουν περισσότερα στοιχεία, τότε η εκτέλεση θα συνεχιστεί με τον κώδικα μετά τον βρόχο.
Η πρωταρχική συνάρτηση c και για βρόχους
Εκτός από τις ήδη συμπληρωμένες δομές δεδομένων, η R μπορεί να συνθέσει μια νέα στη δήλωση του βρόχου for. Για να το κάνετε αυτό, χρησιμοποιήστε τη συνάρτηση c για να συνδυάσετε πολλά στοιχεία σε ένα νέο διάνυσμα.
Μπορείτε να απλοποιήσετε το παραπάνω παράδειγμα χρησιμοποιώντας αυτήν τη μέθοδο:
Για (Χ σε ντο("Μπεν", "Ιωάννα", "Σούζι", "Αστειεύομαι", "Κάλαντα")) {
εκτύπωση (x)
}
Σημειώστε ότι η έξοδος είναι ίδια με πριν:
Δηλώσεις μετάβασης του R
Δύο προτάσεις σάς επιτρέπουν να παραλείψετε επαναλήψεις βρόχου: break και next. Αυτό το καταφέρνουν με διαφορετικούς τρόπους. Θα πρέπει να βεβαιωθείτε ότι γνωρίζετε τη διαφορά μεταξύ των δύο.
Λέξη-κλειδί διάλειμμα
Όταν ένας βρόχος συναντά μια εντολή break μέσα του, κλείνει αμέσως τον βρόχο. Εφόσον το πρόγραμμα βγαίνει από τον βρόχο μόλις χτυπήσει τη λέξη-κλειδί break, δεν θα εκτελέσει ξανά κανέναν από τον υπόλοιπο κώδικα:
μέρες "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο",
"Κυριακή")Για (Χ σε ημέρες) {
αν (x == "Σάββατο") {
Διακοπή
}
εκτύπωση (x)
}
Ο παραπάνω βρόχος θα εκτυπώσει όλες τις καθημερινές, αλλά καμία από τις ημέρες του Σαββατοκύριακου.
Η επόμενη λέξη-κλειδί
Η επόμενη λέξη-κλειδί παραλείπει επίσης μια επανάληψη, αλλά σε αντίθεση με τη διακοπή, η επόμενη δεν κλείνει αμέσως τον βρόχο. Ο βρόχος που παραμένει ανοιχτός σημαίνει ότι οποιοσδήποτε πρόσθετος κώδικας στον τρέχοντα βρόχο δεν θα εκτελεστεί, αλλά η επόμενη επανάληψη θα συνεχιστεί όπως έχει προγραμματιστεί:
μέρες "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο",
"Κυριακή")Για (Χ σε ημέρες) {
αν (x == "Σάββατο") {
Επόμενο
}
εκτύπωση (x)
}
Αυτός ο βρόχος θα βγαίνει κάθε εβδομάδα και την Κυριακή, αλλά δεν θα εκτυπώνεται το Σάββατο.
Παράδειγμα για τους βρόχους στο R
Υπάρχει μια μεγάλη ποικιλία καταστάσεων στις οποίες οι βρόχοι for είναι χρήσιμοι στο R. Μπορούν να είναι ένας πολύ καλός τρόπος για να εκτελέσετε επαναλαμβανόμενους υπολογισμούς, όπως η προσθήκη αριθμών για να λάβετε ένα σύνολο:
παραγγελίες 23.4, 699.8, 1042.0)
σύνολο 0.0Για (Σειρά σε παραγγελίες) {
σύνολο }
Γάτα("το σύνολο είναι $", σύνολο, "\n")
Αυτό το παράδειγμα θα προσθέσει ένα σύνολο παραγγελίας από κάθε μεμονωμένη παραγγελία σε μια λίστα στο συνολικό σύνολο.
Εναλλακτικά, ένας βρόχος for μπορεί να σας βοηθήσει να εξάγετε γρήγορα και εύκολα μεγάλες ποσότητες καλά μορφοποιημένων δεδομένων:
ημέρα_σύνολο 567.82, 364.72, 762.81, 354.99, 622.87)
Για (ημέρα σε1:length (day_totals)) {
Γάτα("Ημέρα #", ημέρα, ": $", day_totals[ημέρα],"\n")
ημέρα 1
}
Μπορείτε να χρησιμοποιήσετε έναν βρόχο για να εκτυπώσετε κάθε μέρα της εβδομάδας και τις συνολικές πωλήσεις για τη συγκεκριμένη ημέρα.
Μπορείτε να χρησιμοποιήσετε έναν βρόχο for για να υπολογίσετε τα αποτελέσματα και να τα καταστήσετε διαθέσιμα για κωδικοποίηση εκτός του βρόχου for, για να αποκτήσετε μια ποικιλία πληροφοριών:
test_scores 67, 89, 72, 44)
score_total 0
num_tests 0Για (σκορ σε βαθμοί διαγωνισμάτων) {
score_total num_tests 1
}
μέση_βαθμολογία εκτύπωση (μέση_βαθμολογία)
Ο παραπάνω βρόχος θα υπολογίσει τη μέση βαθμολογία που πέτυχαν οι μαθητές σε ένα τεστ.
Όλα όσα πρέπει να γνωρίζετε για τα R's for Loops
Είναι απαραίτητο να μάθετε πώς να εκτελείτε έναν καθορισμένο αριθμό βρόχων ή να κάνετε επανάληψη σε ένα σύνολο δεδομένων χωρίς σταθερό μήκος.
Είτε χρειάζεται να εκτελέσετε επαναλαμβανόμενους υπολογισμούς σε έναν πίνακα, να εκτυπώσετε κάθε στοιχείο σε μια λίστα ή να εμφανίσετε μια μεγάλη παρτίδα δεδομένων σε αναγνώσιμη μορφή, ο βρόχος R's for μπορεί να σας βοηθήσει.
Η κατανόηση των βασικών αρχών πίσω από τους βρόχους είναι μια πολύτιμη ικανότητα που πρέπει να έχετε στο οπλοστάσιό σας και η κατοχή της μπορεί να σας βοηθήσει να γράψετε απλό, ευανάγνωστο κώδικα.