Σημερινή ατζέντα μαθήματος... εσμευμένες λέξεις στο R

Σχετικά έγγραφα
Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Σηµερινή ατζέντα µαθήµατος... Προηγούµενα αναφερθήκαµε. Σήµερα θα συνεχίσουµε µε τις δοµές τους

Σηµερινή ατζέντα µαθήµατος... Προηγούµενα αναφερθήκαµε. Σήµερα θα συνεχίσουµε µε τις δοµές τους

Visual Basic Βασικές Έννοιες

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Εισαγωγή στη γλώσσα προγραμματισμού C++

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Ανάπτυξη και Σχεδίαση Λογισμικού

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εισαγωγή στους Υπολογιστές

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 012. JavaScripts

Αντικειμενοστρεφής Προγραμματισμός

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διαδικασιακός Προγραμματισμός

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Διαδικασιακός Προγραμματισμός

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στο GNU Octave/MATLAB

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Περιεχόμενα. 1.1 Εισαγωγή Τυπογραφικές συμβάσεις Τι νέο υπάρχει στο MATLAB Τι περιέχει το βιβλίο...17

Εισαγωγή στην Αριθμητική Ανάλυση

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Η γλώσσα προγραμματισμού Strange

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Κεφάλαιο 7: Υπορουτίνες

Τύποι Δεδομένων. Κατηγορίες Τύπων Δεδομένων ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός Κων/νος Φλώρος

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Στοιχειώδης προγραμματισμός σε C++

Βασικές έννοιες προγραμματισμού

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Προγραμματισμός I (Θ)

Διάλεξη 6: Δείκτες και Πίνακες

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΠΙΝΑΚΕΣ. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

a = 10; a = k; int a,b,c; a = b = c = 10;

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

Η γλώσσα προγραμματισμού EEL

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Πίνακες. Οι πίνακες αποτελούν ένα σηµαντικό δοµηµένο τύπο δεδοµένων (structured data type) ή πιο απλά µία δοµή δεδοµένων (data structure).

Απλός Προγραµµατισµός στην R

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 5 ο : MATLAB

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

Εισαγωγή στην R. Κεφάλαιο 1. περιέχει περαιτέρω πληροφορίες καθώς

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Προγραμματισμός Η/Υ (ΤΛ2007 )

Transcript:

Χειρισμός δεδομένων στο λογισμικό R Σημερινή ατζέντα μαθήματος... The look and feel of R Στα ενδότερα της λειτουργίας και της χρήσης του R Σύνταξη εντολών Μεταβλητές και συναρτήσεις Εισαγωγή δεδομένων Χρήση εξωτερικών αρχείων Γραφήματα στο R ιαχείριση συνεδριών του R... Μεταβλητές και σταθερές στο R Οι μεταβλητές χρησιμοποιούνται για την αποθήκευση δεδομένων, τωνοποίωνητιμή μπορεί να αλλάξει ανάλογα με τις ανάγκες. Το μοναδικό όνομα (identifier) που δίνεται στη μεταβλητή (ως συνάρτηση ή/και ως αντικείμενο) είναι αναγνωριστικό της μεταβλητής. Για τη σύνταξη αναγνωριστικών στο R χρησιμοποιούνται κάποιοι βασικοί κανόνες Οι βέλτιστες πρακτικές χρήσης τους έχουν αλλάξει από τις παλαιότερες προς τις τρέχουσες εκδόσεις του R Μεταβλητές και σταθερές στο R Οι σταθερές, όπως υποδηλώνει η ονομασία, είναι οντότητες των οποίων η τιμή δεν μπορεί να μεταβληθεί. Βασικοί τύποι σταθερών είναι αριθμητικές σταθερές και σταθερές χαρακτήρων. Υπάρχουν ορισμένες ενσωματωμένες σταθερές που ορίζονται στο R μαζί με τις τιμές τους, π.χ. pi (3.141593 ) month.abb ( "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec" ) Κανόνες για τη σύνταξη αναγνωριστικών μεταβλητών στο R Identifiers μπορούν να είναι ένας συνδυασμός γραμμάτων, ψηφίων, περιόδου (.) και υπογράμμισης (_) Πρέπει να ξεκινούν με ένα γράμμα ή μια περίοδο. Αν η ονομασία τους ξεκινά με μια περίοδο, δεν μπορεί να ακολουθήσει ένα ψηφίο (π.χ.,.2way δεν είναι επιτρεπτό) εσμευμένες λέξεις (π.χ., if, while, ) στο R δεν μπορούν να χρησιμοποιηθούν ως αναγνωριστικά μεταβλητών. Valid identifiers in R total, Sum,.fine.with.dot, this_is_acceptable, Number5 Invalid identifiers in R tot@l, 5um, _fine, TRUE,.0ne Οι παλαιότερες εκδόσεις του R χρησιμοποίησαν την υπογράμμιση (_) ως τελεστή εκχώρησης τιμών Στις τρέχουσες εκδόσεις, συνιστάται η χρήση της περιόδου ως διαχωριστή λέξεων Για παράδειγμα, a.variable.name προτιμάται από το a_variable_name ή εναλλακτικά θα μπορούσαμε να χρησιμοποιήσουμε avariablename Είναι ένα σύνολο λέξεων με ιδιαίτερη σημασία που δεν μπορούν να χρησιμοποιηθούν ως αναγνωριστικό (όνομα μεταβλητής, συνάρτησης κ.λπ.). εσμευμένες λέξεις στο R Παράδειγμα: TRUE είναι μια δεσμευμένη λέξη που δηλώνει μια λογική σταθερά στο R, ενώ true μπορεί να χρησιμοποιηθεί ως το όνομα μιας μεταβλητής. Ευαισθησία της R σε πεζά

