Πίνακας περιεχομένων:
- Προσθήκη αλληλουχιών γραμμών και στηλών
- Μπορείτε να χρησιμοποιήσετε τη μορφή () για να μετατρέψετε τους αριθμούς σας σε όμορφο κείμενο, έτοιμο για εκτύπωση. Αυτή η λειτουργία απαιτεί διάφορα επιχειρήματα για τον έλεγχο της μορφής του αποτελέσματος. Εδώ είναι μερικά:
- mtcars <- transform (mtcars, + mpgClass = ifelse (mpg mtcars [mtcars $ mpgClass = ,
- Χρησιμοποιήστε ifelse.
- Μεταφορά στηλών ή σειρών
- Σε μια εφαρμογή υπολογιστικού φύλλου, όπως το Excel, μπορείτε να δημιουργήσετε πίνακες αναζήτησης με τις λειτουργίες vlookup ή συνδυασμό ευρετηρίου και αντιστοιχίας .
- Για λίγο πιο πολύπλοκα τραπέζια - δηλαδή πίνακες με περισσότερους από δύο παράγοντες διασταυρωμένης ταξινόμησης - ():
- Μπορείτε να χρησιμοποιήσετε τη λειτουργία καμπύλης () για να σχεδιάσετε συνεχείς λειτουργίες. Αυτό παίρνει μια συνάρτηση ως είσοδο και παράγει μια γραφική παράσταση. Προσπαθήστε να σχεδιάσετε τη συμπεριφορά των πωλήσεων και των εσόδων χρησιμοποιώντας τη λειτουργία καμπύλης (), σε διαφορετική τιμή από $ 50 έως $ 150: >> oldpar curve (πωλήσεις από = 50 έως 150, xname = "price", main = ")> Καμπύλη (έσοδα, από = 50, έως = 150, xname =" τιμή ", main =" Έσοδα ")> par (oldpar)
Βίντεο: New Raspberry Pi 3 Tutorial - How to Set Up for Gaming & Entertainment Projects 2024
Το υπολογιστικό φύλλο είναι πιθανώς μία από τις πιο ευρέως χρησιμοποιούμενες εφαρμογές PC και για καλό λόγο: Τα υπολογιστικά φύλλα καθιστούν πολύ εύκολο τον υπολογισμό και άλλες λειτουργίες σε πίνακες δεδομένα. Ωστόσο, τα λογιστικά φύλλα παρουσιάζουν επίσης ορισμένους κινδύνους: Είναι εύκολο να υποστούν βλάβη και είναι πολύ δύσκολο να εντοπιστούν σφάλματα. Τα καλά νέα είναι ότι μπορείτε να χρησιμοποιήσετε το R για να κάνετε πολλά από τα ίδια πράγματα που κάνατε σε υπολογιστικά φύλλα.
Προσθήκη αλληλουχιών γραμμών και στηλών
Μια εργασία που μπορείτε να κάνετε συχνά σε ένα υπολογιστικό φύλλο υπολογίζει τα σύνολα σειράς ή σειρών. Ο ευκολότερος τρόπος για να γίνει αυτό είναι να χρησιμοποιήσετε τις λειτουργίες rowSums () και colSums (). Ομοίως, χρησιμοποιήστε rowMeans () και colMeans () για να υπολογίσετε τα μέσα.
Δοκιμάστε την με την ενσωματωμένη ίριδα δεδομένων. Αρχικά, αφαιρέστε την πέμπτη στήλη, επειδή περιέχει κείμενο που περιγράφει το είδος ίριδας: >> ίριδα. num <- iris [-5]
Κατόπιν υπολογίστε το άθροισμα και το μέσο όρο για κάθε στήλη:
Αυτές οι δύο λειτουργίες είναι πολύ βολικές, αλλά μπορεί να θέλετε να υπολογίσετε κάποια άλλα στατιστικά στοιχεία για κάθε στήλη ή γραμμή. Υπάρχει ένας εύκολος τρόπος να διασταυρωθούν γραμμές ή στήλες ενός πίνακα ή πλαισίου δεδομένων: η λειτουργία apply (). Για παράδειγμα, η απόκτηση του ελάχιστου όρου μιας στήλης είναι η ίδια με την εφαρμογή μιας συνάρτησης min () στη δεύτερη διάσταση των δεδομένων σας: >> apply (iris, num, 2, min)> apply (iris. max)
Μορφοποίηση αριθμών
Μπορείτε να χρησιμοποιήσετε τη μορφή () για να μετατρέψετε τους αριθμούς σας σε όμορφο κείμενο, έτοιμο για εκτύπωση. Αυτή η λειτουργία απαιτεί διάφορα επιχειρήματα για τον έλεγχο της μορφής του αποτελέσματος. Εδώ είναι μερικά:
trim:
-
Μια λογική τιμή. Εάν FALSE, προσθέτει διαστήματα προς τα δεξιά - δικαιολογεί το αποτέλεσμα. Αν είναι TRUE, καταστέλλει τους ηγετικούς χώρους. ψηφία :
-
Πόσα σημαντικά ψηφία των αριθμητικών τιμών θα εμφανίζονται. nsmall :
-
Ο ελάχιστος αριθμός ψηφίων μετά την υποδιαστολή. Επιπλέον, ελέγχετε τη μορφή της υποδιαστολής με δεκαδική. σημάδι, μεταξύ των διαστημάτων πριν από
το δεκαδικό σημείο με μεγάλο. και το σημάδι μεταξύ διαστημάτων μετά από το δεκαδικό σημείο με μικρό. σημάδι. Για παράδειγμα, μπορείτε να εκτυπώσετε τον αριθμό 12345. 6789 με κόμμα ως δεκαδικό σημείο, διαστήματα ως μεγάλο σημάδι και κουκίδες ως μικρό σημάδι: >> (12345, 6789, ψηφία = 9, δεκαδικό. (1) "12 345, 678. 9" Ως πιο πρακτικό παράδειγμα, για να υπολογίσετε το μέγεθος της μαρκαρίσματος, το μέσο των μερικών στηλών σε mtcars και στη συνέχεια να εκτυπώσετε τα αποτελέσματα με δύο ψηφία μετά την υποδιαστολή, χρησιμοποιήστε τα εξής: >> x format (x, digits = 2, nsmall = 2) mpg cyl disp hp "20.09 "" 6. 19 "" 230. 72 "" 146. 69 "
Παρατηρήστε ότι το αποτέλεσμα δεν είναι πλέον ένας αριθμός αλλά μια συμβολοσειρά κειμένου. Έτσι, προσέξτε όταν χρησιμοποιείτε τη μορφοποίηση αριθμών - αυτό πρέπει να είναι το τελευταίο βήμα της ροής εργασιών αναφοράς.
Εάν είστε εξοικειωμένοι με τον προγραμματισμό σε γλώσσες παρόμοιες με C ή C ++, τότε μπορείτε επίσης να βρείτε τη λειτουργία sprintf () χρήσιμη. Αυτό το περιτύλιγμα σάς επιτρέπει να επικολλήσετε τον μορφοποιημένο αριθμό σας απευθείας σε μια συμβολοσειρά.
Ακολουθεί ένα παράδειγμα μετατροπής αριθμών σε ποσοστά: >> x sprintf ("%. 1f %%", 100 * x) [1] "50. 0% "" 51. 0% "" 52. 0% "" 53. 0% "" 54. 0% "" 55. 0% "
Αυτό είναι αυτό που κάνει: Το πρώτο όρισμα για το sprintf () δείχνει τη μορφή - στην περίπτωση αυτή,"%. 1f %% ". Το όρισμα μορφοποίησης χρησιμοποιεί ειδικά literals που υποδηλώνουν ότι η συνάρτηση θα πρέπει να αντικαταστήσει αυτό το literal με μια μεταβλητή και να εφαρμόσει κάποια μορφοποίηση. Τα γράμματα αρχίζουν πάντα με το σύμβολο%. Έτσι, σε αυτή την περίπτωση,%. 1f σημαίνει τη μορφοποίηση της πρώτης παρεχόμενης τιμής ως τιμής σταθερού σημείου με ένα ψηφίο μετά την υποδιαστολή και το %% είναι ένα κυριολεκτικό που σημαίνει εκτύπωση ενός%.
Για να μορφοποιήσετε ορισμένους αριθμούς ως νόμισμα - στην περίπτωση αυτή, δολάρια Ηνωμένων Πολιτειών - χρησιμοποιήστε: >> σύνολο. σπόρος (1)> x σπριντ ("$% 3. 2f", x) [1] "$ 265. 51" "$ 372. 12" "$ 572. 85" "$ 908. 21" "$ 201. "
Η συνάρτηση sprintf () σας δίνει έναν εναλλακτικό τρόπο επικόλλησης της τιμής οποιασδήποτε μεταβλητής σε μια συμβολοσειρά: >> price sprintf (% s cost $% 3. 2f, stuff, price)] "Το κόστος ψωμιού $ 2. Τα" μπισκότα κοστίζουν $ 4. 00 "
Αυτό που συμβαίνει εδώ είναι ότι επειδή δώσατε δύο φορείς (κάθε ένα με δύο στοιχεία) στο sprintf (), το αποτέλεσμα σας είναι ένα διάνυσμα με δύο στοιχεία. R κύκλους μέσα από τα στοιχεία και τα τοποθετεί σε literals sprintf ().
Μπορείτε να κάνετε τα πάντα με την επικόλληση () και τη μορφή () που μπορείτε να κάνετε με το sprintf (), οπότε δεν χρειάζεται ποτέ να το χρησιμοποιήσετε. Αλλά όταν το κάνετε, μπορεί να απλοποιήσει τον κωδικό σας.
Ταξινόμηση δεδομένων
Για να ταξινομήσετε δεδομένα σε R, χρησιμοποιείτε τις λειτουργίες sort () ή order ().
Για να ταξινομήσετε το πλαίσιο δεδομένων mtcars με την αυξανόμενη ή μειούμενη σειρά της στήλης hp, χρησιμοποιήστε: >> με (mtcars, mtcars [order (hp),])> με (mtcars, mtcars = TRUE),])
Πραγματοποιώντας επιλογές με εάν
Τα υπολογιστικά φύλλα σας δίνουν τη δυνατότητα να εκτελείτε όλα τα είδη των "Τι εάν; "Αναλύσεις. Ένας τρόπος να γίνει αυτό είναι να χρησιμοποιήσετε τη λειτουργία if () σε ένα υπολογιστικό φύλλο.
Το R έχει επίσης τη λειτουργία if (), αλλά χρησιμοποιείται κυρίως για τον έλεγχο ροής στα σενάρια σας. Επειδή συνήθως θέλετε να εκτελέσετε έναν υπολογισμό σε ολόκληρο τον φορέα στο R, είναι συνήθως πιο κατάλληλο να χρησιμοποιήσετε τη λειτουργία ifelse ().
Ακολουθεί ένα παράδειγμα χρήσης ifelse () για να αναγνωρίσετε τα αυτοκίνητα με υψηλή απόδοση καυσίμου στο σύνολο δεδομένων mtcars:
mtcars <- transform (mtcars, + mpgClass = ifelse (mpg mtcars [mtcars $ mpgClass =,
Υπολογισμός των συνολικών συνθηκών
Κάτι άλλο που πιθανότατα έχετε κάνει πολύ στο Excel υπολογίζει τα υπό όρους ποσά και τις μετρήσεις με τις λειτουργίες sumif () και countif ().
Μπορείτε να κάνετε το ίδιο πράγμα σε ένα από τα δύο τρόποι στο R:
Χρησιμοποιήστε ifelse.
Απλά υπολογίστε το μέτρο ενδιαφέροντος για ένα υποσύνολο των δεδομένων σας.
Ας υποθέσουμε ότι θέλετε να υπολογίσετε ένα μέσο όρο απόδοσης καυσίμου σε mtcars. Κάνετε αυτό με τη μέση () λειτουργία. Τώρα, για να έχετε απόδοση καυσίμου για αυτοκίνητα εκατέρωθεν ενός ορίου 150 ίππων, δοκιμάστε τα εξής:
με (mtcars, mean (mpg)) [1] 20. 09062> με (mtcars, hp με (mtcars, mean (mpg [hp> = 150])) [1] 15. 40667
Η μέτρηση του αριθμού των στοιχείων σε ένα διάνυσμα είναι ίδια με την ερώτηση για το μήκος του.) έχει μήκος ισοδύναμου R: >> με (mtcars, μήκος (mpg [hp> 150])) [1] 13
Μεταφορά στηλών ή σειρών
σε R, η συνάρτηση για τη μεταφορά μιας μήτρας είναι t (): >> xx [1] [2] [3] [1,] 1 5 9 [2] 2 Για να πάρετε τη μετατόπιση μιας μήτρας, χρησιμοποιήστε t (): >> t (x) [1] [2] [3] [4] [1,] 1 2 3 4 [2,] 5 6 7 8 [3] 9 10 11 12
Το αποτέλεσμα μιας μεταφοράς είναι πάντοτε ένας πίνακας (ή ένας πίνακας), επειδή οι πίνακες πάντα έχουν μόνο έναν τύπο της μεταβλητής, όπως είναι ο αριθμητικός ή ο χαρακτήρας, οι μεταβλητοί τύποι των αποτελεσμάτων σας μπορεί να μην είναι αυτό που περιμένετε.
-
Εύρεση μοναδικών ή διπλών τιμών
-
Για να προσδιορίσετε όλες τις μοναδικές τιμές στα δεδομένα σας, χρησιμοποιήστε τη λειτουργία unique (). Προσπαθήστε να βρείτε τις μοναδικές τιμές του αριθμού των κυλίνδρων σε mtcars: >> μοναδικό (mtcars $ cyl) [1] 6 4 8
Μερικές φορές θέλετε να μάθετε ποιες τιμές των δεδομένων σας είναι διπλές. Ανάλογα με την κατάστασή σας, αυτά τα διπλότυπα θα είναι έγκυρα, αλλά μερικές φορές οι διπλές καταχωρήσεις ενδέχεται να υποδεικνύουν προβλήματα εισαγωγής δεδομένων.
Η λειτουργία αναγνώρισης διπλών καταχωρήσεων είναι διπλή (). Στο ενσωματωμένο σύνολο ίριδας δεδομένων υπάρχει μια αλληλεπικαλυπτόμενη γραμμή στη γραμμή 143. Δοκιμάστε τον εαυτό σας: >> dupes head (dupes) [1] FALSE FALSE FALSE FALSE FALSE FALSE> που (dupes) [1] 143> ίριδα [δαπέες,] Σεπάλ. Μήκος Sepal. Πλάτος Πέταλ. Μήκος πετάλων. Width Species 143 5. 8 2. 7 5. 1 1. 9 virginica
Επειδή το αποτέλεσμα του διπλότυπου () είναι λογικό διάνυσμα, μπορείτε να το χρησιμοποιήσετε ως ευρετήριο για να αφαιρέσετε σειρές από τα δεδομένα σας. Για να το κάνετε αυτό, χρησιμοποιήστε τον χειριστή άρνησης - το θαυμαστικό (όπως στο! Dupes): >> ίριδα [! [1] 149
Εργασία με πίνακες αναζήτησης
Σε μια εφαρμογή υπολογιστικού φύλλου, όπως το Excel, μπορείτε να δημιουργήσετε πίνακες αναζήτησης με τις λειτουργίες vlookup ή συνδυασμό ευρετηρίου και αντιστοιχίας.
Σε R, μπορεί να είναι βολικό να χρησιμοποιήσετε συγχώνευση () ή αντιστοίχιση (). Η συνάρτηση αντιστοίχισης () επιστρέφει ένα διάνυσμα με τις θέσεις στοιχείων που ταιριάζουν με την τιμή αναζήτησης.
Για παράδειγμα, για να βρείτε τη θέση του στοιχείου "Toyota Corolla" στα ονόματα γραμμών των mtcars, δοκιμάστε τα εξής:
ευρετήριο ευρετηρίου [1] 20> mtcars [index, 1: 4] hp Toyota Corolla 33. 9 4 71. 1 65
Εργασία με πίνακες περιστροφής
Για τους απλούς πίνακες στο R, μπορείτε να χρησιμοποιήσετε τη συνάρτηση tapply () για να επιτύχετε παρόμοια αποτελέσματα με τους άξονες πίνακα στο Excel.Ακολουθεί ένα παράδειγμα χρήσης του tapply () για τον υπολογισμό της μέσης τιμής hp για αυτοκίνητα με διαφορετικούς αριθμούς κυλίνδρων και γραναζιών: >> με (mtcars, tapply (hp, list (cyl, gear)) 3 4 5 4 97. 0000 76. 0 102. 0 6 107. 5000 116. 5 175. 0 8 194. 1667 NA 299. 5
Για λίγο πιο πολύπλοκα τραπέζια - δηλαδή πίνακες με περισσότερους από δύο παράγοντες διασταυρωμένης ταξινόμησης - ():
αδρανές (hp ~ cyl + gear + am, mtcars, μέση) cyl gear am hp 1 4 3 0 97. 00000 2 6 3 0 107. 50000 3 8 3 0 194. 16667 4 4 4 0 78. 50000 5 6 4 0 123. 00000 6 4 4 1 75. 16667 7 6 4 1 110. 00000 8 4 5 1 102. 00000 9 6 5 1 175. 00000 10 8 5 1 299. 50000
Χρήση ο στόχος επιδιώκει και solver
Στο R, η λειτουργία optimize () παρέχει ένα αρκετά απλό μηχανισμό για τη βελτιστοποίηση των λειτουργιών.
Φανταστείτε ότι είστε ο διευθυντής πωλήσεων μιας εταιρείας και πρέπει να ρυθμίσετε την καλύτερη τιμή για το προϊόν σας. Με άλλα λόγια, βρείτε την τιμή ενός προϊόντος που μεγιστοποιεί τα έσοδα.
Στα οικονομικά, ένα απλό μοντέλο τιμολόγησης δηλώνει ότι οι άνθρωποι αγοράζουν λιγότερο από ένα δεδομένο προϊόν όταν η τιμή αυξάνεται. Εδώ είναι μια πολύ απλή λειτουργία που έχει αυτή τη συμπεριφορά:
πωλήσεις <- λειτουργία (τιμή) {100 - 0. 5 * τιμή}
Τα αναμενόμενα έσοδα είναι απλώς το προϊόν της τιμής και των αναμενόμενων πωλήσεων: >> έσοδα <- συνάρτηση (τιμή) {τιμή * πωλήσεις (τιμή)}
Μπορείτε να χρησιμοποιήσετε τη λειτουργία καμπύλης () για να σχεδιάσετε συνεχείς λειτουργίες. Αυτό παίρνει μια συνάρτηση ως είσοδο και παράγει μια γραφική παράσταση. Προσπαθήστε να σχεδιάσετε τη συμπεριφορά των πωλήσεων και των εσόδων χρησιμοποιώντας τη λειτουργία καμπύλης (), σε διαφορετική τιμή από $ 50 έως $ 150: >> oldpar curve (πωλήσεις από = 50 έως 150, xname = "price", main = ")> Καμπύλη (έσοδα, από = 50, έως = 150, xname =" τιμή ", main =" Έσοδα ")> par (oldpar)
Ένα μοντέλο αναμενόμενων πωλήσεων και εσόδων.
Έχετε ένα λειτουργικό μοντέλο πωλήσεων και εσόδων. Μπορείτε να δείτε αμέσως ότι υπάρχει ένα σημείο μέγιστων εσόδων. Στη συνέχεια, χρησιμοποιήστε τη λειτουργία R optimize () για να βρείτε την τιμή αυτού του μέγιστου. Για να χρησιμοποιήσετε τη βελτιστοποίηση (), πρέπει να πείτε σε ποια λειτουργία θα χρησιμοποιηθεί (στην περίπτωση αυτή τα έσοδα ()), καθώς και το χρονικό διάστημα (στην περίπτωση αυτή τιμές μεταξύ 50 και 150). Από προεπιλογή, η βελτιστοποίηση () αναζητά μια ελάχιστη τιμή, οπότε σε αυτή την περίπτωση πρέπει να την πείτε να αναζητήσει τη μέγιστη τιμή: >> βελτιστοποίηση (έσοδα, διάστημα = c (50, 150), maximum = TRUE) [1] 100 $ στόχος [1] 5000
Και εκεί πηγαίνετε. Φορτίστε μια τιμή $ 100 και περιμένετε να λάβετε εισοδήματα ύψους $ 5,000.