53 demo(image, package = "graphics", ask = FALSE) Πρώτη επαφή: το R ως αριθμομηχανή

Σχετικά έγγραφα
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

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

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

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

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

Pascal, απλοί τύποι, τελεστές και εκφράσεις

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

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

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

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

Τυπικές χρήσεις της Matlab

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Εισαγωγή στη Matlab Βασικές Συναρτήσεις

Εργαστήριο Μαθηματικής Ανάλυσης Ι. Εισαγωγή στη Matlab Βασικές Συναρτήσεις-Γραφικές παραστάσεις. Πανεπιστήμιο Θεσσαλίας. Σχολή Θετικών Επιστημών

Λογισμικά για Στατιστική Ανάλυση. Minitab, R (ελεύθερο λογισμικό), Sas, S-Plus, Stata, StatGraphics, Mathematica (εξειδικευμένο λογισμικό για

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

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

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

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

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

Λογικές εκφράσεις και μεταβλητές

Πληρουορική Γ Γσμμασίοσ

Εισαγωγή στον Προγ/μό Υπολογιστών

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Εισαγωγή στη Βιοπληροφορική

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι χρειάζεται η εντολή DO ; ΕΠΑΝΑΛΗΨΕΙΣ ΕΝΤΟΛΗ DO. Όταν απαιτείται να εκτελεστεί πολλές φορές το ίδιο τμήμα ενός προγράμματος.

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

Συναρτήσεις στη Visual Basic 6.0

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

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

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

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

Υπολογισμός - Εντολές Ελέγχου

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Λογισμικά για Στατιστική Ανάλυση. Minitab, R (ελεύθερο λογισμικό), Sas, S-Plus, Stata, StatGraphics, Mathematica (εξειδικευμένο λογισμικό για

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

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

4. Ποιος είναι ο τύπος και ποια η τιμή της μεταβλητής που χρησιμοποιείται παρακάτω;

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

Γλώσσα Προγραμματισμού C

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

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

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab

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

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

Γνωρίστε το Excel 2007

Κεφάλαιο Πέµπτο: Η Εξάσκηση

Θέματα Προγραμματισμού Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ

Εργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort

4. Επιλογή και Επανάληψη

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Εισαγωγή στην Tcl. Τί είναι η Tcl;

Εργαστήριο Ανώτερης Γεωδαισίας Μεταπτυχιακό Πρόγραµµα ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ «Αναλυτικές Μέθοδοι στη Γεωπληροφορική» (Ακαδ. Έτος )

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

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

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2o Επαναληπτικό Διαγώνισμα Κεφ: 2 ο 7 ο 8 ο ΗΜΕΡΟΜΗΝΙΑ 21/ 10/ 2017

SPSS Statistical Package for the Social Sciences

ΑΣΚΗΣΕΙΣ ΠΡΩΤΗΣ ΕΝΟΤΗΤΑΣ

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Συστήματα Αναμονής (Queuing Systems)

Γράψτε ένα πρόγραμμα που να τυπώνει τον Αριθμό Μητρώου σας με χρήση της συνάρτησης print.

Σημειωματάριο Τετάρτης 4 Οκτ. 2017

Matlab functions. Κολοβού Αθανασία, ΕΔΙΠ, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Αλληλεπίδραση με το Matlab

Υπολογισμός αθροισμάτων

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Πρώτη επαφή με το μαθηματικό πακέτο Mathematica

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Εργαστήριο Σημασιολογικού Ιστού

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Transcript:

1 0. Προεργασίες 2 3 Η R δεν περιορίζεται στο να εκχωρεί και να αποθηκεύει μόνο αριθμητικές τιμές. 4 Μπορείτε να αποθηκεύσετε αλληλουχίες χαρακτήρων εντός ' ' ή " " 5 6 Εκτελέστε την ακόλουθη εντολή 7 "Hello! This is my Homework #1. My Name is:" 8 9 Εκτελέστε στην επόμενη γραμμή, μια αντίστοιχη εντολή που να αναφέρει 10 το Ονοματεπώνυμό σας, με αγγλικούς/λατινικούς χαρακτήρες. 11 12 Δώστε την επόμενη εντολή για να αποθηκεύστε τον προηγούμενο χαιρετισμό σας 13 σε μια μεταβλητή 'greetings' 14 greetings <- "Hello! This is my Homework #1. My Name is:" 15 16 Αποθηκεύστε το ονοματεπώνυμό σας σε μια μεταβλητή 'my_full_name' 17 my_full_name <- "thisismyfullname" 18 19 Εκτυπώστε στην οθόνη τις μεταβλητές 'greetings' και 'my_full_name' 20 21 Δώστε την επόμενη εντολή για να δείτε τον τύπο της μεταβλητής 'greetings' 22 όπως αποθηκεύεται από το R 23 typeof(greetings) 24 25 Εξακριβώστε αντίστοιχα τον τύπο της μεταβλητής 'my_full_name' 26 27 28 Ένας κατάλογος εργασίας (workspace) είναι ο κατάλογος αναφοράς από τον οποίο το R 29 έχει άμεση πρόσβαση για ανάγνωση σε αρχεία. 30 Χρησιμοποιήστε κατάλληλα τις ακόλουθες εντολές και δημιουργήστε έναν κατάλογο εργασίας 31 με την ονομασία homework_1 32 getwd () # gets the working directory 33 setwd (dirname) # set the working directory to dirname 34 35 Ρυθμίστε τον κατάλογο εργασίας σας σε ένα νέο φάκελο 'homework_1' 36 στην επιφάνεια εργασίας σας, χρησιμοποιώντας εντολές όπως 37 setwd ("path/to/my/desktop/work") 38 getwd() 39 40 Δοκιμάστε μια πρώτη επίδειξη των δυνατοτήτων του R για τη δημιουργία 41 γραφικών. Εκτελέστε την ακόλουθη εντολή: 42 demo(graphics) # may need to hit RETURN to continue between demo-steps 43 44 και ακολούθως την ακόλουθη εντολή για να δείτε ποια είναι τα πακέτα 45 επιδείξεων (demo packages) που είναι διαθέσιμα να τα επιλέξετε για να 46 δείτε τις δυνατότητές τους: 47 demo(package =.packages(all.available = TRUE)) 48 49 Παρατηρήστε ότι στο πακέτο 'graphics' υπάρχει η επίδειξη γραφικών 50 τύπου raster, το 'image'. Δοκιμάστε τις ακόλουθες εντολές για την 51 αντίστοιχη βήμα-βήμα ή χωρίς διακοπή επίδειξη: 52 demo(image, package = "graphics", ask = TRUE) 53 demo(image, package = "graphics", ask = FALSE) 54 55 56 57 1. Πρώτη επαφή: το R ως αριθμομηχανή 58 59 Εκτελέστε τις πράξεις 2 συν 5, 2 φορές 6, 12 μείον 5, 13 δια 3, 1 συν 12 μείον 4, 60 100000000-1, 2000000*12-2, τετραγωνική ρίζα του 36 61 Παρατηρήστε από το αποτέλεσμα κάποιων πράξεων, π.χ. 13 δια 3, 62 πόσα δεκαδικά ψηφία εμφανίζει η R; 63 64 Για πολλές πράξεις μαζί, ισχύουν οι συνήθεις κανόνες για την προτεραιότητα 65 των πράξεων. Εκτελέστε μερικές πιο σύνθετες πράξεις, όπως: 66 (τετραγωνική ρίζα του 34) συν (2 επί (3 συν 5)+3 στη δυναμη 3) 67 (1 συν 12 μείον 4) δια (1 συν 3) 68 69 70 2. Αναζήτηση Βοήθειας στο R 71 72 Μεταβείτε στην ιστοσελίδα https://www.r-project.org/help.html και 73 κατατοπιστείτε γενικά για το πώς λειτουργεί η βοήθεια του R. 74 75 Από την κονσόλα του R, αναζητήστε βοήθεια με λέξεις κλειδιά, όπως 76 help.search("t-test") 77 help.search("combination") 78 79 ή για μια συνάρτηση, π.χ. 'acos', 'exp',... 80 help(acos) 81 help(exp) 82 83 ή μεταβείτε στην ιστοσελίδα του R για γενικές αναζητήσεις 84 help.start() 85 86 Αναζητήστε βοήθεια στο R για την έκφραση Arithmetic 87 88 Ακολούθως, επίσης για την έκφραση Arithmetic, αναζητήστε βοήθεια στο R αλλά 89 μόνο στο πακέτο base που είναι ήδη φορτωμένο με την εγκατάσταση του R. 90 91 Αναζητήστε βοήθεια στο R για τη συνάρτηση 'formatc' 92 Ακολούθως εφαρμόστε τις εντολές 93 94 13/3 95 formatc(13/3, digits = 8, format = "f") 96 formatc(13/3, digits = 4, format = "f") 97 formatc(13/3, digits = 8, format = "d") 98 99 Παρατηρήστε κάθε φορά τη μορφή του αποτελέσματος που εμφανίζεται 100 για την πράξη 13/3. Ακολούθως δοκιμάστε τις εντολές 101 102 5 * (13/3) 103 formatc(5*13/3, digits = 8, format = "f") 104 formatc(5*13/3, digits = 4, format = "f") 105 formatc(5*13/3, digits = 8, format = "d")

106 107 Παρατηρήστε πάλι κάθε φορά τη μορφή του αποτελέσματος που εμφανίζεται 108 για την πράξη 13/3, όταν χρησιμοποιείται η συνάρτηση as.numeric() 109 110 Εκτελεστε την πράξη 5*(13/3) και εκτυπώστε το αποτέλεσμα με 12 δεκαδικά ψηφία. 111 112 113 Αναζητήστε βοήθεια στο R για τη συνάρτηση as.numeric() για να δείτε 114 πως ακριβώς αυτή λειτουργεί. Ακολούθως δοκιμάστε τις εντολές: 115 116 5 * (13/3) 117 formatc(5* 13/3, digits = 12, format = "f") 118 as.numeric(formatc(5 * 13/3, width=10, digits = 8, format = "f")) 119 as.numeric(formatc(5 * 13/3, digits = 12, format = "d")) 120 121 122 Μεταβείτε στην ιστοσελίδα του forum stackoverflow 123 https://stackoverflow.com/questions/3443687/formatting-decimal-places-in-r 124 για να δοκιμάσετε την συνάρτηση specify_decimal() που έχει ορίσει ένας χρήστης. 125 126 Εφαρμόστε διαδοχικά τις ακόλουθες εντολές: 127 128 specify_decimal <- function(x, k) trimws(format(round(x, k), nsmall=k)) 129 specify_decimal(13/3, 5) 130 specify_decimal(5*13/3, 5) 131 as.numeric(specify_decimal(5 * 13/3, 5)) 132 133 και παρατηρήστε κάθε φορά τη μορφή του αποτελέσματος που εμφανίζεται 134 για την πράξη 13/3, όταν χρησιμοποιούνται οι συναρτήσεις specify_decimal() 135 και as.numeric() 136 137 138 3. Συνέχεια: το R ως αριθμομηχανή, και με εκχώρηση τιμών σε παραμέτρους 139 140 Δοκιμάστε τις εντολές 141 a <- 10 # assign 10 to 'a' and print a 142 a = 10 # same as above and print a 143 10 -> a # assign 10 to 'a' and print a 144 10 = a # Wrong! 145 Παρατηρήστε ότι οι τρεις πρώτες εντολές είναι ισοδύναμες 146 147 Εκτελέστε τις ίδιες πράξεις, όπως στα προηγούμενα παραδείγματα στην ενότητα (1), 148 και αποθηκεύστε (εκχωρήστε) κάθε φορά το αποτέλεσμα σε μια μεταβλητή, 149 π.χ. result, εκτυπώνοντας στην οθόνη κάθε φορά την τιμή της μεταβλητής result. 150 Σκεφτείτε από το αποτέλεσμα κάθε πράξης, τι ακριβώς κάνει η εκχώρηση 151 μιας αριθμητικής τιμής στην μεταβλητή result; 152 153 2 * 5^2 # expressions are evaluated, printed automatically and their value is lost 154 x <- 2 * 5^2 # assignments evaluate expressions, passes value to a variable, 155 # but ARE NOT printed automatically 156 print(x) # Need a print comment, to print an assigned value 157 158 Δοκιμάστε τις εντολές και παρατηρήστε το αποτέλεσμα του τελεστή '==' 159 y <- 2 * 5^2 160 z <- 2 * 5^2 161 z <- 2 * 5^2 162 print(y) 163 x == y 164 y == z 165 166 Δώστε μερικές εντολές/παραδείγματα των αριθμητικών (+,-,*,/,^ ή **, 167 %/%, %%) και των λογικών και τελεστών σύγκρισης (<, <=, >, >=, ==,!=, 168!x, x y, x&y, istrue(x) ) του R. 169 170 171 172 Διανύσματα τιμών μπορούν να δημιουργηθούν χρησιμοποιώντας 173 τη συνάρτηση συνδυασμού 'c ()'. Δημιουργήστε τα ακόλουθα διανύσματα τιμών με 174 στοιχεία αριθμητικά, χαρακτήρες, λογικές τιμές: 175 vec1 <- c (10, 20, 15, 40) # numeric vector 176 vec2 <- c ("a", "b", "c", NA) # character vector 177 vec3 <- c (TRUE, FALSE, TRUE, TRUE) # logical vector 178 Εξακριβώστε την τάξη τους, με εντολές του τύπου class(). 179 180 Διανύσματα τιμών χαρακτηρίζονται από το μήκος τους (δηλ. το πλήθος των στοιχείων τους). 181 Εξακριβώστε το μήκος του διανύσματος vec1, με την εντολή length() 182 length(vec1) # the length provides the number of elements in the vector 183 184 Τα επιμέρους στοιχεία ενός διανύσματος τιμών μπορούν να προσπελαστούν με τον δείκτη τους. 185 π.χ. εξακριβώστε ποιο είναι το στοιχείο στη θέση 3 του διανύσματος vec1, 186 με την ακόλουθη εντολή: 187 vec1[3] # element in position 3 188 189 Εκτυπώστε το μήκος του διανύσματος vec2, και τα στοιχεία του στη θέση 2 και 190 στις θέσεις 2 έως 4. 191 192 Εκτελέστε τις επιπλέον ακόλουθες απλές πράξεις: 193 o Εκχωρήστε τις τιμές από 1 έως 5 σε ένα διάνυσμα τιμών (μεταβλητή) x 194 195 o Υπολογίστε τη μέση τιμή τους, το άθροισμά τους, και την τετραγωνική ρίζα τους 196 και δείξτε τα αποτελέσματα στην οθόνη σας 197 198 o Εκτελέστε την εντολή 199 xx <- as.character(x) 200 201 o Υπολογίστε με μια εντολή τις τιμές καθενός εκ των αριθμών στις θέσεις 2 έως 4, 202 στη δύναμη 5 και τυπώστε τα αποτελέσματα στην οθόνη 203 204 o Υπολογίστε με μια εντολή τις τιμές των λογαρίθμων με βάση το 2, 205 των αριθμών 0.5, 1, 2, 4, 8 206 207 o Υπολογίστε με μια εντολή τις τιμές των λογαρίθμων με βάση το 10, 208 των αριθμών 0.1, 1, 10, 100, 1000 209

210 Αναζητήστε βοήθεια στο R για τη συνάρτηση class(). 211 212 Δημιουργήστε μια μεταβλητή 'b' με τιμή 1947.0, και τυπώστε b. 213 Ακολούθως εκτελέστε τις εντολές: 214 215 b <- as.character (b) 216 print (b) # prints out the value of b 217 class (b) # character 218 219 Εξακριβώστε πως μπορείτε να μετατρέψετε μια μεταβλητή χαρακτήρων σε αριθμητική. 220 Δοκιμάστε το με την μεταβλητή 'b' και τυπώστε το αποτέλεσμα. 221 222 Δημιουργήστε ένα διάνυσμα τιμών (π.χ., μια μεταβλητή z) από 1 έως 6 και 223 εξακριβώστε την τάξη του (class). 224 225 Δημιουργήστε ένα διάνυσμα που περιέχει τα ακόλουθα μικτά στοιχεία {1, 'a', 2, 'b'} και 226 εξακριβώστε την τάξη του (class). 227 228 Δημιουργήστε μια μεταβλητή 'b' με τιμή 1947.468, και τυπώστε την τιμή b. 229 Ακολούθως εκτελέστε τις εντολές: 230 c <- as.integer (b) 231 c 232 d <- as.character (b) 233 d 234 c = as.character(b) 235 c 236 c = as.integer(c) 237 c 238 Παρατηρήστε τις μετατροπές σε ακέραιες τιμές ή τιμές χαρακτήρων. 239 240 Αρχικοποιήσετε ένα αριθμητικό διάνυσμα 'numericvector', και εκτυπώστε τα στοιχεία του 241 με τις ακόλουθες εντολές: 242 numericvector <- numeric(100) # length 100 elements 243 numericvector 244 Παρατηρήστε τις τιμές του αριθμητικού διανύσματος 245 246 Εκχωρίστε στα στοιχεία στις θέσεις 22 και 57 τις τιμές 123.098 και 39. 247 Εκτυπώστε το διάνυσμα numericvector για να διαπιστώσετε ότι η εκχώριση τιμών έγινε 248 σωστά. 249 Αρχικοποιήσετε και τυπώστε ένα διάνυσμα χαρακτήρων μήκους 26, 250 με την ονομασία 'charhundred' 251 252 Ορίστε τον χαρακτήρα 'a' στο πρώτο στοιχείο του παραπάνω διανύσματος, 253 και τους χαρακτήρες '123a' και 'abc' στις θέσεις 12 και 30 του διανύσματος. 254 255 Δημιουργήστε ένα διάνυσμα 'myfriends' με κάποια ονόματα (τουλάχιστον πέντε) 256 εικονικών φίλων σας και εκτυπώστε το μήκος του διανύσματος. 257 258 Αποκτήστε τα ονόματα των πρώτων δύο φίλων σας από το παραπάνω διάνυσμα τιμών. 259 Αποκτήστε τα ονόματα για τον 2ο και τον 3ο φίλο σας από το παραπάνω διάνυσμα τιμών. 260 261 Αναζητήστε βοήθεια στο R για τις συναρτήσεις 'sort' και 'order'. 262 Ταξινομήστε τα ονόματα των φίλων σας, κατά αλφαβητική σειρά, 263 χρησιμοποιώντας τις δύο αυτές συναρτήσεις. 264 Κάνετε το ίδιο, ταξινομώντας τα ονόματα με αντίστροφη σειρά. 265 266 Οι συναρτήσεις seq () και rep () χρησιμοποιούνται για τη δημιουργία προσαρμοσμένων 267 ακολουθιών διανυσμάτων. Αναζητήστε βοήθεια από το R για τον τρόπο χρήση τους. 268 Εκτελέστε ενδεικτικά τις ακόλουθες εντολές: 269 270 seq (1, 10, by = 2) # diff between adj elements is 2 271 seq (1, 10, length=25) # length of the vector is 25 272 rep (1, 5) # repeat 1, five times. 273 rep (1:3, 5) # repeat 1:3, 5 times 274 rep (1:3, each=5) # repeat 1 to 3, each 5 times. 275 276 Δημιουργήστε με χρήση των συναρτήσεων rep και seq 277 την αλληλουχία των στοιχείων: 'a', 'a', 1,2,3,4,5,7,9,11 278 279 4. Χρήση συναρτήσεων στο R 280 281 Δοκιμάστε μερικές από τις ενσωματωμένες αριθμητικές ή 282 τριγωνομετρικές συναρτήσεις του R, όπως με τις ακόλουθες εντολές: 283 pi 284 cos(pi) 285 tan(1)-(4.2^(0.3)*175) 286 abs(-7.5^(0.832)+cos(pi/(abs(12))))-0.7 287 exp(pi) 288 x <- c(pi, pi/4, pi/3) 289 cos(x) 290 tan(x/2) 291 sin(x^2) 292 293 Δημιουργήστε ένα διάνυσμα 'angles' που να περιέχει τις αριθμητικές τιμές γωνιών, 294 από 0 μοίρες έως 180 μοίρες, ανά 10 μοίρες. 295 Μετατρέψτε το διάνυσμα 'angles' σε ένα διάνυσμα 'radians' αντίστοιχων τιμών σε ακτίνια. 296 Υπολογίστε το διάνυσμα yy με τις τιμές της συνάρτησης cos() για τις εν λόγω γωνίες. 297 Αναζητήστε βοήθεια στο R για τη χρήση της συνάρτησης plot() για τη δημιουργία 298 απλών γραφημάτων. Δημιουργήστε ένα γράφημα με την εντολή: 299 plot(radians,yy,type="b") 300 301 302 Δημιουργήστε ένα διάνυσμα τιμών, τη μεταβλητή 'rain' που να περιέχει τα 303 ακόλουθα δεδομένα βροχόπτωσης {16, 18, 14, 22, 27, 17, 19, 17, 17, 22, 20, 22} 304 στο Boulder, Colorado (για την περίοδο 2000-2011, σε inches, όπου 1 inch = 2.54 cm) 305 306 Το αντικείμενο "rain" περιέχει αριθμητικά δεδομένα, και συνεπώς μπορούμε 307 να υπολογίσουμε ορισμένα περιγραφικά στατιστικά στοιχεία. 308 Δοκιμάστε τις ακόλουθες συναρτήσεις mean(), sum() και length(): 309 mean(rain) #returns the average rainfall from 2000-2011 in Boulder, CO 310 sum(rain) #returns the total amount of rainfall during the study period 311 length(rain) #returns the length of the list, i.e. the number of years of data

312 313 Δοκιμάστε να χρησιμοποιήσετε τα αποτελέσματα από τις συναρτήσεις sum() και length() 314 για να υπολογίσετε τη μέση ποσότητα βροχοπτώσεων. 315 Ελέγξτε την απάντησh που πήρατε χρησιμοποιώντας τη συνάρτηση mean(). 316 317 Υπολογίστε τις αποκλίσεις από τον μέσο όρο για κάθε έτος (σημ. αρνητικές τιμές 318 θα δείχνουν βροχοπτώσεις κάτω από το μέσο όρο). Ακολούθως χρησιμοποιήστε 319 τον τελεστή εκχώρησης για να αποθηκεύσετε αυτές τις αποκλίσεις από 320 τη μέση βροχόπτωση ως ένα νέο αντικείμενο 'raindeviations' 321 322 Υπολογίστε τα τετράγωνα των εν λόγω αποκλίσεων από τον μέσο όρο και 323 τις τετραγωνικές ρίζες των ετήσιων τιμών των βροχοπτώσεων. 324 325 Μπορείτε να δημιουργήσετε τη δική σας συνάρτηση mymean() στο R, 326 η οποία να υπολογίζει τη μέση βροχόπτωση από τα αποτελέσματα 327 από τις συναρτήσεις sum() και length(). 328 329 Ορίστε την ακόλουθη δική σας συνάρτηση mymean() ως εξής: 330 mymean <- function(somedata) { return(sum(somedata)/length(somedata)) } 331 332 # Στον κώδικα που χρησιμοποιείται για τον ορισμό της συνάρτησης, ο όρος (μεταβλητή) 333 # "somedata" είναι απλά ένας κάτοχος θέσης - όχι ένα πραγματικό αντικείμενο της R. 334 # Υποδηλώνει το αντικείμενο που ο χρήστης θα περάσει στη συνάρτηση mymean(). 335 336 Συγκρίνετε τις μέσες τιμές βροχώπτωσης, όπως αυτές υπολογίζονται από τη βασική 337 συνάρτηση mean() του R και τη δική σας συνάρτηση mymean() - Θα πρέπει να είναι 338 ιδιες. 339 Θεωρείστε αντίστοιχα μηνιαία δεδομένα βροχοπτώσεων, σε εκατοστόμετρα, στην 340 Αθήνα {23, 31, 17, 12, 9, 20, 10, 12, 3, 5, 1, 1}. 341 Υπολογίστε (και συγκρίνετε) τη μέση βροχόπτωση, και τις αποκλίσεις από το μέσο όρο για την Αθήνα, 342 χρησιμοποιώντας τόσο τις βασικές συναρτήσεις του R, όσο και 343 της συνάρτησης σας 'mymean'. 344 345 Πρακτικά, εφόσον η συνάρτηση mean() υπάρχει ήδη στο R, η δημιουργία της 346 συνάρτησης mymean() που δημιουργήσατε δεν είναι τόσο χρήσιμη. 347 Ωστόσο, αν θέλαμε να μετατρέψουμε τα δεδομένα βροχόπτωσής από inches σε εκατοστά, 348 μια συνάρτηση in_to_cm() για να γίνει αυτή η μετατροπή μπορεί να είναι χρήσιμη. 349 Μπορείτε να το κάνετε αυτό χρησιμοποιώντας μια εντολή ορισμού της συνάρτησης 350 in_to_cm() στην μορφή: 351 352 in_to_cm <- function(somedataininches){ return( ) } 353 354 Διαμορφώστε κατάλληλα τον ορισμό της εν λόγω συνάρτησης και ακολούθως 355 με τη χρήση της μετατρέψτε τις προαναφερόμενες τιμές βροχόπτωσης στο Boulder, 356 και στην Αθήνα σε εκατοστά και αποθηκεύστε τις στα διανύσματα 'rain_cm_boulder' 357 'rain_cm_athens'. Mε τη βοήθεια της συνάρτησης 'mymean' υπολογίστε, 358 σε εκατοστόμετρα, τις μέσες τιμές βροχόπτωσης και aκολούθως, τις αποκλίσεις 359 των αντίστοιχων τιμών από το μέσο όρο βροχόπτωσης της εκάστοτε περιοχής. 360 361 Για να δείτε τι αντικείμενα χρησιμοποιείτε στο R μέχρι αυτό το σημείο της 362 συνεδρία σας, χρησιμοποιείστε την εντολή: 363 ls( ) # The ( ) is required, even though there are no arguments. 364 365 366 367 5. Τι είναι ένα πακέτο R και πώς να το εγκαταστήσετε; 368 369 Φορτώστε ένα από τα βασικά πακέτα R (π.χ., το πακέτο car εν προκειμένω) 370 install.packages ("car") # install car package 371 372 Όταν το πακέτο είναι εγκατεστημένο, πρέπει να το αρχικοποιήσετε για να μπορέσετε 373 να καλέσετε τις συναρτήσεις και τα σύνολα δεδομένων που το συνοδεύουν. 374 Εκτελέστε τις ακόλουθες εντολές: 375 376 library (car) # initialise the pkg 'car' 377 require (car) # another way to initialise 378 library () # see list of all installed packages 379 library (help=car) # see info about 'car' pkg 380 381 Μπορείτε να δημιουργήσετε μια σειρά από απλά έτοιμα demo γραφήματα, 382 εκτελώντας τις ακόλουθες εντολές: 383 demo(graphics) # Type <Enter> for each new graph 384 library(lattice) 385 demo(lattice) 386 387 Δημιουργήσετε μια σειρά από απλά έτοιμα demo γραφήματα εικόνων, 388 εκτελώντας τις ακόλουθες εντολές: 389 demo(image) 390 demo(persp) 391 392 Το R, με την εγκατάστασή του έχει διαθέσιμα κάποια βασικά σέτ δεδομένων. 393 Δοκιμάστε την ακόλουθη εντολή για να δείτε ποια είναι αυτά: 394 data() 395 396 Επιλέξτε/φορτώστε ένα από τα πακέτα, π.χ. το 'sunspots', και τυπώστε 397 τα πρώτα και τα τελευταία 10 στοιχεία του, με τις ενδεικτικές εντολές 398 data(sunspots) 399 head(sunspots,10) 400 tail(sunspots,10) 401 402 Επιλέξτε κάποιο άλλο σετ διαθέσιμων δεδομένων, π.χ. quakes, islands 403 Αναζητήστε βοήθεια στο R, πως να δείτε μερικά από τα πρώτα ή 404 τελευταία στοιχεία των εν λόγω σετ δεδομένων και εκτυπώστε τα. 405 406 407 6. Κλείστε την τρέχουσα συνεδρία του R. 408 409 Εκτελέστε την ακόλουθη εντολή 410 "This is the end of my Homework #1. My Name is:" 411 412 Αποθηκεύστε τα δεδομένα 'sunspots' και όλες τις εντολές της συνεδρία σας 413 save(sunspots,file="sunspots.rdata") 414 save.image(file = "entirel2session.rdata") 415

416 Ερευνήστε το ιστορικό της τρέχουσας συνεδρίας σας και 417 δημιουργήστε ένα.history αρχείο 418 history() # View most recent R commands 419 help(history) # Ζητήστε βοήθεια για τη χρήση της εντολής 'history()' 420 history(200) # Δείτε τις τελευταίες 200 εντολές που εκτελέσατε στη συνεδρία σας 421 savehistory(file = "hwk_1.rhistory") # Save to file 'hwk_1.rhistory' 422 423 Από προεπιλογή, όταν τερματίζετε με την εντολή q() μια συνεδρία 424 του R,θα ερωτηθείτε εάν θέλετε να αποθηκεύσετε τα περιεχόμενα του 425 χώρου εργασίας του R. Αν επιλέξετε ναι, θα δημιουργηθούν δύο αρχεία 426 στον τρέχοντα κατάλογο εργασίας, με επεκτάσεις.rdata και.rhistory, 427 τα οποία θα είναι ίδια με εκείνα που δημιουργήθηκαν με τις παραπάνω 428 εντολές 'save.image' και 'savehistory'.