Αριθμητικές μεταβλητές Όλοι οι αριθμοί εμπίπτουν στην κατηγορία αυτή. Μπορούν να είναι τύπου integer, double ή complex Μπορεί να ελεγχθεί ο τύπος τους με τη συνάρτηση typeof() Οι αριθμητικές μεταβλητές που ακολουθούνται από το L θεωρούνται ως integer και εκείνες που ακολουθούνται από το i θεωρούνται ως complex Εκφράσεις και Τελεστές HR είναι εφοδιασμένη με πολλούς τελεστές μέσω των οποίων πραγματοποιούνται διαφορετικές μαθηματικές και λογικές πράξεις επί των μεταβλητών (συγκρίσεις, υπολογισμοί κάτω από προϋποθέσεις, έλεγχοι, ). Αριθμητικοί τελεστές Σχεσιακοί Λογικοί Τελεστές εκχώρησης/απόδοσης Όταν χρησιμοποιούνται πολλαπλοί τελεστές σε μια έκφραση, η προτεραιότητα του εκάστοτε τελεστή ή η μεταξύ τους συσχέτιση καθορίζει τη σειρά εκτέλεσης Αριθμητικοί Τελεστές Σχεσιακοί Τελεστές Λογικοί τελεστές Για σύγκριση διανύσματος τιμών είναι προτιμότερος ο τελεστής %in% Για αριθμητικές συγκρίσεις, οι τελεστές ==,!= κλπ δεν είναι κατάλληλοι και αντί γι' αυτούς χρησιμοποιούμε τις συναρτήσεις identical και all.equal Όταν υπάρχει αναντιστοιχία στο μήκος (αριθμός στοιχείων) των χρησιμοποιούμενων διανυσμάτων τιμών, τα στοιχεία στο διάνυσμα με το μικρότερο μήκος (λιγότερα στοιχεία) ανακυκλώνονται με κυκλικό τρόπο ώστε να ταιριάζουν με τον αριθμό των στοιχείων του διανύσματος με το μεγαλύτερο μήκος (περισσότερα στοιχεία) R δίνει μια προειδοποίηση εάν το μήκος του μεγαλύτερου διανύσματος δεν είναι ακέραιο πολλαπλάσιο του μικρότερου διανύσματος Τελεστές εκχώρησης Χρησιμοποιούνται για την εισαγωγή δεδομένων και, γενικότερα, για την απόδοση τιμών σε μεταβλητές χωρίς να τυπωθεί το αποτέλεσμα Στους συνδυασμούς συμβόλων εκχώρησης δεν επιτρέπονται κενά

