Εργαστήριο Ανώτερης Γεωδαισίας Μεταπτυχιακό Πρόγραμμα ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ «Αναλυτικές Μέθοδοι στη Γεωπληροφορική» (Ακαδ. Έτος 2016-17) ΟΝΟΜΑΤΕΠΩΝΥΜΟ... ΕΞΑΜΗΝΟ... Ημερομηνία Παράδοσης : 6/12/2016 ΘΕΜΑΤΙΚΗ ΕΡΓΑΣΙΑ #3 Σκοπός: Η παρούσα θεματική εργασία αποσκοπεί στην εξοικείωση σας με τις βασικές εντολές εισαγωγής στο λογισμικό R αρχείων δεδομένων σε διαφορετικούς μορφότυπους. Η προσπάθεια θα επικεντρωθεί αρχικά στην χρήση ενδεικτικών τυπικών μικρών αρχείων, και σε ένα δεύτερο μέρος στη χρήση πιο αντιπροσωπευτικών αρχείων δεδομένων για τυπικές εφαρμογές με το R. ΜΕΡΟΣ Α Στις ιστοσελίδες του μαθήματος θα βρείτε τα R scripts THwk3_part1.r, THwk3_part2.r, THwk3_part3.r, που εμπεριέχουν σειρά τυπικών εντολών για να διαβάσετε/εισάγετε στο R μικρά αρχεία δεδομένων που μπορούν να διαβαστούν με διαφορετικές κατάλληλες εντολές ανάλογα με τη μορφή (π.χ. αριθμητικά δεδομένα, δεδομένα χαρακτήρων ή σύνθετα δεδομένα), τη δομή και τα πεδία των δεδομένων στο εκάστοτε αρχείο. Για το λόγο αυτό εξασκηθείτε σε μια σειρά από απλά ενδεικτικά βήματα χρήσης κατάλληλων εντολών και πακέτων του R, και καταγραφής τους σε ένα.rhistry αρχείο. Συγκεκριμένα, εκτελέστε τα προαναφερόμενα scripts βήμα-βήμα, εμπλουτίζοντας τις τυπικές βασικές εντολές που περιέχονται σε αυτά με δικές επιπλέον εντολές που θα σας βοηθήσουν να κατανοήσετε καλύτερα πως τα εκάστοτε δεδομένα αποθηκεύονται στο R ως αντικείμενα π.χ. διαφορετικών κλάσεων (πλαίσια δεδομένων, πίνακες, λίστες κλπ.) ή πως διαφορετικές συναρτήσεις αποθηκεύουν τα δεδομένα ως πλαίσια δεδομένων, ως λίστες ή ως διανύσματα τιμών ή πως μπορείτε να εξάγεται τα δεδομένα σας σε διαφορετικούς άλλους μορφότυπους. Τα ενδεικτικά αρχεία δεδομένων για τις δοκιμές σας έχουν φορτωθεί ή στις ιστοσελίδες του μαθήματος αν κάποιο αρχείο λείπει εκ παραδρομής, ειδοποιήστε τον διδάσκοντα με ένα email. ΜΕΡΟΣ B Για τις ανάγκες του δεύτερου μέρους της άσκησης χρησιμοποιήστε τα ακόλουθα αρχεία δεδομένων, τα οποία επίσης μπορείτε να τα βρείτε στις ιστοσελίδες του μαθήματος. Τοπικά δεδομένα (κατεβάστε τα στον Η/Υ σας): Στο συμπιεσμένο αρχείο ByMnthYear_ENSO.rar Στο συμπιεσμένο αρχείο ElNin_TAO.rar Athina0_atm.txt, Athina1_atm.txt, Athina_atm.txt Trapani_atm.txt Vienna_atm.txt Προ-φορτωμένα με το R δεδομένα - Επιλέξτε κάποια από τα δεδομένα που είναι διαθέσιμα με την προεπιλεγμένη εγκατάσταση του R. Θυμηθείτε ότι για να δείτε ποια είναι τα προ-φορτωμένα σετ δεδομένων μπορείτε να χρησιμοποιείστε την εντολή data(). Συγκεκριμένα, για τους σκοπούς της άσκησης επιλέξτε κατ ελάχιστον τα.csv αρχεία faithful, eurdist, airquality, quakes από το πακέτο 'datasets' (βλ. στο σύνδεσμο https://vincentarelbundck.github.i/rdatasets/datasets.html). Ανάλογα με τον εκάστοτε μορφότυπο και τις ιδιαιτερότητες στη δομή των ακόλουθων σετ δεδομένων, χρησιμοποιήστε τις κατάλληλες εντολές προκειμένου να εισάγετε τα δεδομένα στο R, να εκτυπώσετε ενδεικτικά στοιχεία των δεδομένων από την αρχή και το τέλος του εκάστοτε αρχείου, να διαπιστώσετε το μέγεθος/διαστάσεις, την κλάση των αντικειμένων που αποθηκεύει το R σε κάθε περίπτωση των δεδομένων (π.χ. data.frame, matrix, list, vectr κλπ.).
Για κάθε σετ δεδομένων ζητείται κατ ελάχιστον να εκτελέσετε τις κατάλληλες εντολές προκειμένου: Για κάθε αρχείο δεδομένων που θα επεξεργαστείτε δώστε τις κατάλληλες εντολές προκειμένου να επιθεωρήσετε στην οθόνη σας τα περιεχόμενα στην αρχή και το τέλος του εκάστοτε αρχείου, καθώς επίσης ελέγξτε το μέγεθος/πλήθος, διαστάσεις (π.χ., αριθμό των στηλών και γραμμών) του εκάστοτε σετ δεδομένων, καθώς και οποιεσδήποτε άλλες διαχειριστικές πληροφορίες που θα σας επιτρέπουν να επιθεωρήσετε τη δομή και τα πεδία των δεδομένων και των μεταβλητών που συμπεριλαμβάνονται στο εκάστοτε αρχείο. Επιπλέον, 1. Επιλέξτε το προ-φορτωμένο σετ δεδομένων (datasets) του R στο αρχείο faithful που περιλαμβάνει τους χρόνους αναμονής και διάρκειας εκτοξεύσεων θερμού νερού από τον ονομαστό θερμοπίδακα Old Faithful στο Εθνικό Πάρκο Yellwstne, Wyming, USA. a. Εκτελέστε το παράδειγμα στον ιστοχώρο https://stat.ethz.ch/r-manual/rdevel/library/datasets/html/faithful.html. b. Εκτελέστε το πλήρες tutrial στον ιστοχώρο http://www.r-tutr.cm/elementarystatistics/quantitative-data, με τα κατά σειρά επιμέρους βήματα Frequency Distributin f Quantitative Data Histgram Relative Frequency Distributin f Quantitative Data Cumulative Frequency Distributin Cumulative Frequency Graph Cumulative Relative Frequency Distributin Cumulative Relative Frequency Graph Stem-and-Leaf Plt Scatter Plt c. Επιλέξτε και χρησιμοποιήστε ένα από τα σετ δεδομένων eurdist, airquality, quakes ή οποιοδήποτε άλλο σετ της επιλογής σας που περιλαμβάνεται στο σύνδεσμο https://vincentarelbundck.github.i/rdatasets/datasets.html. Κάτω από τα ακόλουθα σχόλια εισάγετε τις κατάλληλες εντολές προκειμένου να επιτύχετε το αναφερόμενο αποτέλεσμα με το επιλεγμένο σετ δεδομένων σας: # Get size in rws by clumns. # Get the names f variables in the data frame. # See the internal structure f the data frame # See the first and last 10 lines f the data.frame # Extract elements frm ne f the clumns f the data.frame # Srt the data frame in ascending r descending rder f ne f its variables, and put it in a new data.frame called dataset.srted # Write the elements f the srted data.frame int a.txt file # See the first and last 20 lines f the srted dataframe # Return the clumn r rw number f min value in dataframe # Return number f min value in 1st cl # Return number f min value in 2nd cl # Return min cl index # Return min rw index # Rw name with minimum value # Assciate Clumn name with minimum value
# Assciate Rw name with minimum value #Use the summary functin n the riginal dataframe Ακολούθως εκτελέστε κατά παρόμοιο τρόπο 2 ή 3 από τα επιμέρους ζητούμενα στο προηγούμενο ερώτημα (1.b), χρησιμοποιώντας το επιλεγμένο σετ δεδομένων σας. 2. Εισαγάγετε στο R τα δεδομένα από τα τοπικά αρχεία Athina0_atm.txt, Athina1_atm.txt, Athina2_atm.txt, Athina_atm.txt τα οποία περιέχουν τα ίδια ατμοσφαιρικά δεδομένα από το αεροδρόμιο της Αθήνας στις 12:00, 15/11/2016, αλλά διαδοχικά τα αρχεία είναι χωρίς header recrd, με header recrd μιας γραμμής (με τα μετρούμενα μεγέθη), με header recrd δύο γραμμών (δηλ. και μιας επιπλέον γραμμής με τις μονάδες των μετρούμενων μεγεθών), και με πλήρες header πολλαπλών (36) γραμμών με πλήρη επεξήγηση των χαρακτηριστικών του σταθμού και των μετρήσεων. a. Για κάθε αρχείο εκτυπώστε τα αντίστοιχα header και δώστε τις κατάλληλες εντολές προκειμένου να επιθεωρήσετε στην οθόνη σας τα περιεχόμενα του αρχείου στην αρχή και το τέλος των δεδομένων, καθώς επίσης και τον αριθμό των στηλών και γραμμών των δεδομένων. b. Εισαγάγετε στο R τα δεδομένα από το τοπικό αρχείο Athina0_atm.txt (εκείνο που δεν περιέχει header). Όταν εκτυπώνετε στην οθόνη σας τα περιεχόμενα του αρχείου στην αρχή και το τέλος των δεδομένων, το R χρησιμοποιεί για ετικέτες των στηλών τις ονομασίες μεταβλητών V1, V2, κλπ. Χρησιμοποιείστε την κατάλληλη εντολή με την παράμετρο επιλογής cl.names προκειμένου να χρησιμοποιήσετε τις ονομασίες PRES HGHT TEMP DWPT RELH MIXR DRCT SKNT THTA THTE THTV και τυπώστε πάλι τα περιεχόμενα του αρχείου στην αρχή και το τέλος των δεδομένων, ώστε να βεβαιωθείτε ότι το R χρησιμοποιεί τις επιθυμητές ετικέτες για κάθε στήλη. Επιλέξτε και τυπώστε τις γραμμές του εν λόγω πλαισίου δεδομένων για τις οποίες οι τιμές της θερμοκρασίας είναι θετικές. Ακολούθως εξάγετε το υποσύνολο των εν λόγω γραμμών των δεδομένων σε ένα νέο αρχείο utput.csv. Χρησιμοποιήστε τις κατάλληλες εντολές προκειμένου Nα βρείτε τη μέγιστη τιμή της υγρασίας της ατμόσφαιρας (η παράμετρος στην 5η στήλη του πλαισίου) Nα βρείτε το ύψος στο οποίο μετρήθηκε η εν λόγω τιμή, καθώς και την αντίστοιχη θερμοκρασία που μετρήθηκε εκεί. Να απομονώσετε τις γραμμές του πλαισίου των δεδομένων, για τις οποίες η τιμή στα κελιά της στήλης 7 είναι 260. c. Εκτελέστε κατά παρόμοιο τρόπο τα επιμέρους ζητούμενα στο προηγούμενο ερώτημα (b) χρησιμοποιώντας ένα από τα σετ των τοπικών (στον Η/Υ σας) δεδομένων Trapani_atm.txt ή Vienna_atm.txt. 3. Αφού προηγουμένως αρχίσετε μια νέα συνεδρία στο R, χρησιμοποιήστε τις κατάλληλες εντολές προκειμένου να εισάγετε στο R τα δεδομένα από το αρχείο ByMnthYear_ENSO.txt που βασίζονται σε ωκεανογραφικά δεδομένα επιφανειακών μετεωρολογικών μετρήσεων που λαμβάνονται από μια σειρά σημαδούρες τοποθετημένες κατά μήκους του ισημερινού στον Ειρηνικό. Συγκεκριμένα δίνονται τιμές του λεγόμενου δείκτη ONI (Oceanic Nin Index) που εκφράζει αποκλίσεις θερμοκρασίας από τις μέσες τιμές κατά την περίοδο των τριάντα ετών 1971-2000. Τα δεδομένα αναμένεται να βοηθήσουν στην κατανόηση και πρόβλεψη των εποχικών κύκλων του φαινομένου El Nin / Νότια Ταλάντωση (ENSO, El Nin Suthern Oscillatin). Σημειώστε ότι οι ετικέτες DJF, JFM, FMA των δεικτών ONI υποδηλώνουν τριμηνιαία διαστήματα Dec-Jan-Feb, Jan-Feb-Mar, Feb-Mar-Apr, κλπ. και οι αντίστοιχες τιμές ΟΝΙ μπορούν να εκληφθούν ως αντιπροσωπευτικές για τον κεντρικό μήνα Jan, Feb, Mar, Εντοπίστε τους θερμούς και κρύους μήνες με βάση ένα κατώτατο όριο των ±0.5 ºC, για τον δείκτη ONI. Βρείτε το εύρος των τιμών που λαμβάνει ο δείκτης ONI καθ όλη την περίοδο 1950-2015 για το συγκεκριμένο σετ δεδομένων. Ακολούθως σπάστε το εύρος των τιμών που λαμβάνει ο δείκτης ONI, σε μη επικαλυπτόμενα διαστήματα τιμών, ορίζοντας μια ακολουθία ισο-διαστημάτων και υπολογίστε τη συχνότητα των δεικτών ONI σε κάθε υπο-διάστημα. Επιπλέον, υπολογίστε το εύρος των τιμών που
λαμβάνει ο δείκτης ONI κατά τους μήνες Jan, Apr, Jul, Oct, Nv, Dec για όλη την περίοδο 1950-2015, και κατασκευάστε για τον καθένα από τους εν λόγω μήνες ένα αντίστοιχο ιστόγραμμα των τιμών του ΟΝΙ, χρησιμοποιώντας κατάλληλες χρωματικές παλέτες της επιλογής σας και τίτλους για κάθε γράφημα. Υπολογίστε κατάλληλα στατιστικά μέτρα για τις μεταβολές του δείκτη ONI. Επιπλέον, (i) Για κάθε ένα από τους 12 μήνες καθ όλη την περίοδο 1950 2015. Βρείτε ποιος μήνας παρουσιάζει την μεγαλύτερη και ποιος τη μικρότερη τυπική απόκλιση του ΟΝΙ, δηλ. αναζητήστε το max(var(f mnth fr all years)) και min(var(f mnth fr all years)); Ποιος μήνας παρουσιάζει την μεγαλύτερη, και ποιος τη μικρότερη μέγιστη τιμή του ΟΝΙ, και αντίστοιχα ποιος μήνας παρουσιάζει την μεγαλύτερη, και ποιος τη μικρότερη ελάχιστη τιμή του ΟΝΙ, δηλ. αναζητήστε το max(min(f mnth fr all years)) και min(min(f mnth fr all years)); (ii) Για τους μήνες κάθε έτους Βρείτε ποιο έτος παρουσιάζει την μεγαλύτερη, και ποιος τη μικρότερη μέγιστη τιμή του ΟΝΙ (δηλ. αναζητήστε το max(max(per mnth f year) και min(max(per mnth f year)), και αντίστοιχα ποιο έτος παρουσιάζει την μεγαλύτερη, και ποιο τη μικρότερη ελάχιστη τιμή του ΟΝΙ (δηλ. αναζητήστε το max(min(per mnth f year) και min(min(per mnth f year)) ; (iii) Επιλέξτε δύο από τους 12 μήνες καθ όλη την περίοδο 1950 2015 και θεωρήστε τις αντίστοιχες τιμές ΟΝΙ που αντιστοιχούν σε αυτούς ως συντεταγμένες (x,y) της ίδιας παρατήρησης για το εκάστοτε έτος. Δημιουργήστε το διάγραμμα διασποράς (scatterplt) των δεικτών ΟΝΙ. Διακρίνετε οποιαδήποτε σχέση μεταξύ των μεταβλητών ΟΝΙ(mnth A) και ΟΝΙ(mnth Β); Εισάγετε στο R τα δεδομένα από το αρχείο ByMnthYear_ENSO(2).txt που είναι ίδιο με το προηγούμενο αρχείο ByMnthYear_ENSO.txt με τη μόνη διαφορά ότι επιπλέον περιλαμβάνει την ίδια γραμμή header στην αρχή κάθε νέας δεκαετίας. Κάνετε τους ίδιους υπολογισμούς όπως με το προηγούμενο ερώτημα (i). Εισάγετε στο R τα δεδομένα από το αρχείο ByMnthYear_ENSO(incl2016).txt που είναι ίδιο με το προηγούμενο αρχείο ByMnthYear_ENSO.txt με τη μόνη διαφορά ότι επιπλέον περιλαμβάνει μέρος των μηνιαίων τιμών (μέχρι τον Σεπτέμβριο) για το τρέχον έτος 2016. Κάνετε τους ίδιους υπολογισμούς όπως με το προηγούμενο ερώτημα (ii). Εισάγετε στο R τα δεδομένα από το αρχείο ByMnthYear_ENSO(incl2016)(2).txt που είναι ίδιο με το προηγούμενο αρχείο ByMnthYear_ENSO(incl2016).txt με τη μόνη διαφορά ότι επιπλέον περιλαμβάνει την ίδια γραμμή header στην αρχή κάθε νέας δεκαετίας. Κάνετε τους ίδιους υπολογισμούς όπως με το προηγούμενο ερώτημα (iii). 4. Αφού προηγουμένως αρχίσετε μια νέα συνεδρία στο R, χρησιμοποιήστε τις κατάλληλες εντολές προκειμένου να εισάγετε στο R τα δεδομένα από τα αρχεία elnin.txt, elnin.cl, ta-all2.cl, taall2.cl και ta-all2.missing που επίσης βασίζονται σε ωκεανογραφικά δεδομένα επιφανειακών μετεωρολογικών μετρήσεων που λαμβάνονται από μια σειρά σημαδούρες τοποθετημένες κατά μήκους του ισημερινού στον Ειρηνικό. Συγκεκριμένα, ta-all2.dat περιέχει τα δεδομένα από τις 7 Μαρτίου του 80 έως τις 3 Μαΐου 98. Τιμές που λείπουν εμφανίζονται στα αντίστοιχα πεδία ως. ta-all2.cl περιέχει τα ονόματα των μεταβλητών για τα δεδομένα στο ta-all2.dat ta-all2.missing δείχνει ποιες τιμές λείπουν στο ta-all2.dat elnin.txt περιέχει τα δεδομένα για την 23η Μαΐου 98 έως τις 5 Ιουνίου 98 elnin.cl περιέχει τα ονόματα των μεταβλητών για τα δεδομένα στο elnin.txt Αναδείξτε με κατάλληλες εντολές πως θα εισάγετε τα δεδομένα των αρχείων ta-all2 και πως θα τα αποθηκεύσετε ως κατάλληλα αντικείμενα στο R, και αφού λάβετε υπόψη σας την ύπαρξη κενών στα δεδομένα σας, ζητείται να υπολογίσετε τυπικά στατιστικά μέτρα προκειμένου να απαντηθούν τυπικά ερωτήματα, όπως Ποιο είναι το εύρος των τιμών του μεγέθους των ανέμων (znal winds και meridinal winds) και των τιμών της υγρασίας (humidity). Πόσο διαφέρει το εύρος των τιμών της θερμοκρασίας της ατμόσφαιρας με εκείνο των τιμών της θερμοκρασίας της θαλάσσιας επιφάνειας; Σχετίζονται οι δύο τύποι ανέμων (π.χ. υπάρχει κάποια γραμμική σχέση μεταξύ τους);
Σχετίζονται ο κάθε τύπος ανέμου με κάθε μια από τις τρεις μετεωρολογικές μεταβλητές (υγρασία, θερμοκρασία της ατμόσφαιρας και της θαλάσσιας επιφάνειας); Σχετίζονται οι δύο τύποι θερμοκρασιών (π.χ. υπάρχει κάποια γραμμική σχέση μεταξύ τους); Πόσο διαφορετική συμπεριφορά επιδεικνύουν οι θερμοκρασίες της ατμόσφαιρας σε σχέση με εκείνες για τις θερμοκρασίες της θαλάσσιας επιφάνειας; Σχετίζονται ο κάθε τύπος θερμοκρασιών με κάθε μια από τις τρεις μετεωρολογικές μεταβλητές (υγρασία, θερμοκρασία της ατμόσφαιρας και της θαλάσσιας επιφάνειας); Επαναλάβετε τα ίδια βήματα χρησιμοποιώντας αυτή τη φορά τα δεδομένα των αρχείων elnin. ΣΗΜΕΙΩΣΗ - Παραδώστε μια πλήρη Τεχνική Έκθεση που να περιέχει συνοπτικά τις δικές σας εμπειρίες από την τρέχουσα γνωριμία σας με χρήση του R, καθώς και τα τυχόν προβλήματα που αντιμετωπίσατε και πως τα παρακάμψατε. Συνιστάται η οργάνωση του περιεχομένου της Τεχνικής Έκθεσης να είναι ως εάν σας ζητήθηκε να γράψετε ένα συνοπτικό εγχειρίδιο για νέους χρήστες του R. Στην Τεχνική Έκθεση θα πρέπει να συμπεριληφθούν τα εκάστοτε.rhistry αρχεία που θα προκύψουν από τις ξεχωριστές συνεδρίες του R που διεκπεραιώσατε για την υλοποίηση του Μέρους Α, Β και Γ της Θεματικής Εργασίας.