Εισαγωγή στη Βιοπληροφορική Αλέξανδρος Κ. Δημόπουλος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογίες Πληροφορικής στην Ιατρική και τη Βιολογία (ΤΠΙΒ) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών Ακαδημαϊκό έτος 2017-18 Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 1 / 58
R R R is GNU S, a freely available language and environment for statistical computing and graphics which provides a wide variety of statistical and graphical techniques: linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, etc. statistical computation and graphics influenced by two existing languages: S (similar appearence) and Scheme (underlying implementation and semantics) interpreted distributed under a GNU-style copyleft Unix-like, Windows and Mac families OS 386, amd64/x86_64, alpha, arm, arm64, hppa, mips/mipsel, powerpc, s390x and sparc CPUs, i386-hurd-gnu, cpu-kfreebsd-gnu for i386 and amd64, i386-pc-solaris, rs6000-ibm-aix, sparc-sun-solaris, x86_64-apple-darwin, x86_64-unknown-freebsd and x86_64-unknown-openbsd Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 2 / 58
Why R I Free! Large user community that contribute packages Extremely flexible in abilities Graphics capabilities are remarkable Fast and efficient Interfaces with Microsoft Office Excel Can program almost anything AND save and repeat Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 3 / 58
Why R II Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 4 / 58
Why R III Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 5 / 58
Why R IV Requires patience Somewhat steep learning curve for R Somehow different than other typical programming languages Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 6 / 58
Γιατί R Είδος τελεστή + / αριθμητικός > >= < <= ==! = σύγκρισης! λογικός < > = ανάθεσης $ αναφορά σε αντικείμενο λίστας : δημιουργία ακολουθίας Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 7 / 58
Βασικές εσωτερικές συναρτήσεις Συνάρτηση Επεξήγηση log(x) log to base e of x exp(x) antilog of x (e x ) log(x,n) log to base n of x log10(x) log to base 10 of x sqrt(x) x factorial(x) x! floor(x) x ceiling(x) x round(x, digits=0) round the value of x to an integer signif(x, digits=6) give x to 6 digits in scientific notation abs(x) x cos(x) cosine of x in radians sin(x) sin of x in radians tan(x) tan of x in radians Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 8 / 58
Βασικές εσωτερικές συναρτήσεις πινάκων Συνάρτηση Επεξήγηση max(x) maximum value in x min(x) minimum value in x sum(x) total of all the values in x mean(x) arithmetic average of the values in x median(x) median value in x range(x) vector of min(x) and max(x) var(x) sample variance of x cor(x,y) correlation between vectors x and y sort(x) a sorted version of x order(x) an integer vector containing the permutation to sort x into ascending order quantile(x) vector containing the minimum, lower quartile, median, upper quartile, and maximum of x colmeans(x)/rowmeans(x) column/row means of dataframe or matrix x colsums(x)/rowsums(x) column/row totals of dataframe or matrix x Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 9 / 58
Αρχική οθόνη I Όλες οι εντολές δίνονται πίσω από το σύμβολο > Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 10 / 58
Αρχική οθόνη II Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 11 / 58
Αρχική οθόνη III Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 12 / 58
Inf & NaN Γιατί R Inf (Infinity) Not a Number (NaN) Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 13 / 58
Λογικές τιμές Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 14 / 58
Vectors () I Ότι εισαχθεί από τον χρήστη εκλαμβάνεται ως διάνυσμα Το [1] δείχνει τον δείκτη στο πρώτο αντικείμενο της (πρώτης) σειράς Η αρίθμηση των θέσεων κάθε διανύσματος ξεκινάει από το 1 (one-based numbering) Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 15 / 58
Vectors () II Η συνάρτηση... (combine) επιτρέπει τη δημιουργία μεγαλύτερων διανυσμάτων Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 16 / 58
Vectors () III Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 17 / 58
Vectors () IV Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 18 / 58
Σχόλια Γιατί R Οτιδήποτε ακολουθεί το σύμβολο # είναι σχόλιο και αγνοείται Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 19 / 58
I Ως interpreted γλώσσα οι μεταβλητές δεν χρειάζεται να έχουν δηλωθεί νωρίτερα Είναι case-sensitive, δηλαδή το x είναι διαφορετικό από το X Τα ονόματα των μεταβλητών δεν επιτρέπεται να ξεκινούν με αριθμούς (π.χ. 1variable) ή σύμβολα (π.χ. %variable) να περιέχουν κενά π.χ. variable.name και όχι variable name Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 20 / 58
II Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 21 / 58
III Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 22 / 58
IV Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 23 / 58
V Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 24 / 58
Συναρτήσεις Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 25 / 58
I Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 26 / 58
II Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 27 / 58
Πίνακες I Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 28 / 58
Πίνακες II Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 29 / 58
Πίνακες III Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 30 / 58
Πίνακες IV Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 31 / 58
Πίνακες V Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 32 / 58
Πίνακες VI Γιατί R Γενικά στην R : vector πίνακας μονοδιάστατος matrix πίνακας δισδιάστατος array πίνακας οποιασδήποτε διάστασης Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 33 / 58
Λίστες I Γιατί R Οι λίστες μπορούν να περιέχουν αντικείμενα διαφορετικού είδους π.χ. αριθμούς και αλφαριθμητικά Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 34 / 58
Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 35 / 58 Λίστες II Γιατί R
Data frame I Λίστα που περιέχει πολλαπλά διανύσματα του ίδιου μεγέθους Θυμίζει λογιστικό φύλλο (spreadsheet) Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 36 / 58
Data frame II Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 37 / 58
Data frame III Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 38 / 58
Κλάσεις Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 39 / 58
Δημιουργία γραφικών παραστάσεων I Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 40 / 58
Δημιουργία γραφικών παραστάσεων II Regression of MPG on Weight mpg 10 15 20 25 30 2 3 4 5 wt Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 41 / 58
Ιστόγραμμα I Histogram of mtcars$mpg Frequency 0 2 4 6 8 10 12 10 15 20 25 30 35 mtcars$mpg Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 42 / 58
Ιστόγραμμα II Histogram of mtcars$mpg Frequency 0 1 2 3 4 5 6 7 10 15 20 25 30 mtcars$mpg Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 43 / 58
Ραβδόγραμμα I Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 44 / 58
Ραβδόγραμμα II Car Distribution 0 2 4 6 8 10 12 14 3 4 5 Number of Gears Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 45 / 58
Line Chart Γιατί R type= p y 1 2 3 4 5 1 2 3 4 5 x Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 46 / 58
Pie Chart I Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 47 / 58
Pie Chart II Γιατί R Pie Chart of Countries UK US Australia France Germany Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 48 / 58
Boxplot Γιατί R Car Milage Data Miles Per Gallon 10 15 20 25 30 4 6 8 Number of Cylinders Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 49 / 58
Scatterplot Γιατί R Scatterplot Example Miles Per Gallon 10 15 20 25 30 2 3 4 5 Car Weight Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 50 / 58
I Γιατί R Η R έχει ένα σύστημα βοήθειας για τις ενσωματωμένες συναρτήσεις και τα εγκατεστημένα πακέτα Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 51 / 58
II Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 52 / 58
III Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 53 / 58
IV Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 54 / 58
V Γιατί R Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 55 / 58
VI vignette Vignette είναι ένα μικρό αρχείο κειμένου που περιγράφει πώς γίνεται η χρήση ενός πακέτου με παραδείγματα. Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 56 / 58
Δημιουργήστε ένα πίνακα Α 100 θέσεων με τιμές από το 1 μέχρι το 100 Δημιουργήστε ένα πίνακα Β 100 θέσεων με τιμές από το 100 μέχρι το 1 Δημιουργήστε ένα data frame DF που να έχει στις 2 στήλες του τα στοιχεία του πίνακα Α και του πίνακα Β Προσθέσετε στο DF μια νέα στήλη C που να περιέχει σε κάθε γραμμή το άθροισμα των αντιστοίχων A και B Κάντε γραφική παράσταση του sin(x) για τιμές του x από -10 μέχρι 10 με διαφορετικά βήματα π.χ. 1, 0.5, 0.01 Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 57 / 58
Ερωτήσεις;? Τμήμα Πληροφορικής και Τηλεπικοινωνιών - ΠΜΣ ΤΠΙΒ Εθνικού και Καποδιστριακού Πανεπιστημίου Αθηνών 58 / 58