Για όλες σχεδόν τις λειτουργίες του το R Αποθηκεύει τα δεδομένα εισόδου και εξόδου (από την ανάλυση μέχρι τα αποτελέσματα των δεδομένων), καθώς και ότι άλλα δεδομένα που παράγονται, σε αντικείμενα (objects) τις πλέον στοιχειώδεις δομές δεδομένων Κάθε αντικείμενο έχει συγκεκριμένο όνομα και αποτελείται από άλλες οντότητες (αντικείμενα, συνήθως απλούστερης μορφής) Ένα σενάριο ή ακόμα και μια ολόκληρη στατιστική ανάλυση μπορεί να θεωρηθεί ως ένας τρόπος για να δημιουργήσει κάνεις κατάλληλα αντικείμενα ενδιαφέροντος ( π.χ., τα στατιστικά αποτελέσματα και τα γραφικά που χρειάζονται) Τα αντικείμενα διαφέρουν ως προς τον τύπο τους και τον τρόπο αποθήκευσης, καταχώρησης και διαχείρισης τους c(c(1, 2, 3, 4, 5) * 1, c(1, 2, 3, 4, 5) * 2, c(1, 2, 3, 4, 5) * 3) [1] 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 Λίγο πιο κομψό: η kronecker(c(1, 2, 3, 4, 5), c(1, 2, 3)) δράση της συνάρτησης Kronecker σε δύο [1] 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 αντικείμενα!!! Η επικοινωνία του χρήστη με το R και οι υπολογισμοί γίνονται Μέσω διαχείρισης αντικειμένων (Objects), με βάση συγκεκριμένους κανόνες που αφορούν... Τύπο, χαρακτηριστικά γνωρίσματα, και τρόπο δημιουργίας τους (types, attributes, creation) ομές (data structure) Ονομασία (naming convention) Εκχώρηση (assignment) Συναρτήσεις (functions) Χώρο εργασίας (workspace) Ιστορικό εκτελεσμένων εντολών (history) Σχεδόν οποιαδήποτε οντότητα που χρησιμοποιείται στην R (μεταβλητές, συναρτήσεις, σετ δεδομένων, κλπ.) είναι ΑΝΤΙΚΕΙΜΕΝΑ. Βασικός χαρακτηρισμός αντικειμένων Ονοματολογία: με πεζά ή/και κεφαλαία λατινικά γράμματα Κανόνες ονομασίας Να αρχίζουν με κάποιο γράμμα (A-Z ή a-z) Όχι ορισμένα γράμματα μόνα τους ή ονόματα, π.χ. F (=false), T (=true),, diff, range, for, repeat, Να περιέχουν γράμματα, ψηφία (0-9), και/ή. Συνιστάται να μην χρησιμοποιείτε _ ιάκριση πεζών-κεφαλαίων είναι σημαντική mydata διαφορετικό από το MyData Βασικός χαρακτηρισμός αντικειμένων Κλάσεις ή κατηγορίες: vector, factor, array, matrix, data.frame, list Χαρακτηριστικά mode: αριθμός, χαρακτήρας, μιγαδικός αριθμός, λογικές παράμετροι length: αριθμός στοιχείων στο αντικείμενο ημιουργία Εκχώρηση τιμών Κενά αντικείμενα Εξαγωγή υποσυνόλων από αντικείμενα Επεξεργασία υποσυνόλων δεδομένων ως ολοκληρωμένες οντότητες Βασικός χαρακτηρισμός αντικειμένων Εκχώρηση τιμών Οσυμβολισμός <- υποδηλώνει εκχώρηση x<-c(1,2,3,4,5,6,7) x<-c(1:7) x<-1:4 Παρομοίως οι συμβολισμοί -> και = είναι ισοδύναμοι με τον προηγούμενο -> x->c(1,2,3,4,5,6,7) x=c(1,2,3,4,5,6,7) x <- 5.2 Αποτέλεσμα Ηλειτουργίατου συμβόλου <- (αντίστοιχα των συμβόλων -> και = ) είναι να υπολογίσει την παρατιθέμενη έκφραση και να την αποδώσει στη καθορισμένη μεταβλητή, χωρίς να τυπωθεί το αποτέλεσμα. Αν ακολουθήσει άλλη εκχώρηση στην ίδια μεταβλητή, η προηγούμενη τιμή αντικαθίσταται Βασικοί τρόποι χρήσης εντολών στο R Ο πρώτος τρόπος χρήσης είναι να εκτελούνται οι εκφράσεις από τη γραμμή εντολών (πολλοί χρήστες πιθανόν να μην απαιτούν κάτι παραπάνω για τις περισσότερες ανάγκες τους)

