Εξηγείται η γλώσσα προγραμματισμού R

Το R είναι μια γλώσσα προγραμματισμού ανοιχτού κώδικα και περιβάλλον λογισμικού για στατιστικούς υπολογισμούς και γραφικά. Είναι μια από τις κύριες γλώσσες που χρησιμοποιούνται από επιστήμονες δεδομένων και στατιστικολόγους. Υποστηρίζεται από το R Foundation for Statistics Computing και μια μεγάλη κοινότητα προγραμματιστών ανοιχτού κώδικα. Δεδομένου ότι η R χρησιμοποίησε μια διεπαφή γραμμής εντολών, μπορεί να υπάρχει μια απότομη καμπύλη μάθησης για ορισμένα άτομα που έχουν συνηθίσει να χρησιμοποιούν προγράμματα που εστιάζουν στο GUI, όπως SPSS και SAS, ώστε οι επεκτάσεις σε R όπως το RStudio να είναι εξαιρετικά επωφελείς. Δεδομένου ότι το R είναι ένα πρόγραμμα ανοιχτού κώδικα και διατίθεται ελεύθερα, υπάρχει μεγάλη έλξη για ακαδημαϊκούς των οποίων η πρόσβαση σε στατιστικά προγράμματα ρυθμίζεται μέσω της σύνδεσής τους σε διάφορα κολέγια ή πανεπιστήμια.

Εγκατάσταση

Το πρώτο πράγμα που πρέπει να ξεκινήσετε με το R είναι να το κατεβάσετε από τον επίσημο ιστότοπό του σύμφωνα με το λειτουργικό σας σύστημα.

Δημοφιλή R εργαλεία και πακέτα

  • Το RStudio είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) για το R. Περιλαμβάνει μια κονσόλα, ένα πρόγραμμα επεξεργασίας επισήμανσης σύνταξης που υποστηρίζει άμεση εκτέλεση κώδικα, καθώς και εργαλεία για σχεδίαση, ιστορικό, εντοπισμό σφαλμάτων και διαχείριση χώρου εργασίας.
  • Το Comprehensive R Archive Network (CRAN) είναι μια κορυφαία πηγή για εργαλεία R και πόρους.
  • Το Tidyverse είναι μια συλλογή από πακέτα R που έχουν σχεδιαστεί για την επιστήμη δεδομένων, όπως ggplot2, dplyr, readr, tidyr, purr, tibble.
  • Το data.table είναι μια υλοποίηση βάσης που data.frameεστιάζει στη βελτιωμένη απόδοση και στην πιο ευέλικτη σύνταξη.
  • Λαμπερό πλαίσιο για τη δημιουργία εφαρμογών ιστού τύπου πίνακα εργαλείων στο R.

Τύποι δεδομένων σε R

Διάνυσμα

Είναι μια ακολουθία στοιχείων δεδομένων του ίδιου βασικού τύπου. Για παράδειγμα:

> o  p  q  o;p;q [1] 1.0 2.0 5.3 6.0 -2.0 4.0 [1] "one" "two" "three" "four" "five" "six" [1] TRUE TRUE FALSE TRUE FALSE

Μήτρα

Είναι ένα δισδιάστατο ορθογώνιο σύνολο δεδομένων. Τα στοιχεία σε μια μήτρα πρέπει επίσης να είναι του ίδιου βασικού τύπου όπως το διάνυσμα. Για παράδειγμα:

> m = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) > m >[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a"

Πλαίσιο δεδομένων

Είναι πιο γενικό από έναν πίνακα, καθώς διαφορετικές στήλες μπορούν να έχουν διαφορετικούς τύπους βασικών δεδομένων. Για παράδειγμα:

> d  e  f  mydata  names(mydata)  mydata

Τόπος αγώνων

Είναι ένα αντικείμενο R που μπορεί να περιέχει πολλούς διαφορετικούς τύπους στοιχείων μέσα του, όπως διανύσματα, συναρτήσεις και ακόμη και μια άλλη λίστα μέσα σε αυτό. Για παράδειγμα:

> list1  list1 [[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin")

Λειτουργίες στο R

Μια λειτουργία σάς επιτρέπει να ορίσετε ένα επαναχρησιμοποιήσιμο μπλοκ κώδικα που μπορεί να εκτελεστεί πολλές φορές μέσα στο πρόγραμμά σας.

Οι συναρτήσεις μπορούν να ονομάζονται και να κληθούν επανειλημμένα ή να εκτελούνται ανώνυμα στη θέση τους (παρόμοιες με τις λειτουργίες λάμδα στο python).

Η ανάπτυξη πλήρους κατανόησης των λειτουργιών R απαιτεί κατανόηση των περιβαλλόντων. Τα περιβάλλοντα είναι απλώς ένας τρόπος διαχείρισης αντικειμένων. Ένα παράδειγμα περιβάλλοντος σε δράση είναι ότι μπορείτε να χρησιμοποιήσετε ένα περιττό όνομα μεταβλητής σε μια συνάρτηση, που δεν θα επηρεαστεί εάν ο μεγαλύτερος χρόνος εκτέλεσης έχει ήδη την ίδια μεταβλητή. Επιπλέον, εάν μια συνάρτηση καλεί μια μεταβλητή που δεν ορίζεται στη συνάρτηση, θα ελέγξει το περιβάλλον υψηλότερου επιπέδου για αυτήν τη μεταβλητή.

Σύνταξη

Στο R, ένας ορισμός συνάρτησης έχει τα ακόλουθα χαρακτηριστικά:

  1. Η λέξη-κλειδί function
  2. ένα όνομα συνάρτησης
  3. παράμετροι εισαγωγής (προαιρετικά)
  4. κάποιο μπλοκ κώδικα για εκτέλεση
  5. δήλωση επιστροφής (προαιρετικό)
# a function with no parameters or returned values sayHello() = function(){ "Hello!" } sayHello() # calls the function, 'Hello!' is printed to the console # a function with a parameter helloWithName = function(name){ paste0("Hello, ", name, "!") } helloWithName("Ada") # calls the function, 'Hello, Ada!' is printed to the console # a function with multiple parameters with a return statement multiply = function(val1, val2){ val1 * val2 } multiply(3, 5) # prints 15 to the console

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

Οι συναρτήσεις στο R δημιουργούνται χρησιμοποιώντας τη functionλέξη-κλειδί, μαζί με το όνομα της συνάρτησης και τις παραμέτρους της συνάρτησης εντός παρενθέσεων.

Η return()συνάρτηση μπορεί να χρησιμοποιηθεί από τη συνάρτηση για να επιστρέψει μια τιμή και συνήθως χρησιμοποιείται για να αναγκάσει τον πρόωρο τερματισμό μιας συνάρτησης με μια επιστρεφόμενη τιμή. Εναλλακτικά, η συνάρτηση θα επιστρέψει την τελική εκτυπωμένη τιμή.

# return a value explicitly or simply by printing sum = function(a, b){ c = a + b return(c) } sum = function(a, b){ a + b } result = sum(1, 2) # result = 3

Μπορείτε επίσης να ορίσετε τις προεπιλεγμένες τιμές για τις παραμέτρους, τις οποίες το R θα χρησιμοποιήσει όταν μια μεταβλητή δεν καθορίζεται κατά τη διάρκεια της κλήσης λειτουργίας

sum = function(a, b = 3){ a + b } result = sum(a = 1) # result = 4

Μπορείτε επίσης να περάσετε τις παραμέτρους με τη σειρά που θέλετε, χρησιμοποιώντας το όνομα της παραμέτρου.

result = sum(b=2, a=2) # result = 4

Το R μπορεί επίσης να δεχτεί πρόσθετες, προαιρετικές παραμέτρους με «…»

sum = function(a, b, ...){ a + b + ... } sum(1, 2, 3) #returns 6

Οι συναρτήσεις μπορούν επίσης να εκτελούνται ανώνυμα. Αυτά είναι πολύ χρήσιμα σε συνδυασμό με την οικογένεια εφαρμογών «εφαρμογή».

# loop through 1, 2, 3 - add 1 to each sapply(1:3, function(i){ i + 1 })

Σημειώσεις

Εάν ένας ορισμός συνάρτησης περιλαμβάνει ορίσματα χωρίς καθορισμένες προεπιλεγμένες τιμές, πρέπει να περιλαμβάνονται τιμές για αυτές τις τιμές.

sum = function(a, b = 3){ a + b } sum(b = 2) # Error in sum(b = 2) : argument "a" is missing, with no default

Οι μεταβλητές που ορίζονται σε μια συνάρτηση υπάρχουν μόνο στο πλαίσιο αυτής της συνάρτησης, αλλά θα ελέγχουν μεγαλύτερο περιβάλλον εάν δεν προσδιορίζεται η μεταβλητή

double = function(a){ a * 2 } double(x) # Error in double(x) : object 'x' not found double = function(){ a * 2 } a = 3 double() # 6

Ενσωματωμένες συναρτήσεις στο R

  • Το R διαθέτει πολλές λειτουργίες που μπορείτε να χρησιμοποιήσετε για να κάνετε εξελιγμένες εργασίες, όπως τυχαία δειγματοληψία.
  • Για παράδειγμα, μπορείτε να στρογγυλοποιήσετε έναν αριθμό με το round(), ή να υπολογίσετε το παραγοντικό του με το factorial().
> round(4.147) [1] 4 > factorial(3) [1] 6 > round(mean(1:6)) [1] 4
  • Τα δεδομένα που μεταβιβάζετε στη συνάρτηση ονομάζονται όρισμα της συνάρτησης.
  • You can simulate a roll of the die with R’s sample()function. The sample() function takes two arguments:a vector named x and a number named size. For example:
> sample(x = 1:4, size = 2) [] 4 2 > sample(x = die, size = 1) [] 3 >dice dice [1] 2 4 >sum(dice) [1] 6
  • If you’re not sure which names to use with a function, you can look up the function’s arguments with args.
> args(round) [1] function(x, digits=0)

Objects in R

R allows to save the data by storing it inside an R object.

What’s an object?

It is just a name that you can use to call up stored data. For example, you can save data into an object like a or b.

> a  a [1] 5

How to create an Object in R?

  1. To create an R object, choose a name and then use the less-than symbol, <, followed by a minus sign, -, to save data into it. This combination looks like an arrow, <-. R will make an object, give it your name, and store in it whatever follows the arrow.
  2. Όταν ρωτάτε τον R τι είναι σε, σας λέει στην επόμενη γραμμή. Για παράδειγμα:
> die  die [1] 1 2 3 4 5 6
  1. Μπορείτε να ονομάσετε ένα αντικείμενο στο R σχεδόν οτιδήποτε θέλετε, αλλά υπάρχουν μερικοί κανόνες. Πρώτον, ένα όνομα δεν μπορεί να ξεκινά με έναν αριθμό. Δεύτερον, ένα όνομα δεν μπορεί να χρησιμοποιήσει κάποια ειδικά σύμβολα, όπως ^, !, $, @, +, -, /, or *:
  2. Το R κατανοεί επίσης την κεφαλαιοποίηση (ή είναι πεζά), έτσι το όνομα και το όνομα θα αναφέρονται σε διαφορετικά αντικείμενα.
  3. Μπορείτε να δείτε ποια ονόματα αντικειμένων έχετε ήδη χρησιμοποιήσει με τη συνάρτηση ls().

Περισσότερες πληροφορίες:

  • Μάθετε τα βασικά της γλώσσας προγραμματισμού R σε μόλις 2 ώρες με αυτό το δωρεάν μάθημα στατιστικού προγραμματισμού
  • Εισαγωγή στο web scraping χρησιμοποιώντας το R
  • Μια εισαγωγή στα συγκεντρωτικά στοιχεία στο R: ένα ισχυρό εργαλείο για την αναπαραγωγή δεδομένων