Προγραμματισμός

Σε αυτό το μέρος του βιβλίου, θα βελτιώσετε τις προγραμματιστικές σας δεξιότητες. Ο προγραμματισμός είναι μια οριζόντια δεξιότητα που απαιτείται για όλες τις σχετικές εργασίες της επιστήμης των δεδομένων: πρέπει να χρησιμοποιήσετε υπολογιστή για να εφαρμόσετε την επιστήμη των δεδομένων. Δεν μπορεί να γίνει στη σκέψη, ούτε με μολύβι και χαρτί.

Το μοντέλο μας για τα στάδια της επιστήμης δεδομένων με τον προγραμματισμό (εισαγωγή, τακτοποίηση, μεταμόρφωση, οπτικοποίηση, μοντελοποίηση και επικοινωνία δεδομένων, δηλαδή τα πάντα) επισημασμένο με μπλε χρώμα.
Σχήμα 1: Ο προγραμματισμός είναι το νερό στο οποίο κολυμπούν όλα τα άλλα στοιχεία.

Ο προγραμματισμός παράγει κώδικα και ο κώδικας είναι ένα εργαλείο επικοινωνίας. Προφανώς, ο κώδικας λέει στον υπολογιστή τι θέλετε να κάνει. Επικοινωνεί, όμως, και το σχετικό νόημα σε άλλους ανθρώπους. Το να σκέφτεστε τον κώδικα ως μέσο επικοινωνίας είναι σημαντικό γιατί κάθε έργο που κάνετε είναι ουσιαστικά συνεργατικό. Ακόμα κι αν δεν εργάζεστε με άλλους, σίγουρα θα συνεργαστείτε με τον μελλοντικό εαυτό σας! Η σύνταξη ξεκάθαρου κώδικα είναι σημαντική ώστε οι άλλοι (όπως οι μελλοντικοί εαυτοί σας) να καταλάβουν γιατί αντιμετωπίσατε μια ανάλυση με τον τρόπο που την αντιμετωπίσατε. Αυτό σημαίνει ότι το να γίνετε καλύτεροι στον προγραμματισμό συνεπάγεται επίσης με την βελτίωση στην επικοινωνία. Με την πάροδο του χρόνου, θέλετε ο κώδικάς σας να γίνεται όχι μόνο ευκολότερος στην συγγραφή, αλλά και ευκολότερος στην ανάγνωση από άλλους.

Στα ακόλουθα τρία κεφάλαια, θα μάθετε δεξιότητες για τη βελτίωση του τρόπου με τον οποίο προγραμματίζετε:

  1. Η αντιγραφή και επικόλληση είναι ένα ισχυρό εργαλείο, αλλά θα πρέπει να αποφύγετε να την εφαρμόζετε περισσότερες από δύο φορές. Η επανάληψη του κώδικά σας είναι επικίνδυνη γιατί μπορεί εύκολα να οδηγήσει σε σφάλματα και ασυνέπειες. Έτσι, στο 25  Συναρτήσεις, θα μάθετε πώς να γράφετε συναρτήσεις που σας επιτρέπουν να εξάγετε επαναλαμβανόμενο κώδικα tidyverse, ώστε να μπορεί να επαναχρησιμοποιηθεί εύκολα.

  2. Οι συναρτήσεις εξάγουν επαναλαμβανόμενο κώδικα, αλλά συχνά χρειάζεται να επαναλάβετε τις ίδιες ενέργειες για διαφορετικές εισόδους. Χρειάζεστε εργαλεία για επανάληψη που σας επιτρέπουν να κάνετε παρόμοια πράγματα ξανά και ξανά. Αυτά τα εργαλεία περιλαμβάνουν βρόγχους και συναρτησιακό προγραμματισμό, για τα οποία θα μάθετε στο 26  Επανάληψη.

  3. Καθώς διαβάζετε περισσότερο κώδικα που γράφτηκε από άλλους, θα δείτε περισσότερο κώδικα που δεν χρησιμοποιεί το tidyverse. Στο 27  Ένας οδηγός για το βασικό σύνολο λειτουργιών της R, θα μάθετε μερικές από τις πιο σημαντικές συναρτήσεις του βασικού πακέτου λειτουργιών της R που μπορεί να δείτε εκεί έξω.

Στόχος αυτών των κεφαλαίων είναι να σας διδάξουν τα ελάχιστα σχετικά με τον προγραμματισμό που χρειάζεστε για την επιστήμη των δεδομένων. Αφού κατανοήσετε το υλικό εδώ, σας συνιστούμε ανεπιφύλακτα να συνεχίσετε να επενδύετε στις προγραμματιστικές σας δεξιότητες. Έχουμε γράψει δύο βιβλία που μπορεί να σας φανούν χρήσιμα. Το Hands on Programming with R, από τον Garrett Grolemund, είναι μια εισαγωγή στην R ως γλώσσα προγραμματισμού και είναι ένα εξαιρετικό μέρος για να ξεκινήσετε εάν η R είναι η πρώτη γλώσσα προγραμματισμού σας. Το Advanced R του Hadley Wickham βουτά στις λεπτομέρειες της γλώσσας προγραμματισμού R. Είναι εξαιρετικό μέρος για να ξεκινήσετε εάν έχετε υπάρχουσα εμπειρία προγραμματισμού και υπέροχο επόμενο βήμα αφού έχετε μάθει καλά τις ιδέες σε αυτά τα κεφάλαια.