Ο δεύτερος τρόπος είναι μια μέθοδος κατά την οποία γράφουμε κώδικα για τις συναρτήσεις ή ένα σύνολο εντολών του χρήστη R scripts. Σε μια στατιστική ανάλυση το R λειτουργεί με τη μορφή σειράς υπολογιστικών βημάτων, όπου... σε κάθε βήμα αποθηκεύει τα αποτελέσματα σε αντικείμενα για περαιτέρω ανάλυση Τα αντικείμενα είναι οι δομικές οντότητες που δημιουργεί και χειρίζεται η γλώσσα R Συνιστάται να συμβουλευτείτε διάφορα παραδείγματα χρήσιμων εντολών του R https://www.calvin.edu/~scofield/courses/m143/material s/rcmdsfromclass.pdf http://www.personality-project.org/r/r.commands.html Πρακτική χρήση εντολών προς το R Πλεονέκτημα σταδιακή ανάπτυξη βημάτων προγραμματισμού, π.χ. Κάνουν εφικτό να δημιουργηθεί μια συνάρτηση, να εκτελεστεί, να δημιουργηθεί μια άλλη συνάρτηση που να καλεί την πρώτη ιευκολύνουν με αρκετά απλό τρόπο στη χρήση γραφικών συναρτήσεων fully programmable graphical capabilities Cut & paste εισαγωγή κώδικα από προηγούμενες εφαρμογές ή παραδείγματα στο ιαδίκτυο Μειονέκτημα απότομη/προκλητική καμπύλη εκμάθησης Απαιτεί αρχικά αρκετή προσπάθεια και ενασχόληση με τη διαλογική λειτουργία του R, για να αποκτηθεί σχετική οικειότητα στηδιαμόρφωσηκαιτηχρήσηεντολών Ο χρήστης πρέπει να αποφασίσει για την ακολουθία μιας ανάλυσης και να την εκτελέσει βήμα προς βήμα. Ωστόσο, είναι εύκολο να δημιουργήσετε σενάρια με όλα τα βήματα μιας ανάλυσης και να εκτελέσετε τη δέσμη ενεργειών από τη γραμμή εντολών ή τα μενού Μειονέκτημα Πλεονεκτήματα Ο χρήστης του όμως επωφελείται από την ευρεία υποστήριξη από τη σημαντική κοινότητα χρηστών και ερευνητών πλεονέκτημα: η ενασχόληση του τον βοηθάει σταδιακά να κατανοήσει το θεωρητικό υπόβαθρο των στατιστικών αναλύσεων ΓιαναχρησιμοποιήσεισωστάτοR, ο χρήστης πρέπει να μάθει τον κρίσιμο τρόπο σκέψης και να μάθει να χρησιμοποιεί νέους τύπους αντικειμένων και δεδομένων γεγονός που με τη σειρά του βοηθά στην ανάπτυξη νέων μεθόδων ανάλυσης και την ικανότητα χρήσης τους. Χρήση συναρτήσεων στο R Συναρτήσεις είναι ένα θεμελιώδες δομικό στοιχείο του R καιαπόταπιοσημαντικάστοιχείαπου απαιτούνται για πιο προηγμένες τεχνικές ανάλυσης δεδομένων με το R Για την αποτελεσματική χρήση τους απαιτείται μια σταθερή βάση για το πώς λειτουργούν Το πιο σημαντικό πράγμα που πρέπει να κατανοηθεί είναι ότι οι συναρτήσεις είναι αντικείμενα από μόνες τους Σταδιακή εξοικείωση από την υπάρχουσα ή άτυπη γνώση των βασικών συναρτήσεων του R, μέχρι την αυστηρή κατανόηση εξειδικευμένων ή από τους χρήστες καθορισμένων συναρτήσεων και του τρόπου λειτουργίας τους. Βασικές συναρτήσεις στην R

Χρήσιμες build-in συναρτήσεις Χρήσιμες build-in συναρτήσεις Χρήσιμες μαθηματικές συναρτήσεις Συνήθεις συναρτήσεις στατιστικού ενδιαφέροντος Συναρτήσεις Στατιστικών Κατανομών Συναρτήσεις γραφικών # Natural logs > log(10) [1] 2.302585 # Log using base 10 > log10(10) [1] 1 # Exponentiation > exp(2) [1] 7.389056 # Square Root > sqrt(4) [1] 2 # Absolute Value > abs(-4) [1] 4 Απλή χρήση ως calculator sin(seq(0, 2 * pi, length = 100)) -1.0-0.5 0.0 0.5 1.0 0 20 40 60 80 100 Index > plot(sin(seq(0, 2*pi, length=100)))

Μερικοί συμβατικοί συμβολισμοί & κανόνες Το κάλεσμα συναρτήσεων απαιτεί παρενθέσεις, ακόμα και αν δεν απαιτείται να περαστούν παράμετροι στη συνάρτηση: π.χ., q() για την έξοδο από το R. Αγκύλες ([ ]) χρησιμοποιούνται για την ανάκληση (subscripting) στοιχείων (π.χ., σε μια λίστα τιμών). Οι υποδείκτες μπορεί να είναι θετικοί ή αρνητικοί ακέραιοι, μηδέν, τύπου Boolean (x[x>3]), ή τίποτα. Το σύμβολο [1] στο εξαγόμενο μιας εκχώρησης ή υπολογισμού μιας έκφρασης σημαίνει ότι η καταγραφή ξεκινά από το πρώτο στοιχείο του διανύσματος τιμών αντίστοιχα [k] με κάποιο ακέραιο αριθμό k, σημαίνει ότι η καταγραφή ξεκινά από το k στοιχείο του διανύσματος ημιουργία ακολουθιών δεδομένων Πολλές φορές απαιτείται να δημιουργήσουμε ακολουθίες τιμών π.χ., από αριθμητικές επαναλαμβανόμενες ή ισαπέχουσες τιμές σε ένα διάστημα τιμών χρήσιμες εντολές/συναρτήσεις rep και seq. Οι ακολουθίες μπορεί να περιέχουν στοιχεία Σε αύξουσα ή φθίνουσα σειρά Ισαπέχοντα (με βήμα κατά μονάδα ή άλλη τιμή) Μέσα σε επιθυμητό διάστημα τιμών Με θετικούς ή/και αρνητικούς αριθμούς Με ακέραιους ή δεκαδικούς αριθμούς > a<-letters[1:5] ; a [1] "A" "B" "C" "D" "E" > b=seq(1:5) ; b [1] 1 2 3 4 5 > c=rnorm(5,0,0.36) ; c [1] -0.8212684-0.3703826-0.4873474 0.1154301-0.1448235 > d <- rep(2.31,5) ; d [1] 2.31 2.31 2.31 2.31 2.31 > # Which we can combine into a dataframe (more on this later) > A = data.frame(a,b,c,d) ; A a b c d 1 A 1-0.8212684 2.31 2 B 2-0.3703826 2.31 3 C 3-0.4873474 2.31 4 D 4 0.1154301 2.31 5 E 5-0.1448235 2.31 ημιουργία ακολουθιών δεδομένων > yy <- seq(from=-5.2,to=10.6,by=1.5) ; yy [1] -5.2-3.7-2.2-0.7 0.8 2.3 3.8 5.3 6.8 8.3 9.8 > > zz <- seq(from=-5.2, by=1.5, along=xx) ; zz [1] -5.2-3.7-2.2-0.7 0.8 2.3 3.8 5.3 > > ww <- seq(from=-5.2, by=1.5, length=10) ; ww [1] -5.2-3.7-2.2-0.7 0.8 2.3 3.8 5.3 6.8 8.3 > > vv <- seq(from=-5.2, by=1.5, along=yy) ; vv [1] -5.2-3.7-2.2-0.7 0.8 2.3 3.8 5.3 6.8 8.3 9.8 Εντολές ταξινόμησης και διάταξης Για όταν απαιτείται να κατατάξουμε ή να αναδιατάξουμε ακολουθίες τιμών σε αύξουσα ή φθίνουσα τάξη μεγέθους

sort(), rank() και order() χρησιμοποιούνται όταν απαιτείται να κατατάξουμε ή να αναδιατάξουμε ακολουθίες τιμών σε αύξουσα ή φθίνουσα τάξη μεγέθους Παραδείγματα ταξινόμησης Συναρτήσεις ορισμένες από τους χρήστες (user-defined functions) Αν και η R έχει ένα μεγάλο αριθμό ενσωματωμένων συναρτήσεων (build-in in functions), οι χρήστες μπορούν να δημιουργήσουν και τις δικές τους συναρτήσεις Μια συνάρτηση, ουσιαστικά, είναι ένα αντικείμενο στο οποίο ο διερμηνέας εντολών R είναι σε θέση να περάσει τον έλεγχο, μαζί με τις παραμέτρους που μπορεί να είναι απαραίτητες για τη συνάρτηση προκειμένου να ολοκληρώσει τις διεργασίες της. Στην πραγματικότητα, πολλές από τις συναρτήσεις του R είναι συναρτήσεις μέσα σε συναρτήσεις. Η συνάρτηση με τη σειρά της εκτελεί τις εντολές της και επιστρέφει τον έλεγχο στο διερμηνέα, καθώς και οποιοδήποτε αποτέλεσμα το οποίο μπορεί να αποθηκεύεται σε άλλα αντικείμενα Η βασική σύνταξη μιας συνάρτησης είναι: function.name <- function(arguments) { function body (i.e., purpose of function & computations involving the arguments) } Τα αντικείμενα μιας συνάρτησης είναι τοπικά για τη συνάρτηση. Το αντικείμενο που επιστρέφεται μπορεί να είναι οποιοσδήποτε τύπος δεδομένων Συνιστώσες των συναρτήσεων Όνομα / function name - είναι το πληροφοριακό όνομα της συνάρτησης που αποθηκεύεται στο R περιβάλλον ως ένα αντικείμενο με αυτό το όνομα. Είναι προσωπική επιλογή του δημιουργού της συνάρτησης Συνίσταται να αποφεύγονται ονόματα που ήδη χρησιμοποιούνται στη R (π.χ. ονόματα build-in συναρτήσεων, όπως diff, cumsum, length, factorial, )

Παράμετροι ή μεταβλητές εισόδου Είναι σύμβολα καθορισμού τιμών. Όταν εφαρμόζεται η συνάρτηση, περνάει μια τιμή για κάθε παράμετρο Είναι τοπικές μεταβλητές (δηλ. αφορούν τη συγκεκριμένη συνάρτηση και δεν έχουν άλλη φυσική αντιστοιχία με άλλες μεταβλητές με το ίδιο όνομα). Είναι προαιρετικές, δηλ. μια συνάρτηση μπορεί να περιέχει ή όχι παραμέτρους. Επίσης, μπορεί να έχουν προκαθορισμένες τιμές. Το σώμα των εντολών Περιέχει μια συλλογή από εντολές που ορίζουν το τι κάνει ησυνάρτηση. Μέσα στις εντολές μπορούν να χρησιμοποιηθούν διαφορετικές μεταβλητές (π.χ., για ενδιάμεσους υπολογισμούς) Συνιστάται να δίνονται αρχικές τιμές σε αυτές που δεν είναι τοπικές, προκειμένου να αποφεύγονται πλάγια αποτελέσματα (δηλ. να αλλάζουν τιμή, αν τις χρησιμοποιούμε και σε άλλες συναρτήσεις, δηλ. είναι καθολικές μεταβλητές που ισχύουν γενικά) Στο R, μπορείτε να δείτε τον κώδικα μιας συνάρτησης πληκτρολογώντας το όνομα της συνάρτησης χωρίς το () Τιμή επιστροφής Αποτελεί την τελευταία έκφραση στο σώμα μιας συνάρτησης που πρέπει να υπολογιστεί test.function < function(a) { for(i in 1:a) { b < i^2 print(b) } } Επειδή όλα τα αντικείμενα μέσα στη συνάρτηση είναι τοπικά, δεν θα εμφανίζονται στο χώρο εργασίας. Για να είναι προσιτά εξωτερικά της συνάρτησης, πρέπει να χρησιμοποιηθεί η εντολή return π.χ., return( list(a,b, absum=sum(a,b) )) Αναφορά πολλαπλών στοιχείων Αναφορά πολλαπλών στοιχείων Όλα τα αντικείμενα που χρησιμοποιεί το R έχουν έναν τύπο (type) ή μορφή (mode), καθώς και μια κατηγορία (class) Ο τύπος ή μορφή των αντικειμένων είναι μια ταξινόμηση με βάση την κύρια δομή των στοιχείων τους Σύνθετα αντικείμενα μπορούν να περιέχουν στοιχεία του ίδιου ή διαφορετικού τύπου δηλ. μπορούν ναέχουντύποίδιοήδιαφορετικόαπό τον τύπο των στοιχείων τους Αντίθετα, η κλάση ή κατηγορία των αντικειμένων είναι μια πιο αναλυτική έννοια που αναφέρεται στο ιδιο το αντικείμενο συνολικά

Οι βασικές δομές δεδομένων του R μπορούν να οργανωθούν με βάση τη διαστασιολόγησή τους και τον τύπο τους All Same Type (Homogeneous) Mixed Type (Heterogeneous) Linear (1-D) Atomic VECTORS are one dimensional, for instance names LIST is a generic vector containing other objects. Rectangular (2-D) MATRIX is a collection of data elements arranged in a two-dimensional rectangular layout DATA FRAME is a list of vectors of equal length, i.e. a data table. Multidimensional ARRAYS are multi-dimensional data layouts Τα αντικείμενα μπορούν είναι μεμονωμένες μεταβλητές, διανύσματα αριθμών, μια σειρά χαρακτήρων, συναρτήσεις και γενικότερα σύνθετες δομές που χτίζονται από αυτά τα στοιχεία. Βαθμωτά μεγέθη (scalar type); Απλοί αριθμοί ή χαρακτήρες, που θα μπορούσαν να εκληφθούν ως βαθμωτά μεγέθη, θεωρούνται ως διανύσματα μιας διάστασης (single elements) Ο τύπος (type) ή μορφή (mode) ενός αντικειμένου μπορεί να εξακριβωθεί πληκτρολογώντας typeof ή mode Η κατηγορία (class) ενός αντικειμένου μπορεί να εξακριβωθεί πληκτρολογώντας class # Για να διαπιστωθεί αν ένα αντικείμενο ανήκει σε κάποιο τύπο ή μορφή χρησιμοποιείται ηεντολήis. (π.χ. is.numeric) και μπορεί να μετατραπεί στο συγκεκριμένο τύπο ή μορφή με την εντολή as. (π.χ. as.character ) is.character(), is.double(), is.integer(), is.logical(), or, more generally, is.atomic() Παράδειγμα χρήσης ενός αντικειμένου 7 2 ΗΜΟΡΦΗτουΖκαθορίζεται αυτόματα από τα είδη των στοιχείων που αποθηκεύονται σε αυτό το αντικείμενο - αριθμούς, χαρακτήρες, κ.λπ. Εάν είναι ένα μείγμα mode = λίστα (list) Η ΚΑΤΗΓΟΡΙΑ του Ζ μπορεί είτε να προεπιλεγεί, ανάλογα, με το πώς δημιουργήθηκε, ή να καθοριστεί ρητά από το χρήστη. Η κατηγορία των αντικειμένων μπορεί να ελεγχθεί και να αλλαχθεί. Καθορίζει πώς οι διάφορες συναρτήσεις ενεργούν στο Z

Special data types ειδικές τιμές -Inf, Inf αντιστοιχούν στις τιμές -, + Η R τις χρησιμοποιεί για να εκφράσει τα όρια της ακρίβειας υπολογισμών, π.χ. > exp(2100) [1] Inf NA Not available, λογική σταθερά που υποδηλώνει μη διαθέσιμες (δηλ. άγνωστες) τιμές (missing values) NULL αντιπροσωπεύει το μηδενικό αντικείμενο στην R NaN Not a Number, υποδηλώνει τιμές που δεν μπορούν να προσδιοριστούν (π.χ. από μια αριθμητική πράξη με απροσδιόριστο αποτέλεσμα) Από τα απλούστερα σε πιο σύνθετα αντικείμενα Η απλούστερη κατηγορία ή κλάση αντικειμένων είναι τα ατομικά διανύσματα (atomic vectors), τα οποία απαντώνται σε έξι τύπους: numeric, logical, integer, complex, character, και raw Όλα τα άλλα R αντικείμενα είναι χτισμένα πάνω στα ατομικά διανύσματα, π.χ., μπορούμε να χρησιμοποιήσουμε πολλά ατομικά διανύσματα και θα δημιουργήσουμε ένα αντικείμενο οποίου η κλάση θα γίνει πίνακας (matrix) ή πολυδιάστατη διάταξη (array) την επόμενη φορά... Θα δούμε λεπτομερέστερα τις χρήσεις μονοδιάστατων και πολυδιάστατων ( 2) αντικειμένων στην R https://www.tutorialspoint.com/codingground.htm https://rweb.stat.umn.edu/rweb/rweb.general.html