1 00:00:00,000 --> 00:00:05,691 2 00:00:05,691 --> 00:00:07,690 CONNOR HARRIS: Ακόμα μου σκεφτείτε κάποιο συναρπαστικό βίντεο 3 00:00:07,690 --> 00:00:12,570 που παράγονται από έναν επαγγελματία συμβούλων ότι χρησιμοποιεί το R πολύ στο έργο της. 4 00:00:12,570 --> 00:00:16,329 >> Αφηγητής: Τι κρύβεται πίσω από τα στατιστικά στοιχεία, τα analytics, και οι απεικονίσεις 5 00:00:16,329 --> 00:00:19,770 λαμπρότερους επιστήμονες δεδομένα ότι η σημερινή και τους ηγέτες των επιχειρήσεων στηρίζονται σε 6 00:00:19,770 --> 00:00:22,012 να κάνουν ισχυρές αποφάσεις; 7 00:00:22,012 --> 00:00:23,540 Δεν μπορείτε να δείτε πάντα. 8 00:00:23,540 --> 00:00:24,790 Αλλά είναι εκεί. 9 00:00:24,790 --> 00:00:29,460 Αυτό λέγεται R, open source r-- η στατιστική γλώσσα προγραμματισμού 10 00:00:29,460 --> 00:00:32,630 ότι οι εμπειρογνώμονες δεδομένων στον κόσμο για τη χρήση για τα πάντα 11 00:00:32,630 --> 00:00:35,350 από τη χαρτογράφηση ευρείας κοινωνικής και τις τάσεις μάρκετινγκ σε απευθείας σύνδεση 12 00:00:35,350 --> 00:00:39,210 για την ανάπτυξη της χρηματοπιστωτικής και της κλιματικής μοντέλα που βοηθούν κινητήρια δύναμη των οικονομιών μας 13 00:00:39,210 --> 00:00:40,780 και τις κοινότητες. 14 00:00:40,780 --> 00:00:44,910 >> Αλλά τι ακριβώς είναι R και πού να αρχίσει R; 15 00:00:44,910 --> 00:00:48,620 Λοιπόν αρχικά, R ξεκίνησε εδώ με δύο καθηγητές 16 00:00:48,620 --> 00:00:51,950 ο οποίος ήθελε μια καλύτερη στατιστική πλατφόρμα για τους μαθητές τους. 17 00:00:51,950 --> 00:00:56,030 Έτσι δημιουργήθηκε ένα πρότυπο μετά την στατιστική γλώσσα S. 18 00:00:56,030 --> 00:01:00,480 Αυτοί, μαζί με πολλούς άλλους, συνέχισα να εργάζομαι για τη χρήση και το R, 19 00:01:00,480 --> 00:01:05,489 δημιουργία εργαλείων για την Ε και την εξεύρεση νέες αιτήσεις για την Ε κάθε μέρα. 20 00:01:05,489 --> 00:01:07,750 >> Χάρη σε αυτό είναι παγκόσμια κοινότητα προσπάθεια, 21 00:01:07,750 --> 00:01:11,850 Ε συνέχισε να αυξάνεται με χιλιάδες βιβλιοθήκες δημιουργούνται από το χρήστη ενσωματωμένη 22 00:01:11,850 --> 00:01:15,500 για την ενίσχυση της λειτουργικότητας R και επικύρωση της ποιότητας πλήθος προέλευσης 23 00:01:15,500 --> 00:01:19,740 και την υποστήριξη από τα πιο αναγνωρισμένα ηγέτες της βιομηχανίας σε κάθε πεδίο που 24 00:01:19,740 --> 00:01:25,040 χρησιμοποιεί R. Ποια είναι μεγάλη, επειδή R είναι ο καλύτερος σε αυτό που κάνει. 25 00:01:25,040 --> 00:01:28,540 Φερέλπιδες εμπειρογνώμονες γρήγορα και εύκολα να ερμηνεύσει, να αλληλεπιδρούν με, 26 00:01:28,540 --> 00:01:33,790 και να απεικονίσει τα δεδομένα δείχνουν τους γρήγορα αυξανόμενη κοινότητα των χρηστών σε όλο τον κόσμο R 27 00:01:33,790 --> 00:01:36,380 και να δούμε πώς ανοικτού κώδικα R συνεχίζει να διαμορφώνει 28 00:01:36,380 --> 00:01:39,340 το μέλλον των στατιστικών ανάλυση των δεδομένων και την επιστήμη. 29 00:01:39,340 --> 00:01:44,660 30 00:01:44,660 --> 00:01:47,710 >> CONNOR HARRIS: Εντάξει, ωραία. 31 00:01:47,710 --> 00:01:50,360 Έτσι η δική μου παρουσίαση θα είναι λίγο πιο νηφάλια. 32 00:01:50,360 --> 00:01:54,380 Αυτό δεν συνεπάγεται ότι πολύ συναρπαστική μουσική υπόκρουση. 33 00:01:54,380 --> 00:01:59,160 Αλλά όπως είδατε στο βίντεο, το R είναι το είδος ενός γενικού προγράμματος με σκοπό τη γλώσσα. 34 00:01:59,160 --> 00:02:03,720 Αλλά δημιουργήθηκε ως επί το πλείστον για στατιστικές εργασίες. 35 00:02:03,720 --> 00:02:07,980 >> Έτσι έχει σχεδιαστεί για τις στατιστικές, για την ανάλυση δεδομένων, για την εξόρυξη δεδομένων. 36 00:02:07,980 --> 00:02:12,420 Και έτσι μπορείτε να δείτε αυτό σε πολλές οι σχεδιαστικές επιλογές που οι ιθύνοντες του R 37 00:02:12,420 --> 00:02:13,320 κατασκευασμένος. 38 00:02:13,320 --> 00:02:15,472 Είναι σχεδιασμένο για μεγάλο βαθμό, άνθρωποι που δεν είναι 39 00:02:15,472 --> 00:02:17,930 εμπειρογνώμονες στον προγραμματισμό, ο οποίος Τα απλά μαζεύοντας προγραμματισμού 40 00:02:17,930 --> 00:02:23,460 από την πλευρά της, έτσι ώστε να μπορούν να κάνουν τη δουλειά τους στις κοινωνικές επιστήμες ή σε στατιστικά στοιχεία 41 00:02:23,460 --> 00:02:25,440 ή οτιδήποτε άλλο. 42 00:02:25,440 --> 00:02:27,850 >> Έχει μια πολύ πολύ σημαντικές διαφορές από C. 43 00:02:27,850 --> 00:02:33,200 Όμως, η σύνταξη και τα παραδείγματα ότι χρησιμοποιεί είναι σε γενικές γραμμές η ίδια. 44 00:02:33,200 --> 00:02:36,830 Και θα πρέπει να αισθάνονται αρκετά πολύ στο σπίτι δεξιά από το ρόπαλο. 45 00:02:36,830 --> 00:02:38,520 Είναι επιτακτική ανάγκη γλώσσα. 46 00:02:38,520 --> 00:02:40,260 >> Μην ανησυχείτε πάρα πολύ για αυτό αν δεν γνωρίζουν τον όρο. 47 00:02:40,260 --> 00:02:42,676 Αλλά υπάρχει μια διάκριση μεταξύ επιτακτική ανάγκη, δηλωτική, 48 00:02:42,676 --> 00:02:43,810 και λειτουργικά. 49 00:02:43,810 --> 00:02:47,600 Επιτακτική σημαίνει απλά να κάνετε δηλώσεις που είναι βασικά εντολές. 50 00:02:47,600 --> 00:02:52,340 Και τότε ο διερμηνέας ή η υπολογιστή τους ακολουθεί μία προς μία. 51 00:02:52,340 --> 00:02:56,630 Είναι ασθενώς δακτυλογραφημένη, υπάρχουν δεν υπάρχουν δηλώσεις τύπου R. 52 00:02:56,630 --> 00:02:59,130 >> Και τότε οι γραμμές μεταξύ των διαφορετικών τύπων 53 00:02:59,130 --> 00:03:03,920 είναι λίγο πιο χαλαρή από ό, τι είναι σε C, για παράδειγμα. 54 00:03:03,920 --> 00:03:06,450 Και όπως είπα υπάρχουν πολύ εκτεταμένες εγκαταστάσεις 55 00:03:06,450 --> 00:03:15,610 για γραφικά, για στατιστικούς ανάλυση, για την εξόρυξη δεδομένων. 56 00:03:15,610 --> 00:03:19,540 Αυτά είναι τόσο ενσωματωμένο στο γλώσσας και, όπως είπε το βίντεο, 57 00:03:19,540 --> 00:03:23,680 χιλιάδες βιβλιοθήκες τρίτων που μπορείτε να κατεβάσετε και να χρησιμοποιήσετε δωρεάν 58 00:03:23,680 --> 00:03:25,340 με πολύ χαλαρές προϋποθέσεις χορήγησης αδειών. 59 00:03:25,340 --> 00:03:28,800 60 00:03:28,800 --> 00:03:31,500 >> Έτσι, σε γενικές γραμμές, θα ήθελα να συστήσει ότι θα δούμε αυτές τις δύο βιβλία 61 00:03:31,500 --> 00:03:34,610 εάν πρόκειται να εργαστούν σε ένα R. από αυτούς είναι ο επίσημος R αρχαρίων 62 00:03:34,610 --> 00:03:35,110 οδηγός. 63 00:03:35,110 --> 00:03:38,660 Είναι συντηρείται από το πυρήνα για την ανάπτυξη του R. 64 00:03:38,660 --> 00:03:42,400 Μπορείτε να το κατεβάσετε και πάλι, χωρίς χρεώνουν και νομικά σε αυτό το σύνδεσμο εκεί. 65 00:03:42,400 --> 00:03:45,430 66 00:03:45,430 --> 00:03:49,869 Όλες αυτές οι διαφάνειες πρόκειται να πάει επάνω στο διαδίκτυο, στην ιστοσελίδα CS50 67 00:03:49,869 --> 00:03:50,660 μετά από αυτό γίνεται. 68 00:03:50,660 --> 00:03:53,690 Έτσι, δεν χρειάζεται να αντιγράψετε τα πράγματα κάτω μανιωδώς. 69 00:03:53,690 --> 00:03:56,800 >> Το άλλο είναι ένα εγχειρίδιο του Κοσμά Shalizi, 70 00:03:56,800 --> 00:04:00,100 ο οποίος είναι καθηγητής στο στατιστικών Carnegie Mellon, που ονομάζεται Σύνθετη Δεδομένων 71 00:04:00,100 --> 00:04:02,160 Ανάλυση από ένα Δημοτικό άποψη. 72 00:04:02,160 --> 00:04:04,010 Αυτό δεν είναι κατά κύριο λόγο ένα βιβλίο Ε. 73 00:04:04,010 --> 00:04:07,130 Είναι ένα βιβλίο και στατιστικές είναι ένα βιβλίο ανάλυσης δεδομένων. 74 00:04:07,130 --> 00:04:11,990 Αλλά είναι πολύ προσιτές σε ανθρώπους που έχουν μια μικρή ποσότητα των στατιστικών γνώσεων. 75 00:04:11,990 --> 00:04:13,750 >> Ποτέ δεν έχω λάβει επίσημη πορεία. 76 00:04:13,750 --> 00:04:17,269 Ξέρω μόνο κομμάτια από διάφορες συμμαχικές θέματα 77 00:04:17,269 --> 00:04:18,579 ότι έχω πάρει μαθήματα. 78 00:04:18,579 --> 00:04:21,839 Και ήμουν σε θέση να κατανοήσουν αυτό πολύ καλά. 79 00:04:21,839 --> 00:04:25,630 >> Όλα τα ποσά που δίνονται στο R. Είναι κατασκευασμένα στην Ε 80 00:04:25,630 --> 00:04:30,280 και έχουν επίσης λίστες κωδικός κάτω από κάθε εικόνα που σας πω 81 00:04:30,280 --> 00:04:33,270 πώς να κάνετε κάθε σχήμα με κωδικό Ε. 82 00:04:33,270 --> 00:04:37,400 Και αυτό είναι πολύ χρήσιμο εάν προσπαθείτε να μιμηθεί 83 00:04:37,400 --> 00:04:38,650 κάποια εικόνα που βλέπετε σε ένα βιβλίο. 84 00:04:38,650 --> 00:04:47,840 >> Και πάλι δωρεάν download stat.cmu.edu/cshalizi/ Λυπούμαστε, 85 00:04:47,840 --> 00:04:50,230 ότι θα πρέπει να περικοπούν περισπωμένη cshalizi. 86 00:04:50,230 --> 00:04:53,150 Θα βεβαιωθείτε ότι για να διορθώσει όταν οι επίσημες διαφάνειες ανεβαίνουν. 87 00:04:53,150 --> 00:04:57,000 / ADAfaEPoV το οποίο είναι ακριβώς το ακρωνύμιο του τίτλου του βιβλίου. 88 00:04:57,000 --> 00:04:59,850 89 00:04:59,850 --> 00:05:02,500 >> Έτσι, γενικά caveats-- R έχει πολλές δυνατότητες. 90 00:05:02,500 --> 00:05:05,331 Είμαι μόνο θα είναι σε θέση να καλύψει η επιφάνεια πολλά πράγματα. 91 00:05:05,331 --> 00:05:08,580 Επίσης, το πρώτο μέρος του σεμιναρίου πρόκειται να είναι κάτι σαν χωματερή δεδομένων. 92 00:05:08,580 --> 00:05:11,437 Είμαι αρκετά συγνώμη γι 'αυτό. 93 00:05:11,437 --> 00:05:13,770 Βασικά, είμαι πρόκειται να σας παρουσιάσουμε πολλά πράγματα 94 00:05:13,770 --> 00:05:15,350 δεξιά από το ρόπαλο, θα το συντομότερο δυνατό. 95 00:05:15,350 --> 00:05:17,058 Και τότε έχουμε την ευκαιρία να το διασκεδαστικό μέρος, το οποίο είναι 96 00:05:17,058 --> 00:05:20,570 Το demo όπου μπορώ να σας δείξω τα πάντα ότι έχουμε μιλήσει στην οθόνη. 97 00:05:20,570 --> 00:05:23,321 Και μπορείτε να παίξετε γύρω από τη δική σας. 98 00:05:23,321 --> 00:05:26,070 Έτσι, εκεί πρόκειται να είναι ένα πολύ τεχνικά πράγματα ρίχνονται επάνω εδώ. 99 00:05:26,070 --> 00:05:28,060 Μην ανησυχείτε για την αντιγραφή όλα αυτά κάτω. 100 00:05:28,060 --> 00:05:31,740 Επειδή Α, μπορείτε να πάρετε όλα τα πράγματα στην ιστοσελίδα CS50 αργότερα. 101 00:05:31,740 --> 00:05:37,780 Και Β, δεν είναι πραγματικά τόσο σημαντικό να απομνημονεύσει αυτό από τις διαφάνειες. 102 00:05:37,780 --> 00:05:40,462 Είναι πιο σημαντικό ότι παίρνετε κάποια διαισθητική ευκολία με την 103 00:05:40,462 --> 00:05:44,220 και ότι προέρχεται από ακριβώς παίζει γύρω. 104 00:05:44,220 --> 00:05:45,720 >> Γιατί λοιπόν να χρησιμοποιήσετε το R; 105 00:05:45,720 --> 00:05:49,440 Βασικά, αν έχεις ένα σχέδιο που περιλαμβάνει την εξόρυξη μεγάλα σύνολα δεδομένων, τα δεδομένα 106 00:05:49,440 --> 00:05:52,664 απεικόνισης, μπορείτε θα πρέπει να χρησιμοποιούν R. Αν είστε 107 00:05:52,664 --> 00:05:55,830 κάνει περίπλοκη στατιστικές αναλύσεις, ότι θα ήταν δύσκολο να σε Excel, 108 00:05:55,830 --> 00:05:58,010 για παράδειγμα, θα ήταν επίσης να good-- επίσης 109 00:05:58,010 --> 00:06:00,506 αν κάνετε στατιστικών ανάλυση που είναι αυτοματοποιημένες. 110 00:06:00,506 --> 00:06:02,130 Ας πούμε ότι είστε διατήρηση μιας ιστοσελίδας. 111 00:06:02,130 --> 00:06:06,320 Και θέλετε να διαβάσετε το αρχείο καταγραφής διακομιστή κάθε μέρα και να συγκεντρώσει κάποια λίστα, 112 00:06:06,320 --> 00:06:10,320 όπως τις κορυφαίες χώρες που Οι χρήστες σας προέρχονται από, 113 00:06:10,320 --> 00:06:15,100 μερικά συνοπτικά στατιστικά στοιχεία σχετικά με το πόσο καιρό ξοδεύουν στην ιστοσελίδα σας ή οτιδήποτε άλλο. 114 00:06:15,100 --> 00:06:16,910 Και θέλετε να εκτελέσετε αυτό κάθε μέρα. 115 00:06:16,910 --> 00:06:20,280 >> Τώρα, αν κάνετε αυτό, στο Excel, τότε θα πρέπει να πάτε στο αρχείο καταγραφής του διακομιστή σας, 116 00:06:20,280 --> 00:06:23,490 εισαγωγή, ότι σε μια Υπολογιστικό φύλλο Excel δεδομένα, 117 00:06:23,490 --> 00:06:24,910 τρέχει όλη την ανάλυση χειροκίνητα. 118 00:06:24,910 --> 00:06:27,100 Με το R, μπορείτε να γράψετε ένα μόνο σενάριο. 119 00:06:27,100 --> 00:06:29,520 Προγραμματίστε να τρέχει κάθε μέρα από το λειτουργικό σας σύστημα. 120 00:06:29,520 --> 00:06:33,657 Και στη συνέχεια, κάθε βράδυ στις 02:00 π.μ., ή όποτε το προγραμματίσετε να τρέξει, 121 00:06:33,657 --> 00:06:35,990 θα φανεί μέσα σας η κυκλοφορία στο Διαδίκτυο για εκείνη την ημέρα. 122 00:06:35,990 --> 00:06:39,010 Και στη συνέχεια, από την επόμενη μέρα, θα έχουν αυτό το λαμπερό, νέα έκθεση 123 00:06:39,010 --> 00:06:41,710 ή ό, τι με όλα τα πληροφορίες που ζητήσατε. 124 00:06:41,710 --> 00:06:44,960 125 00:06:44,960 --> 00:06:50,217 >> Έτσι, βασικά, το R είναι για τη Cisco προγραμματισμού σε σχέση με την ανάλυση της Cisco. 126 00:06:50,217 --> 00:06:51,050 Προκαταρκτική γίνεται. 127 00:06:51,050 --> 00:06:53,104 Ας μπει τα αληθινά πράγματα. 128 00:06:53,104 --> 00:06:55,020 Έτσι, υπάρχουν τρεις πραγματικές τύποι στη γλώσσα. 129 00:06:55,020 --> 00:06:56,120 Υπάρχει αριθμητικό τύπο. 130 00:06:56,120 --> 00:07:01,250 Υπάρχει ένα είδος διαφορά μεταξύ ακέραιοι και πλωτά σημεία, 131 00:07:01,250 --> 00:07:02,769 αλλά δεν είναι πραγματικά. 132 00:07:02,769 --> 00:07:04,560 Υπάρχει ένας χαρακτήρας τύπου, η οποία είναι χορδές. 133 00:07:04,560 --> 00:07:07,100 Και υπάρχει μια λογική τύπου, η οποία είναι Booleans. 134 00:07:07,100 --> 00:07:11,080 >> Και μπορείτε να μετατρέψετε μεταξύ των διαφόρων τύπων χρησιμοποιώντας αυτές τις λειτουργίες ως αριθμητικό, 135 00:07:11,080 --> 00:07:15,220 ως χαρακτήρας, ως λογική. 136 00:07:15,220 --> 00:07:17,510 Αν καλέσετε, για παράδειγμα, ως αριθμητική σε μια σειρά, 137 00:07:17,510 --> 00:07:20,030 θα προσπαθήσει να διαβάσει αυτό το αλφαριθμητικό ως έναν αριθμό, με τον ίδιο τρόπο 138 00:07:20,030 --> 00:07:25,897 ότι a2i και scanf κάνουμε, και C. Αν σας καλέσει ως αριθμητικά σε αληθείς ή ψευδείς 139 00:07:25,897 --> 00:07:26,980 θα μετατρέψει σε 1 ή 0. 140 00:07:26,980 --> 00:07:29,110 Αν καλέσετε και χαρακτήρα σε τίποτα αυτό θα 141 00:07:29,110 --> 00:07:32,550 μετατρέψει σε αυτό για μια αναπαράσταση συμβολοσειράς. 142 00:07:32,550 --> 00:07:34,990 >> Και έπειτα υπάρχουν πίνακες και διανύσματα. 143 00:07:34,990 --> 00:07:37,580 Έτσι, οι φορείς είναι βασικά 1 διαστάσεων πίνακες. 144 00:07:37,580 --> 00:07:40,600 Είναι αυτό που λέμε σε συστοιχίες Γ Πίνακες, 2 διαστάσεων συστοιχίες. 145 00:07:40,600 --> 00:07:42,350 Και τότε η ανώτατη διδιάστατους μπορείτε 146 00:07:42,350 --> 00:07:48,560 έχουν 3, 4, 5 ή ό, τι διαστάσεις των αριθμητικών τιμών, των χορδών, 147 00:07:48,560 --> 00:07:52,860 των λογικές τιμές. 148 00:07:52,860 --> 00:07:55,380 >> Μπορείτε επίσης να έχουν λίστες που είναι ένα είδος associative πίνακα. 149 00:07:55,380 --> 00:07:57,390 Θα μπει σε αυτό το λίγο. 150 00:07:57,390 --> 00:07:59,390 Έτσι, ένα σημαντικό πράγμα ότι τα ταξίδια τους ανθρώπους στον τομέα της έρευνας 151 00:07:59,390 --> 00:08:01,470 είναι ότι δεν υπάρχουν πραγματικό, καθαρό ατομικό τύπους. 152 00:08:01,470 --> 00:08:05,870 Δεν υπάρχει πραγματική διάκριση μεταξύ ένας αριθμός, όπως μια αριθμητική τιμή, 153 00:08:05,870 --> 00:08:07,920 και μια λίστα από αριθμητικές τιμές. 154 00:08:07,920 --> 00:08:12,370 Αριθμητικές τιμές είναι στην πραγματικότητα η ίδιο όπως τους φορείς του μήκους 1. 155 00:08:12,370 --> 00:08:14,959 Και αυτό έχει μια σειρά από σημαντικές συνέπειες. 156 00:08:14,959 --> 00:08:17,500 Ένα, αυτό σημαίνει ότι μπορείτε να κάνετε τα πράγματα πολύ εύκολα που περιλαμβάνουν 157 00:08:17,500 --> 00:08:21,037 όπως την προσθήκη ενός αριθμού σε ένα φορέα. 158 00:08:21,037 --> 00:08:23,120 R θα βασικά σχήμα τι εννοείτε με αυτό. 159 00:08:23,120 --> 00:08:24,610 Και θα φτάσουμε σε αυτό σε μια δεύτερη. 160 00:08:24,610 --> 00:08:27,930 Σημαίνει, επίσης, ότι δεν υπάρχει κανένας τρόπος για τον τύπο checker-- στο βαθμό 161 00:08:27,930 --> 00:08:30,530 ότι κάτι τέτοιο υπάρχει σε r-- να πει 162 00:08:30,530 --> 00:08:33,780 όταν έχετε περάσει στην ενιαία τιμή πότε αναμένει μια σειρά ή το αντίστροφο. 163 00:08:33,780 --> 00:08:39,159 Και αυτό μπορεί να προκαλέσει κάποια περίεργα προβλήματα που έτρεξα σε κατά 164 00:08:39,159 --> 00:08:42,252 Ήμουν χρησιμοποιώντας Ε κατά τη διάρκεια του καλοκαιριού η δουλειά μου. 165 00:08:42,252 --> 00:08:43,710 Και δεν υπάρχουν συστοιχίες μικτού τύπου. 166 00:08:43,710 --> 00:08:46,543 Έτσι, δεν μπορείτε να έχετε μια σειρά ήταν η πρώτα στοιχεία είναι, δεν ξέρω, 167 00:08:46,543 --> 00:08:49,332 η σειρά "John" και το δεύτερο στοιχείο είναι ο αριθμός 42. 168 00:08:49,332 --> 00:08:52,540 Αν προσπαθήσετε να το κάνετε αυτό, τότε θα πάρετε ό, τι ακριβώς μετατρέπεται σε μια σειρά. 169 00:08:52,540 --> 00:08:54,760 Έτσι έχουμε εγχόρδων Ιωάννη, κορδόνι 42. 170 00:08:54,760 --> 00:08:58,250 171 00:08:58,250 --> 00:09:02,025 >> Έτσι ασυνήθιστο συντακτική features-- πιο Ε σύνταξη είναι πολύ παρόμοια με C. 172 00:09:02,025 --> 00:09:04,690 Υπάρχουν μερικές σημαντικές διαφορές. 173 00:09:04,690 --> 00:09:05,620 Η πληκτρολόγηση είναι πολύ αδύναμη. 174 00:09:05,620 --> 00:09:07,360 Έτσι, δεν υπάρχουν δηλώσεις μεταβλητών. 175 00:09:07,360 --> 00:09:12,670 Εκχώρηση χρησιμοποιεί την παράξενη χειριστής σφάλματος μικρότερο από παύλα. 176 00:09:12,670 --> 00:09:15,340 Τα σχόλια είναι με τη δίεση. 177 00:09:15,340 --> 00:09:19,230 Υποθέτω ότι τώρα ημέρες καλούμε hashtag αν και αυτό δεν είναι πραγματικά δεν accurate-- 178 00:09:19,230 --> 00:09:21,810 οι διπλές παύλες. 179 00:09:21,810 --> 00:09:24,710 >> Modular υπολείμματα είναι με τα σημάδια %%. 180 00:09:24,710 --> 00:09:30,172 Ακέραιος διαίρεση είναι με% /%, το οποίο είναι πολύ δύσκολο να διαβαστεί όταν είναι προβλεπόμενη 181 00:09:30,172 --> 00:09:30,880 επάνω στην οθόνη. 182 00:09:30,880 --> 00:09:34,150 183 00:09:34,150 --> 00:09:37,200 Μπορείτε να πάρετε σειρές ακέραιοι με το παχύ έντερο. 184 00:09:37,200 --> 00:09:41,840 Έτσι, 2,5 θα σας δώσει ένα διάνυσμα του όλα τα νούμερα 2 έως 5. 185 00:09:41,840 --> 00:09:44,530 >> Οι πίνακες είναι ένα ευρετήριο, το οποίο βίδες πολλοί άνθρωποι 186 00:09:44,530 --> 00:09:47,540 up αν είστε από πάνω τυπικές γλώσσες προγραμματισμού, 187 00:09:47,540 --> 00:09:50,450 όπως η C, όπου τα περισσότερα τα πράγματα είναι μηδενικό δείκτη. 188 00:09:50,450 --> 00:09:54,420 Και πάλι, αυτό είναι όπου κληρονομιά της R ως γλώσσα σαν να μην 189 00:09:54,420 --> 00:09:56,560 επαγγελματίες προγραμματιστές έρχεται. 190 00:09:56,560 --> 00:09:59,680 Εάν είστε κοινωνιολόγος ή ένας οικονομολόγος ή κάτι 191 00:09:59,680 --> 00:10:01,980 και προσπαθείτε να χρησιμοποιήσετε Ε βασικά ως συμπλήρωμα 192 00:10:01,980 --> 00:10:03,832 σε πιο σημαντικά σας επαγγελματική εργασία, 193 00:10:03,832 --> 00:10:06,040 θα πάμε να βρούμε ένα ευρετήριο λίγο πιο φυσικό. 194 00:10:06,040 --> 00:10:09,890 Επειδή εσείς αρχίζουν να μετρούν σε 1 στην καθημερινή ζωή, δεν είναι 0. 195 00:10:09,890 --> 00:10:13,260 >> Για-βρόχους, αυτό είναι παρόμοιο με η foreach κατασκευάσει σε PHP, 196 00:10:13,260 --> 00:10:17,090 το οποίο θα πάρετε για να in-- μάθουν αρκετά σύντομα. 197 00:10:17,090 --> 00:10:22,540 Ποια είναι η αξία στο φορέα και τότε μπορείτε να κάνετε τα πράγματα με την αξία. 198 00:10:22,540 --> 00:10:24,040 Κοινό: Αυτό είναι καταλήξουμε σε διάλεξη. 199 00:10:24,040 --> 00:10:26,248 CONNOR HARRIS: Ω, αυτό είναι έρχονται διάλεξη, εξαιρετική. 200 00:10:26,248 --> 00:10:29,815 ΚΟΙΝΟ: Η εκχώρηση, είναι υποτίθεται ότι πρέπει να επισημάνω από δεξιά προς τα αριστερά; 201 00:10:29,815 --> 00:10:31,440 CONNOR HARRIS: Από δεξιά προς τα αριστερά, ναι. 202 00:10:31,440 --> 00:10:34,720 Μπορείτε να σκεφτείτε από το ως αξία το δικαίωμα έσπρωξε στη μεταβλητή 203 00:10:34,720 --> 00:10:36,240 στα αριστερά. 204 00:10:36,240 --> 00:10:36,781 Κοινό: OK. 205 00:10:36,781 --> 00:10:39,770 206 00:10:39,770 --> 00:10:42,330 >> CONNOR Harris: Και τέλος σύνταξη της συνάρτησης είναι λίγο περίεργο. 207 00:10:42,330 --> 00:10:48,460 Έχετε το όνομα της συνάρτησης foo, αποδίδεται σε αυτή τη λειτουργία λέξη-κλειδί, που ακολουθείται 208 00:10:48,460 --> 00:10:51,530 από όλα τα επιχειρήματα και, στη συνέχεια, η σώμα της συνάρτησης μετά από αυτό. 209 00:10:51,530 --> 00:10:53,280 Και πάλι αυτά τα πράγματα μπορεί να φαίνεται λίγο παράξενο. 210 00:10:53,280 --> 00:10:57,181 Θα γίνει δεύτερη φύση μετά εργάζεστε με τη γλώσσα για λίγο. 211 00:10:57,181 --> 00:10:58,930 Έτσι φορείς, ο τρόπος θα κατασκευάσει ένα διάνυσμα 212 00:10:58,930 --> 00:11:04,550 Είναι ο τύπος που C, η οποία είναι μια λέξη-κλειδί, στη συνέχεια, όλοι οι αριθμοί που θέλετε ή χορδές 213 00:11:04,550 --> 00:11:06,490 ή οτιδήποτε άλλο. 214 00:11:06,490 --> 00:11:07,995 Επιχειρήματα επίσης να είναι φορείς. 215 00:11:07,995 --> 00:11:09,620 Αλλά η προκύπτουσα σειρά παίρνει ισοπέδωσε. 216 00:11:09,620 --> 00:11:14,385 Έτσι, δεν μπορείτε να έχετε συστοιχίες όπου ορισμένα στοιχεία είναι μονούς αριθμούς 217 00:11:14,385 --> 00:11:17,010 και ορισμένα στοιχεία είναι οι ίδιοι πίνακες. 218 00:11:17,010 --> 00:11:20,010 >> Έτσι, αν προσπαθήσετε να κατασκευάσει ένα συστοιχία ήταν το πρώτο στοιχείο είναι 4 219 00:11:20,010 --> 00:11:22,370 και το δεύτερο στοιχείο είναι το 3,5 διάταξη που θα 220 00:11:22,370 --> 00:11:25,890 απλά να πάρετε μια συστοιχία τριών στοιχείων, 4,3,5. 221 00:11:25,890 --> 00:11:27,760 Δεν μπορεί να είναι μικτού τύπου. 222 00:11:27,760 --> 00:11:32,290 Αν προσπαθήσετε να διαβάσει ή να γράψει έξω από τα όρια ενός διανύσματος 223 00:11:32,290 --> 00:11:36,640 θα έχετε την τιμή αυτή ονομάζεται NA ένα που σημαίνει μια ελλείπουσα τιμή. 224 00:11:36,640 --> 00:11:39,900 Και αυτό προορίζεται για όπως στατιστικολόγοι που 225 00:11:39,900 --> 00:11:43,080 Συνεργαζόμαστε με ελλιπή σύνολα δεδομένων. 226 00:11:43,080 --> 00:11:46,460 >> Εάν εφαρμόσετε μια λειτουργία που υποτίθεται για να πάρουμε ένα μόνο αριθμό σε μια σειρά 227 00:11:46,460 --> 00:11:49,220 τότε αυτό που θα πάρετε είναι, το λειτουργία θα χαρτογραφήσει πάνω από τον πίνακα. 228 00:11:49,220 --> 00:11:52,130 Έτσι, εάν η λειτουργία σας, ας πούμε, παίρνει μια σειρά και επιστρέφει το τετράγωνο. 229 00:11:52,130 --> 00:11:58,170 Μπορείτε να εφαρμόσετε ότι στη συστοιχία 2,3,5 Τι θα πάρετε είναι η σειρά 4,9,25. 230 00:11:58,170 --> 00:12:00,010 >> Και αυτό είναι πολύ χρήσιμο γιατί σας σημαίνει 231 00:12:00,010 --> 00:12:03,374 Δεν χρειάζεται να γράψω για βρόχους για κάνει πολύ απλά πράγματα, όπως την εφαρμογή 232 00:12:03,374 --> 00:12:05,040 μια λειτουργία σε όλα τα μέλη ενός συνόλου δεδομένων. 233 00:12:05,040 --> 00:12:08,557 Ποια εάν εργάζεστε με μεγάλα σύνολα δεδομένων, θα πρέπει να κάνουμε πολλά. 234 00:12:08,557 --> 00:12:10,390 Δυαδική λειτουργίες εφαρμοσμένη είσοδο εισόδου. 235 00:12:10,390 --> 00:12:12,430 Θα πάρω σε αυτό. 236 00:12:12,430 --> 00:12:16,750 Μπορείτε να αποκτήσετε πρόσβαση σε αυτά με συστοιχίες ή φορείς με αγκύλες. 237 00:12:16,750 --> 00:12:22,300 Έτσι, το όνομα φορέα αγκύλες 1 θα σας δώσω το πρώτο στοιχείο. 238 00:12:22,300 --> 00:12:25,510 Το όνομά Vector αγκύλες 2 θα σας δώσει το δεύτερο στοιχείο. 239 00:12:25,510 --> 00:12:27,530 >> Μπορείτε να περάσετε σε ένα φορέα των δεικτών και θα 240 00:12:27,530 --> 00:12:29,640 να πάρει πίσω ουσιαστικά ένα υπο παράγοντα. 241 00:12:29,640 --> 00:12:34,990 Έτσι, μπορείτε να κάνετε φορέα παρένθεση το όνομα C, 2,4 και θα πάρετε ένα φορέα που περιέχει 242 00:12:34,990 --> 00:12:38,804 το δεύτερο και το τέταρτο στοιχεία της συστοιχίας. 243 00:12:38,804 --> 00:12:40,720 Και αν θέλετε απλά ένα σύντομη περίληψη στατιστική 244 00:12:40,720 --> 00:12:47,529 ενός φορέα όπως ενδοτεταρτημοριακού εύρος, διάμεσος, κατ 'ανώτατο όριο, ό, 245 00:12:47,529 --> 00:12:49,820 μπορείτε απλά να πληκτρολογήσετε περίληψη Το όνομά φορέα και να πάρει ότι έξω. 246 00:12:49,820 --> 00:12:52,680 Αυτό δεν είναι ιδιαίτερα χρήσιμο σε προγραμματισμό, αλλά αν παίζετε 247 00:12:52,680 --> 00:12:55,990 γύρω από τα σύνολα δεδομένων, είναι βολικό. 248 00:12:55,990 --> 00:12:58,650 >> Matrices-- βασικά υψηλότερων διαστάσεων πίνακες. 249 00:12:58,650 --> 00:13:01,190 Έχουν αυτήν την ειδική σύνταξη συμβολισμό. 250 00:13:01,190 --> 00:13:07,620 Matrix με μια σειρά που παίρνει συμπληρώθηκε in-- συγγνώμη, πίνακας με τα δεδομένα, 251 00:13:07,620 --> 00:13:09,780 αριθμός σειρών, ο αριθμός των στηλών. 252 00:13:09,780 --> 00:13:13,180 Όταν έχετε κάποια δεδομένα, που συμπληρώνει η συστοιχία ουσιαστικά πρόκειται πάνω προς τα κάτω 253 00:13:13,180 --> 00:13:13,380 πρώτα. 254 00:13:13,380 --> 00:13:14,190 Στη συνέχεια, αριστερά προς τα δεξιά. 255 00:13:14,190 --> 00:13:15,030 Έτσι, όπως αυτό. 256 00:13:15,030 --> 00:13:17,809 257 00:13:17,809 --> 00:13:19,600 Και R έχει ενσωματωμένο πολλαπλασιασμοί μήτρα, 258 00:13:19,600 --> 00:13:24,310 φασματική αποσύνθεση, διαγωνιοποίηση, πολλά πράγματα. 259 00:13:24,310 --> 00:13:27,785 Αν θέλετε υψηλότερων διαστάσεων συστοιχίες, έτσι 3, 4, 5, 260 00:13:27,785 --> 00:13:29,410 ή οτιδήποτε διαστάσεις μπορείτε να το κάνετε αυτό. 261 00:13:29,410 --> 00:13:34,400 Η σύνταξη είναι συστοιχία αμυδρό ισούται με c, τότε ο κατάλογος των διαστάσεων. 262 00:13:34,400 --> 00:13:38,620 Έτσι, εάν θέλετε ένα μονοδιάστατο πίνακα 4 με διαστάσεις 4, 7, 8, 9, η συστοιχία, 263 00:13:38,620 --> 00:13:45,470 dim ισούται με c (4,7,8,9). 264 00:13:45,470 --> 00:13:51,180 >> Μπορείτε να αποκτήσετε πρόσβαση μεμονωμένων τιμών με βραχίονες πρώτο κόμμα είσοδο δεύτερη είσοδο. 265 00:13:51,180 --> 00:13:54,870 Μπορείτε να πάρετε ολόκληρο φέτες γραμμών ή στηλών. 266 00:13:54,870 --> 00:13:59,900 Με αυτόν τον ελλιπή σύνταξη είναι ακριβώς σειρά αριθμού κόμμα ή κόμμα στήλη 267 00:13:59,900 --> 00:14:00,400 αριθμός. 268 00:14:00,400 --> 00:14:02,874 269 00:14:02,874 --> 00:14:04,540 Έτσι, οι λίστες είναι ένα είδος που συνδέεται πίνακα. 270 00:14:04,540 --> 00:14:06,360 Έχουν τη δική τους σύνταξη εδώ. 271 00:14:06,360 --> 00:14:08,320 Και πάλι δεν το κάνουν ξέφρενα αντιγράψετε όλα αυτά τα κάτω. 272 00:14:08,320 --> 00:14:11,370 Αυτό είναι ακριβώς έτσι ώστε οι άνθρωποι διέρχεται από τις διαφάνειες αργότερα 273 00:14:11,370 --> 00:14:13,089 έχουν όλα αυτά σε ένα ωραίο αναφοράς. 274 00:14:13,089 --> 00:14:16,130 Και αυτό θα γίνει πολύ φυσικό φορά Εγώ πραγματικά να περπατήσετε μέσα από το δήμο. 275 00:14:16,130 --> 00:14:19,295 276 00:14:19,295 --> 00:14:20,920 Έτσι, απαριθμεί ουσιαστικά συνδέεται συστοιχίες. 277 00:14:20,920 --> 00:14:27,040 Μπορείτε να αποκτήσετε πρόσβαση αξιών με όνομα της λίστας, το σύμβολο του δολαρίου, κλειδί. 278 00:14:27,040 --> 00:14:31,370 Έτσι, εάν η λίστα σας ονομάζεται foo, τότε μπορείτε να έχετε πρόσβαση σαν αυτό. 279 00:14:31,370 --> 00:14:37,032 Μπορείτε να πάρετε μια ολόκληρη ζεύγος κλειδιού-τιμής με το πέρασμα στην πλατεία δείκτη βραχίονα. 280 00:14:37,032 --> 00:14:39,240 Αν διαβάσετε από μια ανύπαρκτη κλειδί, θα πάρετε μηδενική. 281 00:14:39,240 --> 00:14:41,150 Δεν θα παρουσιάσουν σφάλμα. 282 00:14:41,150 --> 00:14:43,590 Το θέμα είναι ότι, το R θα κάνει ό, πολύ με null όπως μπορεί. 283 00:14:43,590 --> 00:14:46,580 Και αυτό μπορεί να σημαίνει ότι αν είστε δεν περίμενα να πάρει έξω null 284 00:14:46,580 --> 00:14:51,840 κάποια λίστα ανάγνωσης, θα πάρετε κάποια απρόβλεπτες λάθη πιο κάτω 285 00:14:51,840 --> 00:14:52,620 η γραμμή. 286 00:14:52,620 --> 00:14:54,890 >> Αυτό συνέβη σε μένα μου δουλειά για το καλοκαίρι, όταν ήμουν με R 287 00:14:54,890 --> 00:14:58,410 όπου άλλαξε το πώς μια ορισμένη κατάλογος ορίστηκε σε ένα σημείο 288 00:14:58,410 --> 00:15:05,410 αλλά δεν άλλαξε αργότερα το κώδικα που διαβάζεται τιμές από αυτό. 289 00:15:05,410 --> 00:15:10,190 Και έτσι αυτό που συνέβη ήταν ότι ήμουν ανάγνωση των μηδενικών τιμών από αυτό τον κατάλογο, 290 00:15:10,190 --> 00:15:13,090 περνώντας τους σε λειτουργίες, και είναι πολύ συγκεχυμένη 291 00:15:13,090 --> 00:15:16,000 όταν πήρα όλα τα είδη της τυχαία άπειρα αναφύονται 292 00:15:16,000 --> 00:15:16,790 σε αυτή τη λειτουργία. 293 00:15:16,790 --> 00:15:20,730 Γιατί αν ισχύουν ορισμένες μέγιστες ή ελάχιστες λειτουργίες σε null, 294 00:15:20,730 --> 00:15:22,570 θα έχετε άπειρες τιμές έξω. 295 00:15:22,570 --> 00:15:26,400 296 00:15:26,400 --> 00:15:29,180 >> Τα πλαίσια δεδομένων, είναι μια υποκατηγορία της λίστας. 297 00:15:29,180 --> 00:15:31,170 Κάθε τιμή είναι ένας φορέας του ίδιου μήκους. 298 00:15:31,170 --> 00:15:34,220 Και όπου και αν χρησιμοποιείται για την παρουσίαση, βασικά, πίνακες δεδομένων. 299 00:15:34,220 --> 00:15:36,175 Υπάρχει αυτή η σύνταξη προετοιμασίας. 300 00:15:36,175 --> 00:15:38,800 Αυτό θα είναι όλα, και πάλι, να είναι πολύ σαφέστερο όταν φτάσετε στο demo. 301 00:15:38,800 --> 00:15:42,240 302 00:15:42,240 --> 00:15:44,240 Και το ωραίο πράγμα σχετικά με πλαισίων δεδομένων είναι ότι θα 303 00:15:44,240 --> 00:15:49,380 μπορεί να δώσει ονόματα σε όλες τις στήλες και τα ονόματα σε όλες τις σειρές. 304 00:15:49,380 --> 00:15:53,890 Και έτσι ώστε να κάνει την πρόσβαση τους λίγο πιο φιλικό. 305 00:15:53,890 --> 00:15:59,130 Επίσης, αυτό είναι το πώς οι περισσότεροι λειτουργίες που διαβάζονται δεδομένα από υπολογιστικά φύλλα του Excel 306 00:15:59,130 --> 00:16:03,820 ή από αρχεία κειμένου, για παράδειγμα, θα διαβάσει στα δεδομένα τους. 307 00:16:03,820 --> 00:16:07,555 Θα το θέσω σε κάποιο είδος του πλαισίου δεδομένων. 308 00:16:07,555 --> 00:16:09,680 Έτσι functions-- τις λειτουργίες σύνταξη είναι λίγο περίεργο. 309 00:16:09,680 --> 00:16:16,160 Και πάλι αυτό είναι το όνομα της συνάρτησης, εκχωρήσετε, λέξη-κλειδί αυτή τη λειτουργία και στη συνέχεια 310 00:16:16,160 --> 00:16:17,900 ο κατάλογος των επιχειρημάτων. 311 00:16:17,900 --> 00:16:24,080 Έτσι, υπάρχουν μερικά ωραία πράγματα σχετικά με το πώς λειτουργεί εργάζονται εδώ. 312 00:16:24,080 --> 00:16:28,170 Για το ένα, μπορείτε πραγματικά να ορίσετε προκαθορισμένες τιμές για ορισμένα επιχειρήματα. 313 00:16:28,170 --> 00:16:32,910 Έτσι, μπορείτε να πείτε το R1 equals-- μπορείτε να πείτε foo 314 00:16:32,910 --> 00:16:38,290 είναι μια λειτουργία όπου το R1 ισούται με κάτι από προεπιλογή, εάν ο χρήστης καθορίζει 315 00:16:38,290 --> 00:16:39,090 δεν υπάρχουν επιχειρήματα. 316 00:16:39,090 --> 00:16:41,932 Διαφορετικά, αυτό είναι ό, τι έβαλε στο. 317 00:16:41,932 --> 00:16:44,140 Και αυτό είναι πολύ βολικό επειδή πολλές από τις λειτουργίες μας 318 00:16:44,140 --> 00:16:47,910 έχουν συχνά δεκάδες ή εκατοντάδες επιχειρήματα. 319 00:16:47,910 --> 00:16:51,210 Για παράδειγμα, αυτά που σχεδίαζε γραφήματα ή συνωμοτούν διαγράμματα διασποράς 320 00:16:51,210 --> 00:16:54,430 έχουν επιχειρήματα που ελέγχουν τα πάντα, από τον τίτλο και τον άξονα 321 00:16:54,430 --> 00:16:59,512 ετικέτες με το χρώμα των γραμμών παλινδρόμησης. 322 00:16:59,512 --> 00:17:01,470 Και έτσι, αν δεν θέλετε να κάνει τους ανθρώπους να καθορίσετε 323 00:17:01,470 --> 00:17:04,050 κάθε μία από αυτές εκατοντάδες επιχειρήματα 324 00:17:04,050 --> 00:17:07,674 ελέγχει κάθε πτυχή της ένα οικόπεδο ή μια παλινδρόμηση ή οτιδήποτε άλλο, 325 00:17:07,674 --> 00:17:09,299 είναι ωραίο να έχουμε αυτές τις προκαθορισμένες τιμές. 326 00:17:09,299 --> 00:17:12,700 327 00:17:12,700 --> 00:17:19,146 >> Και στη συνέχεια, μπορείτε πραγματικά να γράψεις όπως είδαμε και πάλι εδώ. 328 00:17:19,146 --> 00:17:22,869 Ή να βρείτε ένα καλύτερο παράδειγμα. 329 00:17:22,869 --> 00:17:28,690 Όταν καλείτε λειτουργίες μπορείτε πραγματικά καλέστε τους χρησιμοποιώντας τα ονόματα επιχείρημα. 330 00:17:28,690 --> 00:17:33,919 Έτσι, εδώ είναι ένα παράδειγμα της ο κατασκευαστής μήτρα. 331 00:17:33,919 --> 00:17:34,960 Χρειάζονται τρία επιχειρήματα. 332 00:17:34,960 --> 00:17:36,760 Συνήθως έχετε δεδομένα, το οποίο είναι ένας φορέας. 333 00:17:36,760 --> 00:17:38,920 Έχετε Ν σειρά, η οποία είναι ο αριθμός των σειρών. 334 00:17:38,920 --> 00:17:41,160 Έχετε Ν cols-- αριθμό των στηλών. 335 00:17:41,160 --> 00:17:43,920 Το θέμα είναι αν πληκτρολογήσετε Ν σειρά ισούται ανεξαρτήτως 336 00:17:43,920 --> 00:17:46,520 και Ν col ισούται με ό, τι όταν καλείς αυτή τη λειτουργία, 337 00:17:46,520 --> 00:17:47,770 μπορείτε να αντιστρέψετε τα πραγματικά. 338 00:17:47,770 --> 00:17:51,590 Έτσι, μπορείτε να βάλετε Ν διάσελο πρώτο και Ν σειρά δεύτερη και θα κάνει καμία διαφορά. 339 00:17:51,590 --> 00:17:54,660 Οπότε αυτό είναι ένα ωραίο χαρακτηριστικό. 340 00:17:54,660 --> 00:17:56,260 >> Μήπως εισαγωγής και εξαγωγής. 341 00:17:56,260 --> 00:18:00,010 Αυτό μπορεί να γίνει, βασικά. 342 00:18:00,010 --> 00:18:03,816 Υπάρχουν επίσης εγκαταστάσεις για να γράψουν αυθαίρετη R αντικείμενα σε ένα δυαδικό αρχείο 343 00:18:03,816 --> 00:18:05,190 και στη συνέχεια να τα διαβάσετε ξανά αργότερα. 344 00:18:05,190 --> 00:18:08,030 Ποια είναι βολικό αν κάνετε μια μεγάλη διαδραστική συνεδρία R 345 00:18:08,030 --> 00:18:12,850 και θα πρέπει να αποθηκεύσετε τα πράγματα πολύ γρήγορα. 346 00:18:12,850 --> 00:18:16,460 Εξ ορισμού το R έχει ένα κατάλογο εργασίας ότι τα αρχεία να αναγράφεται σε 347 00:18:16,460 --> 00:18:19,410 και να διαβάσει πίσω από. 348 00:18:19,410 --> 00:18:22,350 Μπορείτε να δείτε ότι με getwg, το αλλάξετε με setdw. 349 00:18:22,350 --> 00:18:25,630 Τίποτα ιδιαίτερο ενδιαφέρον εδώ 350 00:18:25,630 --> 00:18:28,270 >> Έτσι τώρα οι πραγματικές στατιστικές stuff-- πολυγραμμική παλινδρόμησης. 351 00:18:28,270 --> 00:18:30,960 352 00:18:30,960 --> 00:18:34,910 Έτσι, η συνήθης σύνταξη Είναι λίγο περίπλοκο. 353 00:18:34,910 --> 00:18:37,260 Το μοντέλο είναι ένα μεγάλο αντικείμενο βασικά. 354 00:18:37,260 --> 00:18:39,910 Παίρνει ανατεθεί LM, η οποία είναι μια κλήση συνάρτησης. 355 00:18:39,910 --> 00:18:43,840 Το πρώτο στοιχείο, το y περισπωμένη x1 συν οτιδήποτε άλλο. 356 00:18:43,840 --> 00:18:46,574 357 00:18:46,574 --> 00:18:47,990 Σύνταξη μου εδώ είναι λίγο συγκεχυμένη. 358 00:18:47,990 --> 00:18:49,490 Είμαι πολύ συγγνώμη, αυτό είναι ο συνήθης τρόπος 359 00:18:49,490 --> 00:18:50,990 ότι τα βιβλία της επιστήμης των υπολογιστών να το κάνετε αυτό. 360 00:18:50,990 --> 00:18:54,890 Αλλά είναι λίγο περίεργο. 361 00:18:54,890 --> 00:18:58,200 >> Έτσι, βασικά, είναι lm παρενθέσεις, το πρώτο στοιχείο 362 00:18:58,200 --> 00:19:06,730 είναι variable-- συγγνώμη, εξαρτάται από μεταβλητή περισπωμένη x1 x2 συν συν 363 00:19:06,730 --> 00:19:10,910 Ωστόσο, πολλές ανεξάρτητες μεταβλητές που έχετε. 364 00:19:10,910 --> 00:19:14,240 Και τότε αυτά μπορεί να είναι είτε φορείς, όλοι το ίδιο μήκος. 365 00:19:14,240 --> 00:19:16,220 Ή μπορεί να είναι στήλη κεφαλίδες σε ένα πλαίσιο δεδομένων 366 00:19:16,220 --> 00:19:18,553 ότι απλά προσδιορίζει το δεύτερο πλαίσιο δεδομένων επιχείρημα. 367 00:19:18,553 --> 00:19:23,270 368 00:19:23,270 --> 00:19:26,380 >> Μπορείτε επίσης να καθορίσετε ένα πιο σύνθετο τύπο 369 00:19:26,380 --> 00:19:31,990 έτσι ώστε να μην χρειάζεται να γραμμικά οπισθοδρόμηση σε μία εξαρτημένη μεταβλητή, 370 00:19:31,990 --> 00:19:34,440 ή έναν φορέα σε μια προϋπάρχουσα φορέα. 371 00:19:34,440 --> 00:19:38,070 Μπορείτε να κάνετε, για παράδειγμα, ένα συνιστώσα διανύσματος y τετράγωνο συν 1 372 00:19:38,070 --> 00:19:42,100 και οπισθοδρόμηση ότι κατά το συνδεθείτε κάποιου άλλου φορέα. 373 00:19:42,100 --> 00:19:45,200 Μπορείτε να εκτυπώσετε τις περιλήψεις των μοντέλο με την εντολή αυτή ονομάζεται 374 00:19:45,200 --> 00:19:48,607 summary-- μόλις περίληψη parens μοντέλο. 375 00:19:48,607 --> 00:19:50,190 Πάλι κάτι άλλο που πρέπει να διευκρινιστούν. 376 00:19:50,190 --> 00:19:55,407 377 00:19:55,407 --> 00:19:58,615 Κάτι άλλο που θα πάρει διορθωθεί όταν οι διαφάνειες ανεβαίνουν στο διαδίκτυο. 378 00:19:58,615 --> 00:20:01,127 379 00:20:01,127 --> 00:20:03,210 Αν απλά θέλετε να υπολογίσετε μια απλή συσχέτιση 380 00:20:03,210 --> 00:20:09,170 μπορείτε να χρησιμοποιήσετε το φορέα συσχέτιση 1 2 φορέα λειτουργίας πυρήνα. 381 00:20:09,170 --> 00:20:11,856 Η μέθοδος είναι από προεπιλογή Pearson συσχετίσεις. 382 00:20:11,856 --> 00:20:13,480 Αυτοί είναι οι τυπικοί αυτά που μπορείτε να κάνετε. 383 00:20:13,480 --> 00:20:15,990 Υπάρχουν επίσης και Spearman Kendell συσχετίσεις 384 00:20:15,990 --> 00:20:19,530 οι οποίες είναι μερικές ποικιλία Κατάταξη συσχέτιση παραγγελία. 385 00:20:19,530 --> 00:20:23,600 Καλά δεν υπολογίζουν το προϊόν στιγμές μεταξύ των ίδιων των φορέων, 386 00:20:23,600 --> 00:20:28,511 αλλά των παραγγελιών κατάταξη του φορέα. 387 00:20:28,511 --> 00:20:29,510 Θα σου εξηγήσω αργότερα. 388 00:20:29,510 --> 00:20:30,120 >> Κοινό: Γρήγορη ερώτηση 389 00:20:30,120 --> 00:20:30,360 >> CONNER HARRIS: Σίγουρα. 390 00:20:30,360 --> 00:20:33,151 >> Κοινό: Έτσι, όταν είστε υπολογισμό για τα απλά κάνουν συσχετίσεις 391 00:20:33,151 --> 00:20:37,655 υποθέσουμε ότι υπάρχει μια στατιστική σημασία στη σχέση; 392 00:20:37,655 --> 00:20:39,030 CONNER Harris: Δεν χρειάζεται να. 393 00:20:39,030 --> 00:20:41,840 394 00:20:41,840 --> 00:20:43,960 Μια lm είναι ουσιαστικά μόνο μια μηχανή. 395 00:20:43,960 --> 00:20:47,690 Θα πάρει σε δύο πράγματα και θα φτύσει 396 00:20:47,690 --> 00:20:49,770 συντελεστές για την καλύτερη εφαρμογή της γραμμής. 397 00:20:49,770 --> 00:20:52,310 Αναφέρει, επίσης, πρότυπο σφάλματα τους νέους συντελεστές. 398 00:20:52,310 --> 00:20:55,865 Και θα σας πω, όπως είναι η τομής στατιστικά σημαντική 399 00:20:55,865 --> 00:20:56,740 ή διαφορά από 0. 400 00:20:56,740 --> 00:20:59,400 Είναι η κλίση της καλύτερης προσαρμοσμένης γραμμής στατιστικά 401 00:20:59,400 --> 00:21:01,510 διαφορετικό από το μηδέν, και τα λοιπά. 402 00:21:01,510 --> 00:21:06,260 Γι 'αυτό υποθέτει τίποτα, νομίζω είναι η καλύτερη απάντηση στην ερώτησή σας. 403 00:21:06,260 --> 00:21:07,410 ΕΝΤΆΞΕΙ. 404 00:21:07,410 --> 00:21:14,650 >> Plotting-- έτσι ο κύριος λόγος που θα πρέπει Χρησιμοποιήστε R, όπως πολυγραμμική παλινδρόμησης. 405 00:21:14,650 --> 00:21:17,320 Βασικά κάθε γλώσσα έχει κάποια δυνατότητα για αυτό. 406 00:21:17,320 --> 00:21:21,365 Και ειλικρινά σύνταξη R για παλινδρόμησης είναι απόκρυφες λίγο. 407 00:21:21,365 --> 00:21:22,990 Αλλά η σχεδίαση είναι όπου λάμπει πραγματικά. 408 00:21:22,990 --> 00:21:28,090 >> Η λειτουργία είναι κινητήριος δύναμη οικόπεδο και παίρνει δύο διανύσματα, x και y. 409 00:21:28,090 --> 00:21:33,010 Και τότε οι ελλείψεις συμβολίζει ένα πολύ μεγάλος αριθμός προαιρετικά ορίσματα ότι 410 00:21:33,010 --> 00:21:39,190 ελέγχει τα πάντα από τίτλους με χρώματα των διαφόρων γραμμών ή διάφορα σημεία, 411 00:21:39,190 --> 00:21:40,200 με τον τύπο του οικοπέδου. 412 00:21:40,200 --> 00:21:42,250 Μπορείτε να έχετε διασποράς οικόπεδα ή αγροτεμάχια γραμμή. 413 00:21:42,250 --> 00:21:47,900 414 00:21:47,900 --> 00:21:49,710 >> [Δεν ακούγεται] 2 διανύσματα του ίδιου μήκους. 415 00:21:49,710 --> 00:21:53,780 Μπορείτε να προηγηθεί αυτό με σύνδεση πλαίσιο δεδομένων στο σενάριό σας. 416 00:21:53,780 --> 00:22:01,220 Και αυτό θα σας αφήσει να χρησιμοποιήσετε μόνο στήλη κεφαλίδες αντί των χωριστών φορέων. 417 00:22:01,220 --> 00:22:05,410 Μπορείτε να προσθέσετε γραμμές αρίστης προσαρμογής και των τοπικών καμπύλες παλινδρόμησης σε γράφημα σας. 418 00:22:05,410 --> 00:22:09,390 >> Αυτές οι εντολές που εμφανίζονται Εδώ, αβ γραμμή και γραμμές, 419 00:22:09,390 --> 00:22:11,640 Εξ 'ορισμού πάρει γραπτή σε pop up windows 420 00:22:11,640 --> 00:22:15,560 επειδή υποθέτει ότι είστε με τη χρήση R διαδραστικά. 421 00:22:15,560 --> 00:22:17,310 Εάν δεν είστε μπορείτε γράψει δύο αρχεία που 422 00:22:17,310 --> 00:22:21,600 είναι πραγματικά οποιαδήποτε μορφή θέλετε. 423 00:22:21,600 --> 00:22:25,410 Συγγνώμη, έχω ένα τυπογραφικό λάθος που μόλις συνειδητοποίησα. 424 00:22:25,410 --> 00:22:30,887 425 00:22:30,887 --> 00:22:32,720 Αν θέλετε να ανοίξετε μια άλλη γραφική διάταξη 426 00:22:32,720 --> 00:22:39,200 μπορείτε να χρησιμοποιήσετε τη λειτουργία αυτή ονομάζεται PNG ή JPEG ή πολλές άλλες μορφές εικόνας. 427 00:22:39,200 --> 00:22:42,319 Και μπορείτε να γράψετε σε γραφήματα Όποια και αν είναι το όνομα του αρχείου που έχετε ορίσει. 428 00:22:42,319 --> 00:22:45,110 Για να ακυρώσετε ότι θα πρέπει να use-- Δεν έγραψα αυτό το slide-- 429 00:22:45,110 --> 00:22:49,650 αλλά υπάρχει μια λειτουργία που ονομάζεται dev dot ανοικτά ότι δεν δέχεται ορίσματα. 430 00:22:49,650 --> 00:22:51,517 >> Έπειτα, υπάρχουν εγκαταστάσεις 3D σχεδίαση για 431 00:22:51,517 --> 00:22:53,350 και για τη χάραξη περιγράμματος αν θέλετε να κάνετε 432 00:22:53,350 --> 00:22:55,700 γραφικές παραστάσεις των δύο ανεξάρτητων μεταβλητών. 433 00:22:55,700 --> 00:22:57,150 Δεν θα μπει σε αυτά τώρα. 434 00:22:57,150 --> 00:22:59,130 >> Υπάρχουν επίσης μερικοί εγκαταστάσεις για τα κινούμενα σχέδια 435 00:22:59,130 --> 00:23:01,300 αυτά είναι συνήθως διατηρούνται από τρίτους. 436 00:23:01,300 --> 00:23:06,330 Έχω κάνει κινούμενα σχέδια με R γραφήματα, αλλά δεν έχω χρησιμοποιήσει τους εν λόγω τρίτους 437 00:23:06,330 --> 00:23:06,940 βιβλιοθήκες. 438 00:23:06,940 --> 00:23:09,929 Γι 'αυτό και δεν μπορεί να βεβαιώσει πραγματικά για πόσο καλοί είναι. 439 00:23:09,929 --> 00:23:12,220 Τι ήθελα να συστήσω, αν θέλετε για να κάνει τα κινούμενα γραφικά με R 440 00:23:12,220 --> 00:23:16,480 είναι ότι μπορείτε να γράψετε όλα τα πλαίσια για τα κινούμενα σχέδια 441 00:23:16,480 --> 00:23:18,470 και, στη συνέχεια, μπορείτε να χρησιμοποιήσετε ένα program-- τρίτους 442 00:23:18,470 --> 00:23:23,630 Οι χαρακτηριστικοί αυτοί ονομάζονται FFmpeg ή ImageMagick-- να βελονιά 443 00:23:23,630 --> 00:23:26,540 όλα τα κουφώματα σας σε ένα animation. 444 00:23:26,540 --> 00:23:28,380 >> Έτσι ώστε ο χρόνος για demo. 445 00:23:28,380 --> 00:23:31,030 446 00:23:31,030 --> 00:23:37,189 Έτσι, αν χρησιμοποιείτε οποιοδήποτε Unix όπως το σύστημα το οποίο είναι το Linux BSD, αλλά που χρησιμοποιεί BSD. 447 00:23:37,189 --> 00:23:39,730 OS X ανοίξτε ένα παράθυρο τερματικού και Τύπος R στη γραμμή εντολών. 448 00:23:39,730 --> 00:23:42,820 Εάν έχετε Ε στούντιο ή τα παρόμοια, που λειτουργεί επίσης. 449 00:23:42,820 --> 00:23:46,270 Για χρήστες των Windows θα πρέπει να είναι είναι σε θέση να βρει το R στο μενού Έναρξη σας. 450 00:23:46,270 --> 00:23:50,390 Θα πρέπει να ονομάζεται κάτι όπως R x64 3 σημείο οτιδήποτε. 451 00:23:50,390 --> 00:23:53,110 Ανοίξτε αυτό εκεί πάνω. 452 00:23:53,110 --> 00:23:58,850 >> Επιτρέψτε μου λοιπόν τώρα μόλις ανοίξτε ένα παράθυρο τερματικού. 453 00:23:58,850 --> 00:24:02,562 Εντάξει, αναζήτηση. 454 00:24:02,562 --> 00:24:03,520 Κοινό: Command-Space 455 00:24:03,520 --> 00:24:06,675 CONNER HARRIS: Command-Space, σας ευχαριστώ. 456 00:24:06,675 --> 00:24:10,030 Δεν συνηθίζει να χρησιμοποιεί υπολογιστές Mac. 457 00:24:10,030 --> 00:24:13,310 Terminal, δείχνουν νέο παράθυρο. 458 00:24:13,310 --> 00:24:18,120 New window είναι ρυθμίσεων βασικά, R. Έτσι, θα πρέπει να πάρετε 459 00:24:18,120 --> 00:24:22,230 ένα μήνυμα καλωσορίσματος, κάτι σαν αυτό. 460 00:24:22,230 --> 00:24:31,060 >> Έτσι είμαι χρησιμοποιώντας το R διαδραστικά. 461 00:24:31,060 --> 00:24:32,719 Μπορείτε επίσης να γράψετε R σενάρια φυσικά. 462 00:24:32,719 --> 00:24:34,510 Βασικά σενάρια τρέχουν ακριβώς με τον ίδιο τρόπο όπως 463 00:24:34,510 --> 00:24:40,250 αν ήταν στη συνεδρίαση του υπολογιστή πληκτρολογώντας σε κάθε γραμμή, ένα κάθε φορά. 464 00:24:40,250 --> 00:24:42,660 Ας αρχίσω με ένα διάνυσμα. 465 00:24:42,660 --> 00:24:46,230 Ένα βέλος C 1, 2. 466 00:24:46,230 --> 00:24:49,400 1, 2, 4. 467 00:24:49,400 --> 00:24:50,050 ΕΝΤΑΞΕΙ σίγουρα. 468 00:24:50,050 --> 00:24:51,630 Μπορώ να κάνω το μεγαλύτερο μέγεθος της γραμματοσειράς. 469 00:24:51,630 --> 00:24:53,030 >> Κοινό: Command-Plus 470 00:24:53,030 --> 00:24:53,650 >> CONNER HARRIS: Command-Plus. 471 00:24:53,650 --> 00:24:54,191 Command-Plus. 472 00:24:54,191 --> 00:24:57,610 473 00:24:57,610 --> 00:25:00,370 Εντάξει, πώς είναι αυτό; 474 00:25:00,370 --> 00:25:00,870 Καλός? 475 00:25:00,870 --> 00:25:01,551 ΕΝΤΆΞΕΙ. 476 00:25:01,551 --> 00:25:03,300 Ας ξεκινήσουμε που κηρύσσει μια λίστα φορέα. 477 00:25:03,300 --> 00:25:08,710 Κάνετε μια, βέλος, C 1.2.4. 478 00:25:08,710 --> 00:25:11,181 Μπορούμε να δούμε ένα. 479 00:25:11,181 --> 00:25:12,680 Μην ανησυχείτε για το στήριγμα εκεί. 480 00:25:12,680 --> 00:25:18,590 Οι παρενθέσεις είναι έτσι αν εκτυπώσετε πολύ μεγάλο πίνακες, μπορούμε όπου και αν βρίσκεστε. 481 00:25:18,590 --> 00:25:26,987 Ένα παράδειγμα θα ήταν αν απλά θέλουν εύρος 2-200. 482 00:25:26,987 --> 00:25:28,820 Αν έχω τυπώσει ένα πολύ μακρά σειρά, οι βραχίονες 483 00:25:28,820 --> 00:25:31,060 Τα απλά έτσι μπορώ να συνεχίσω τη διαδρομή της οποίας δείκτη 484 00:25:31,060 --> 00:25:33,250 είμαστε στο αν ψάχνω μέσα από αυτό οπτικά. 485 00:25:33,250 --> 00:25:36,570 486 00:25:36,570 --> 00:25:38,280 Έτσι ούτως ή άλλως, έχουμε ένα. 487 00:25:38,280 --> 00:25:43,326 >> Έτσι είπα πριν ότι αλληλεπιδρούν συστοιχίες πολύ ωραία με, για παράδειγμα, 488 00:25:43,326 --> 00:25:44,450 μοναδιαίος πράξεις όπως αυτό. 489 00:25:44,450 --> 00:25:46,500 Έτσι, αυτό που νομίζω ότι θα πάρετε αν πληκτρολογήσετε ένα συν 1; 490 00:25:46,500 --> 00:25:49,630 491 00:25:49,630 --> 00:25:51,140 Ναι. 492 00:25:51,140 --> 00:25:54,250 Δεξιά, τώρα θα κάνω Αυτή η διαφορετική σειρά. 493 00:25:54,250 --> 00:26:01,650 Ας πούμε ότι β γ 20,40, 80. 494 00:26:01,650 --> 00:26:03,400 Λοιπόν, τι νομίζεις Αυτή η εντολή θα κάνει; 495 00:26:03,400 --> 00:26:09,962 496 00:26:09,962 --> 00:26:10,670 Προσθέστε τα στοιχεία. 497 00:26:10,670 --> 00:26:14,950 Και έτσι ουσιαστικά ότι είναι αυτό που κάνει. 498 00:26:14,950 --> 00:26:16,740 Έτσι, αυτό είναι πολύ βολικό. 499 00:26:16,740 --> 00:26:23,800 Γι 'αυτό και πώς για να κάνω αυτό. ντο Είναι, ας πούμε, 6 φορές 1-10. 500 00:26:23,800 --> 00:26:26,789 501 00:26:26,789 --> 00:26:28,830 Έτσι, αυτό που θέλω να δω περιέχεται, δεν νομίζετε; 502 00:26:28,830 --> 00:26:37,110 503 00:26:37,110 --> 00:26:38,110 Έτσι, όλοι πολλαπλάσια των έξι. 504 00:26:38,110 --> 00:26:42,170 Τώρα, τι νομίζεις θα συμβεί αν το κάνω αυτό; 505 00:26:42,170 --> 00:26:48,090 Θα κάνω αυτό λίγο πιο σαφείς, γ, γ. 506 00:26:48,090 --> 00:26:50,365 Τι συμβαίνει λοιπόν, να κάνετε νομίζω, αν το κάνω αυτό; 507 00:26:50,365 --> 00:26:51,488 ένα συν γ. 508 00:26:51,488 --> 00:26:55,550 509 00:26:55,550 --> 00:26:56,050 [ΜΗ ΑΚΟΥΣΤΌΣ] 510 00:26:56,050 --> 00:26:58,552 511 00:26:58,552 --> 00:27:02,350 >> Κοινό: Είτε ένα λάθος ή προσθέτει μόνο τα τρία πρώτα στοιχεία. 512 00:27:02,350 --> 00:27:04,510 >> CONNER HARRIS: Όχι ακριβώς. 513 00:27:04,510 --> 00:27:05,522 Αυτό είναι αυτό που πήραμε. 514 00:27:05,522 --> 00:27:08,910 Αυτό που συμβαίνει είναι μια συντομότερη συστοιχία, ένα, πήρε εναλλάσσονται. 515 00:27:08,910 --> 00:27:13,990 Έτσι πήραμε 124, 124, 124. 516 00:27:13,990 --> 00:27:15,710 Ναι. 517 00:27:15,710 --> 00:27:18,940 Και βασικά, μπορείτε να προβάλετε Αυτή η συμπεριφορά πριν, ένα συν 1, 518 00:27:18,940 --> 00:27:22,190 ως μία υποκατηγορία αυτής της συμπεριφοράς, όπου η συντομότερη πίνακας είναι απλά ο αριθμός 519 00:27:22,190 --> 00:27:25,410 1, η οποία είναι μια διάταξη ένα στοιχείο. 520 00:27:25,410 --> 00:27:27,740 Θέλω μόνο να πω φορέα όλων ο χρόνος αντί του πίνακα, 521 00:27:27,740 --> 00:27:30,290 γιατί αυτό είναι που το r τεκμηρίωσης που συνήθως κάνει. 522 00:27:30,290 --> 00:27:33,070 Είναι μια βαθιά ριζωμένη συνήθεια γ. 523 00:27:33,070 --> 00:27:37,590 >> Εντάξει, και έτσι τώρα έχουμε αυτό το array. 524 00:27:37,590 --> 00:27:38,830 Έτσι, έχουμε αυτό το array, γ. 525 00:27:38,830 --> 00:27:41,380 Μπορούμε να πάρουμε περίληψη στατιστικά στοιχεία σχετικά με γ, γ περίληψη. 526 00:27:41,380 --> 00:27:46,920 527 00:27:46,920 --> 00:27:48,280 Και αυτό είναι το ωραίο. 528 00:27:48,280 --> 00:27:51,070 529 00:27:51,070 --> 00:27:52,670 Έτσι τώρα ας κάνουμε κάποια πράγματα μήτρα. 530 00:27:52,670 --> 00:27:56,160 Ας πούμε ότι το m είναι ένας πίνακας. 531 00:27:56,160 --> 00:27:57,780 Ας το κάνει ένα από τα τρία τρία ένα. 532 00:27:57,780 --> 00:28:01,630 Έτσι nrows ισούται με 3, και ncols ισούται με 3. 533 00:28:01,630 --> 00:28:04,190 534 00:28:04,190 --> 00:28:10,710 Και για τα δεδομένα ας do-- έτσι τι νομίζετε ότι αυτό πρόκειται να κάνει; 535 00:28:10,710 --> 00:28:15,310 536 00:28:15,310 --> 00:28:16,580 >> Σωστά, είναι το επόμενο. 537 00:28:16,580 --> 00:28:17,970 Είναι nrow και ncolumn. 538 00:28:17,970 --> 00:28:22,164 539 00:28:22,164 --> 00:28:24,580 Έτσι, αυτό που έχω κάνει είναι που έχω κήρυξε τρία επί τρία μήτρας 540 00:28:24,580 --> 00:28:26,950 και έχω περάσει σε μια σειρά εννέα στοιχείο. 541 00:28:26,950 --> 00:28:30,530 Έτσι, το λογάριθμο όλων των στοιχεία, ένα έως εννέα. 542 00:28:30,530 --> 00:28:33,400 543 00:28:33,400 --> 00:28:37,285 Και όλες αυτές οι αξίες να συμπληρώσετε μέχρι το array-- συγνώμη; 544 00:28:37,285 --> 00:28:38,660 Κοινό: Αυτά είναι τα αρχεία καταγραφής με βάση το 10; 545 00:28:38,660 --> 00:28:41,284 CONNER HARRIS: Όχι, το αρχείο καταγραφής είναι φυσικοί λογάριθμοι, έτσι ε βάση. 546 00:28:41,284 --> 00:28:44,886 547 00:28:44,886 --> 00:28:47,010 Ναι, αν θέλετε βάσης 10 καταγραφής, νομίζω ότι θα έπρεπε 548 00:28:47,010 --> 00:28:51,620 για να συνδεθείτε ό, διαιρούμενο με το log 10. 549 00:28:51,620 --> 00:28:56,750 Και έτσι τα δεδομένα του [δεν ακούγεται] μόνο γεμίζει τον πίνακα, έτσι ώστε πάνω προς τα κάτω, 550 00:28:56,750 --> 00:28:59,490 έπειτα αριστερά προς τα δεξιά. 551 00:28:59,490 --> 00:29:06,890 Και αν θέλετε να κάνετε κάποια άλλη σειρά, ας πούμε n είναι μήτρα. 552 00:29:06,890 --> 00:29:10,317 Ας κάνουμε, δεν ξέρω, 2-13. 553 00:29:10,317 --> 00:29:11,900 Ή θα κάνω κάτι πιο ενδιαφέρον. 554 00:29:11,900 --> 00:29:13,770 Θα κάνω 2 έως 4. 555 00:29:13,770 --> 00:29:15,780 nrow ισούται με, ας πούμε, 3. 556 00:29:15,780 --> 00:29:18,992 Νοοΐ ισούται με 4. 557 00:29:18,992 --> 00:29:20,360 Ν. 558 00:29:20,360 --> 00:29:22,090 Έτσι έχουμε αυτό. 559 00:29:22,090 --> 00:29:26,130 >> Και τώρα, αν θέλουμε να πολλαπλασιάσουμε αυτά, θα κάνουμε ν τοις εκατό φορές, 560 00:29:26,130 --> 00:29:27,680 γιατί αυτό είναι το n. 561 00:29:27,680 --> 00:29:30,234 562 00:29:30,234 --> 00:29:31,400 Και έχουμε τα προϊόντα της μήτρας. 563 00:29:31,400 --> 00:29:33,970 564 00:29:33,970 --> 00:29:37,810 Με τον τρόπο που, είδες πώς όταν δήλωσα n, το 2 - 4 565 00:29:37,810 --> 00:29:43,570 διάνυσμα πήρε εναλλάσσονται μέχρι γέμισε το σύνολο των n; 566 00:29:43,570 --> 00:29:45,710 Αν ήθελε να πάρει ιδιοτιμή αποσύνθεση, 567 00:29:45,710 --> 00:29:46,960 αυτό είναι κάτι που μπορούμε να κάνουμε πολύ εύκολα. 568 00:29:46,960 --> 00:29:47,709 Μπορούμε να κάνουμε Έιγκεν n. 569 00:29:47,709 --> 00:29:52,290 570 00:29:52,290 --> 00:29:54,600 Και έτσι αυτή είναι η πρώτη μας αντιμετωπίζουν με μια λίστα. 571 00:29:54,600 --> 00:29:57,000 >> Έτσι eigen n είναι μια λίστα με δύο κλειδιά. 572 00:29:57,000 --> 00:29:58,430 Αξίες, που είναι αυτή η συστοιχία εδώ. 573 00:29:58,430 --> 00:30:01,030 Και οι φορείς, που είναι αυτή η συστοιχία εδώ. 574 00:30:01,030 --> 00:30:08,240 Έτσι, αν θέλετε να εξαγάγετε, ας πούμε, αυτή η τρίτη στήλη 575 00:30:08,240 --> 00:30:13,080 από τη μήτρα ιδιοδιανύσματα, επειδή τα ιδιοδιανύσματα είναι στήλη φορείς. 576 00:30:13,080 --> 00:30:24,400 Έτσι μπορούμε να κάνουμε vec eigen σύμβολο n δολαρίου φορείς, κόμμα 3, του [δεν ακούγεται]. 577 00:30:24,400 --> 00:30:29,800 578 00:30:29,800 --> 00:30:30,900 VEC. 579 00:30:30,900 --> 00:30:34,100 Είναι αυτό, όπως μπορείτε να φανταστείτε. 580 00:30:34,100 --> 00:30:39,210 >> Τότε λένε n φορές τοις εκατό φορές VEC. 581 00:30:39,210 --> 00:30:42,610 582 00:30:42,610 --> 00:30:48,320 Έτσι, το αποτέλεσμα εδώ σίγουρα μοιάζει αν παίρναμε την τρίτη ιδιοτιμή εδώ, 583 00:30:48,320 --> 00:30:50,390 το οποίο αντιστοιχεί με η τρίτη ιδιοδιάνυσμα. 584 00:30:50,390 --> 00:30:53,190 Απλά πολλαπλασιάζονται τα πάντα στο Αυτό το ιδιοδιάνυσμα, το συστατικό-σοφός, 585 00:30:53,190 --> 00:30:53,990 από την ιδιοτιμή. 586 00:30:53,990 --> 00:30:57,760 Και αυτό είναι ό, τι θα περίμενε κανείς, γιατί αυτό είναι ό, τι είναι ιδιοτιμές. 587 00:30:57,760 --> 00:31:00,890 Έχει κανείς εδώ δεν λαμβάνονται γραμμική άλγεβρα; 588 00:31:00,890 --> 00:31:02,530 Ένα ζευγάρι άνθρωποι, ΟΚ. 589 00:31:02,530 --> 00:31:04,030 Απλά γυρίστε το μυαλό σας μακριά για λίγο. 590 00:31:04,030 --> 00:31:07,490 591 00:31:07,490 --> 00:31:20,720 Και πράγματι, αν λάβουμε eigen n τιμές σύμβολο του δολαρίου 3 φορές VEC, 592 00:31:20,720 --> 00:31:21,810 και να πάρει το ίδιο πράγμα. 593 00:31:21,810 --> 00:31:24,726 Είναι διαφορετική μορφοποίηση ως μια σειρά διάνυσμα αντί ενός φορέα στήλης, 594 00:31:24,726 --> 00:31:25,640 αλλά είναι μεγάλη υπόθεση. 595 00:31:25,640 --> 00:31:29,430 596 00:31:29,430 --> 00:31:35,170 Και έτσι αυτά είναι βασικά το ωραίο πράγματα που μπορούμε να κάνουμε με πίνακες, 597 00:31:35,170 --> 00:31:36,489 αποδεικνύεται λίστες. 598 00:31:36,489 --> 00:31:39,030 Θα πρέπει να αποδείξουν την ωραία πράγματα σχετικά με τις λειτουργίες, καθώς και. 599 00:31:39,030 --> 00:31:41,750 >> Ας say-- [δεν ακούγεται] λειτουργίας, κλήση ας 600 00:31:41,750 --> 00:31:51,960 το λει ενάντια στη λειτουργία n n squared-- στην πραγματικότητα, αυτό δεν είναι πραγματικά το καλύτερο. 601 00:31:51,960 --> 00:31:55,632 a, b, ένα τετράγωνο συν b. 602 00:31:55,632 --> 00:31:58,547 603 00:31:58,547 --> 00:32:00,380 Έτσι, ένα πράγμα για λειτουργιών, και πάλι, είναι αυτοί 604 00:32:00,380 --> 00:32:01,963 Δεν χρειάζεται ρητές δηλώσεις επιστροφής. 605 00:32:01,963 --> 00:32:04,250 Έτσι, μπορείτε να το just-- τελευταία δήλωση αξιολογηθεί 606 00:32:04,250 --> 00:32:07,502 θα είναι η δήλωση επέστρεψε, ή η τιμή που επιστρέφεται. 607 00:32:07,502 --> 00:32:10,460 Έτσι, σε αυτή την περίπτωση, είμαστε μόνο αξιολόγηση μια δήλωση, ένα τετράγωνο συν β. 608 00:32:10,460 --> 00:32:12,043 Αυτή θα είναι η προεπιλεγμένη τιμή επιστροφής. 609 00:32:12,043 --> 00:32:14,530 Δεν βλάπτει ποτέ για να θέσει σε επιστρέφουν τιμές ρητά, 610 00:32:14,530 --> 00:32:16,880 ειδικά αν έχουμε να κάνουμε με ένα λειτουργία του πολύ περίπλοκη λογική 611 00:32:16,880 --> 00:32:17,380 ροή. 612 00:32:17,380 --> 00:32:18,450 Αλλά εσείς δεν τα χρειάζεστε. 613 00:32:18,450 --> 00:32:24,890 Έτσι τώρα μπορούμε να κάνουμε λειτουρ 5, 1, και Αυτό είναι βασικά αυτό που θα περίμενε κανείς. 614 00:32:24,890 --> 00:32:29,146 615 00:32:29,146 --> 00:32:31,270 Κάτι άλλο που μπορούμε να κάνουμε, μπορούμε να κάνουμε πραγματικότητα λει β 616 00:32:31,270 --> 00:32:33,260 ισούται με 1, ένα ισούται 5. 617 00:32:33,260 --> 00:32:36,870 618 00:32:36,870 --> 00:32:40,770 Έτσι, αν θέλουμε να καθορίσετε ποια σειρά εδώ, η οποία επιχείρημα αυτό με το οποίο το επιχείρημα 619 00:32:40,770 --> 00:32:44,680 στη λειτουργία, μπορούμε να αναστρέψετε γύρω οι τιμές αυτές όπου θέλουμε. 620 00:32:44,680 --> 00:32:48,405 >> Κοινό: Υπάρχει κάποιος λόγος υπάρχει να το γράψετε με το β 621 00:32:48,405 --> 00:32:52,404 ισούται, σε αντίθεση με τη χρήση μόνο οι αριθμοί και το κόμμα; 622 00:32:52,404 --> 00:32:54,820 CONNER Harris: Ναι, συνήθως κάνετε αυτό, αν έχετε λειτουργίες 623 00:32:54,820 --> 00:32:58,540 με πολλά επιχειρήματα. 624 00:32:58,540 --> 00:33:00,690 Αυτό μπορεί συχνά να είναι σαν σημαίες ότι θέλετε μόνο 625 00:33:00,690 --> 00:33:03,130 θέλετε να χρησιμοποιήσετε σε σπάνιες περιπτώσεις. 626 00:33:03,130 --> 00:33:06,740 Και με αυτόν τον τρόπο μπορείτε να έχετε only-- μπορεί να αναφέρεται στα συγκεκριμένα επιχειρήματα 627 00:33:06,740 --> 00:33:09,110 που θέλετε να χρησιμοποιήσετε μη προκαθορισμένες τιμές για, 628 00:33:09,110 --> 00:33:14,470 και δεν έχετε να γράψετε ένα δέσμη των σημαιών ισούται με ψευδείς μετά από αυτές. 629 00:33:14,470 --> 00:33:19,710 Ή μπορώ να γράψω πάλι με αυτό μια προκαθορισμένη τιμή, όπως β ισούται με 2. 630 00:33:19,710 --> 00:33:26,289 Και τότε θα μπορούσα να κάνω στ λει, Θα κάνω 4, 1 αυτή τη φορά. 631 00:33:26,289 --> 00:33:28,580 Και 17, η οποία είναι 4 τετράγωνο συν 1, όπως μπορείτε να φανταστείτε. 632 00:33:28,580 --> 00:33:34,290 >> Αλλά θα μπορούσα επίσης μόλις καλέστε αυτό με func 4, 633 00:33:34,290 --> 00:33:36,970 και θα πάρω 18, επειδή Δεν προσδιορίζει β. 634 00:33:36,970 --> 00:33:38,550 Έτσι b παίρνει την προεπιλεγμένη τιμή των 2. 635 00:33:38,550 --> 00:33:41,700 636 00:33:41,700 --> 00:33:47,200 >> ΕΝΤΑΞΕΙ, έτσι τώρα αν είστε μετά μαζί με το demo, 637 00:33:47,200 --> 00:33:51,010 πληκτρολογήστε τη γραμμή αυτή στις εντολές σας προτρέψει και να δούμε τι έρχεται. 638 00:33:51,010 --> 00:33:52,090 Στην πραγματικότητα, δεν το κάνουμε αυτό. 639 00:33:52,090 --> 00:33:52,590 Πληκτρολογήστε αυτό. 640 00:33:52,590 --> 00:33:57,780 641 00:33:57,780 --> 00:34:01,000 Θα πρέπει να δείτε κάτι σαν αυτό. 642 00:34:01,000 --> 00:34:04,780 Έτσι mtcars είναι ενσωματωμένο στα δεδομένα οριστεί για αυτή τη διαδήλωση 643 00:34:04,780 --> 00:34:13,550 σκοπούς που έρχεται with-- ότι έρχεται σε εξ ορισμού με τη διανομή r σας. 644 00:34:13,550 --> 00:34:19,211 Αυτή είναι μια συλλογή στατιστικών στοιχείων από του 1974 τεύχος του περιοδικού Motor Trend της 645 00:34:19,211 --> 00:34:20,710 σε έναν αριθμό διαφορετικών μοντέλων αυτοκινήτων. 646 00:34:20,710 --> 00:34:28,270 >> Έτσι υπάρχει μίλια ανά γαλόνι, cylinders-- Ξεχάσω τι disp is-- ίππους. 647 00:34:28,270 --> 00:34:31,610 648 00:34:31,610 --> 00:34:32,420 Πιθανώς. 649 00:34:32,420 --> 00:34:36,920 Εάν μόνο τα αυτοκίνητα της Google ΜΤ, τότε ένα από τα πρώτα αποτελέσματα 650 00:34:36,920 --> 00:34:38,730 θα είναι από το επίσημα έγγραφα r 651 00:34:38,730 --> 00:34:41,080 και θα εξηγήσω Όλα αυτά τα πεδία δεδομένων. 652 00:34:41,080 --> 00:34:47,020 Έτσι, το βάρος is-- βάρος είναι το βάρος του αυτοκινήτου σε τόνους. 653 00:34:47,020 --> 00:34:48,880 Q sec είναι η ώρα τρίμηνο μίλια. 654 00:34:48,880 --> 00:34:52,409 655 00:34:52,409 --> 00:34:55,850 Έτσι τώρα μπορούμε να κάνουμε κάποια πράγματα διασκέδασης MT για τα αυτοκίνητα είναι ένα πεδίο δεδομένων. 656 00:34:55,850 --> 00:35:01,640 >> Έτσι μπορούμε να κάνουμε πράγματα όπως τα ονόματα σειρά, αυτοκίνητα mt. 657 00:35:01,640 --> 00:35:05,490 Και αυτό είναι μια λίστα με όλες τις σειρές στην τα δεδομένα που είναι τα ονόματα που αυτοκινήτων. 658 00:35:05,490 --> 00:35:10,780 Μπορούμε να κάνουμε colnames, mt αυτοκίνητα αυτού. 659 00:35:10,780 --> 00:35:15,500 Αν το κάνετε αυτοκίνητα mt, υπο-αριθμητικό ευρετήριο, όπως 2. 660 00:35:15,500 --> 00:35:18,177 έχουμε τη δεύτερη στήλη από αυτό, το οποίο θα ήταν κυλίνδρους. 661 00:35:18,177 --> 00:35:19,370 >> Κοινό: Τι έκανες; 662 00:35:19,370 --> 00:35:21,570 >> CONNER HARRIS: Έχω πληκτρολογήσει mt αυτοκίνητα, παρένθεση ε, 663 00:35:21,570 --> 00:35:24,180 που μου έδωσε την δεύτερη στήλη έξω από τα αυτοκίνητα mt. 664 00:35:24,180 --> 00:35:34,501 665 00:35:34,501 --> 00:35:38,110 Ή αν θέλουμε μια σειρά, μπορώ να πληκτρολογήσετε mtcars με κόμμα 2, για παράδειγμα. 666 00:35:38,110 --> 00:35:41,850 667 00:35:41,850 --> 00:35:46,390 Άλλα γύρο 2 κόμμα, όπως αυτό. 668 00:35:46,390 --> 00:35:48,880 Και αυτό ισχύει στη σειρά σας. 669 00:35:48,880 --> 00:35:54,680 Αυτό σου δίνει μόνο μια στήλη, αλλά στήλη ως φορέας. 670 00:35:54,680 --> 00:36:04,634 671 00:36:04,634 --> 00:36:06,425 Απλά συνειδητοποίησα τώρα ξέχασε να αποδείξουν 672 00:36:06,425 --> 00:36:09,150 μερικά δροσερά πράγματα σχετικά με τα διανύσματα που μπορείτε να κάνετε με τους δείκτες. 673 00:36:09,150 --> 00:36:10,480 Επιτρέψτε μου λοιπόν να το κάνουμε τώρα. 674 00:36:10,480 --> 00:36:17,130 Ας κάνουμε γ gets-- θέση αυτό σε pause-- 2 φορές 1 έως 10. 675 00:36:17,130 --> 00:36:21,360 Έτσι, γ είναι ακριβώς πρόκειται να είναι το διάνυσμα 2 έως 20. 676 00:36:21,360 --> 00:36:24,640 Μπορώ να πάρω στοιχεία σαν αυτό, c2. 677 00:36:24,640 --> 00:36:30,942 Μπορώ να περάσει σε ένα φορέα όπως αυτό, επιτρέψτε μου να c-- 678 00:36:30,942 --> 00:36:34,470 χρησιμοποιήσετε διαφορετικό όνομα από το c, όπως VEC γ. 679 00:36:34,470 --> 00:36:37,591 680 00:36:37,591 --> 00:36:39,340 Βασικά, κάνω αυτό, έτσι ώστε δεν παίρνετε 681 00:36:39,340 --> 00:36:45,010 σύγχυση μεταξύ c ως λειτουργία κατασκευής φορέα, 682 00:36:45,010 --> 00:36:48,800 και στη συνέχεια c ως το όνομα μιας μεταβλητής. 683 00:36:48,800 --> 00:36:53,120 Vec παρένθεση c 4, 5, 7. 684 00:36:53,120 --> 00:36:56,540 Αυτό θα μου βγει το τέταρτο, πέμπτο, και επτά στοιχεία της συστοιχίας. 685 00:36:56,540 --> 00:37:01,740 Μπορώ να κάνω VEC, βάλτε μια αρνητική δείκτη, όπως οι αρνητικές 4. 686 00:37:01,740 --> 00:37:06,500 Αυτό θα μου βγει αυτό με το τέταρτο στοιχείο αφαιρεθεί. 687 00:37:06,500 --> 00:37:10,140 Στη συνέχεια, αν ήθελα να κάνω φέτες, Μπορώ να κάνω vec 2 έως 6. 688 00:37:10,140 --> 00:37:15,480 2 παχέος εντέρου 6 είναι ακριβώς ένα άλλο φορέα, η οποία είναι 2, 3, 4, 5, 6. 689 00:37:15,480 --> 00:37:18,230 Φτύσει αυτό. 690 00:37:18,230 --> 00:37:20,770 >> Έτσι, ούτως ή άλλως, πίσω στα αυτοκίνητα mt. 691 00:37:20,770 --> 00:37:26,650 692 00:37:26,650 --> 00:37:28,450 Έτσι, ας κάνουμε κάποιες υποχωρήσεις. 693 00:37:28,450 --> 00:37:34,240 Ας πούμε ότι το μοντέλο gets-- ας γραμμικά regress-- Δεν ξέρω. 694 00:37:34,240 --> 00:37:41,780 Κατ 'αρχάς ας μην αποδίδουν mtcars, φυσικά. 695 00:37:41,780 --> 00:37:44,870 696 00:37:44,870 --> 00:38:00,010 Έτσι, [δεν ακούγεται] μοντέλο LM, ας υποχωρούν μίλια ανά γαλόνι στην περισπωμένη βάρος. 697 00:38:00,010 --> 00:38:03,300 Και στη συνέχεια πλαίσιο δεδομένων είναι mtcars. 698 00:38:03,300 --> 00:38:06,830 Έτσι περίληψη μοντέλο. 699 00:38:06,830 --> 00:38:12,900 700 00:38:12,900 --> 00:38:15,595 >> Εντάξει, έτσι αυτό φαίνεται λίγο περίπλοκη. 701 00:38:15,595 --> 00:38:19,380 Αλλά βασικά, επειδή βλέπω ότι αν προσπαθούν να εκφράσουν μίλια ανά γαλόνι 702 00:38:19,380 --> 00:38:23,970 ως γραμμική συνάρτηση του βάρους, τότε έχουμε αυτή τη γραμμή εδώ, 703 00:38:23,970 --> 00:38:28,730 η οποία αναχαιτίζει σε 37.28. 704 00:38:28,730 --> 00:38:33,830 37.28 θα είναι οι θεωρητικές μίλια ανά γαλόνι ένα αυτοκίνητο που ζυγίζει μηδέν. 705 00:38:33,830 --> 00:38:41,210 Και στη συνέχεια για κάθε επιπλέον τόνο, θα χτυπήσει περίπου πέντε μίλια ανά γαλόνι 706 00:38:41,210 --> 00:38:42,440 μακριά από αυτό. 707 00:38:42,440 --> 00:38:45,120 Και οι δύο αυτές συντελεστών που μπορείτε να δείτε, υπάρχουν τα τυπικά σφάλματα. 708 00:38:45,120 --> 00:38:47,870 Και είναι πολύ στατιστικά σημαντική. 709 00:38:47,870 --> 00:38:55,740 >> Έτσι μπορούμε να είμαστε πολύ σίγουροι για την 1 e 10 στην αρνητική 10. 710 00:38:55,740 --> 00:38:59,510 Έτσι 1 φορές κάτι για να το αρνητικό 10, ότι αν κάνετε ένα βαρύτερο αυτοκίνητο, 711 00:38:59,510 --> 00:39:01,440 θα έχει χειρότερη μίλια ανά γαλόνι. 712 00:39:01,440 --> 00:39:04,940 713 00:39:04,940 --> 00:39:07,250 Ή μπορούμε να εξετάσουμε κάποιο άλλο μοντέλο. 714 00:39:07,250 --> 00:39:09,230 Όπως αντί του παλινδρόμηση αυτό σε βάρος, 715 00:39:09,230 --> 00:39:12,600 ας το οπισθοδρόμηση σε ημερολόγιο του βάρους, γιατί ίσως την πραγματική στάθμιση 716 00:39:12,600 --> 00:39:15,690 στα διανυθέντα χιλιόμετρα δεν είναι κάπως γραμμική. 717 00:39:15,690 --> 00:39:18,540 >> Αυτό μας έδωσε μια r τετράγωνο του 0,7528. 718 00:39:18,540 --> 00:39:19,610 Οπότε ας προσπαθήσουμε αυτό. 719 00:39:19,610 --> 00:39:21,485 Αυτή τη φορά ας κάνουμε μια διαφορετική μεταβλητή, πάρα πολύ. 720 00:39:21,485 --> 00:39:22,500 Model2. 721 00:39:22,500 --> 00:39:24,800 Έτσι περίληψη, model2. 722 00:39:24,800 --> 00:39:28,200 723 00:39:28,200 --> 00:39:31,390 Εντάξει, οπότε και πάλι, εμείς πήρε καλύτερα προσαρμοσμένης γραμμής μας εδώ. 724 00:39:31,390 --> 00:39:36,160 Και αυτό time-- αυτό που λέει, βασικά ότι κάθε φορά που 725 00:39:36,160 --> 00:39:38,090 αυξήσει το βάρος της ένα αυτοκίνητο από έναν παράγοντα e 726 00:39:38,090 --> 00:39:40,580 χάσετε αυτό πολλά μίλια ανά γαλόνι. 727 00:39:40,580 --> 00:39:43,210 728 00:39:43,210 --> 00:39:50,326 >> Και έτσι αυτή τη φορά υπολειπόμενο πρότυπο μας error it-- που δεν πειράζει, πραγματικά. 729 00:39:50,326 --> 00:39:53,540 Η απόκλιση σφάλματος είναι ουσιαστικά μόνο το τυπικό σφάλμα 730 00:39:53,540 --> 00:39:57,760 ότι έχετε αφήσει μετά να πάρει τη γραμμή τάσης. 731 00:39:57,760 --> 00:40:02,805 Και r τετράγωνο μας εδώ είναι 0,81, το οποίο είναι λίγο καλύτερη από ό, τι 732 00:40:02,805 --> 00:40:07,640 είχαμε πριν, 0.52. 733 00:40:07,640 --> 00:40:09,750 >> Και έτσι τώρα ας προσθέσουμε ένα όρο σε αυτήν την παλινδρόμηση. 734 00:40:09,750 --> 00:40:13,020 Ας υποχωρούν μίλια ανά γαλόνι τόσο στο αρχείο καταγραφής των βαρών 735 00:40:13,020 --> 00:40:21,130 και, ας το κάνουμε, q μίλια, τέταρτο χρόνο μίλι. 736 00:40:21,130 --> 00:40:26,190 Εντάξει, πρέπει να έχει the-- εντάξει, qsec. 737 00:40:26,190 --> 00:40:26,690 Qsec. 738 00:40:26,690 --> 00:40:30,630 739 00:40:30,630 --> 00:40:35,000 Actually-- συγγνώμη, τι; 740 00:40:35,000 --> 00:40:37,000 Επιτρέψτε μου να καλέσετε αυτό το κάτι άλλο εκτός από model2. 741 00:40:37,000 --> 00:40:38,000 Επιτρέψτε μου να ονομάσουμε αυτό model3. 742 00:40:38,000 --> 00:40:40,860 743 00:40:40,860 --> 00:40:42,900 Και έτσι τώρα μπορούμε να κάνουμε περίληψη model3. 744 00:40:42,900 --> 00:40:46,850 745 00:40:46,850 --> 00:40:49,100 Και έτσι πάλι, αυτό είναι βασικά ό, τι μπορείτε να φανταστείτε. 746 00:40:49,100 --> 00:40:51,750 Έχετε θετικό σημείο τομής. 747 00:40:51,750 --> 00:40:54,550 Η αποτελεσματική αύξηση βάρους είναι αρνητικό. 748 00:40:54,550 --> 00:40:58,490 Και την αποτελεσματική αυξάνοντας τρίμηνο του χρόνου μίλι 749 00:40:58,490 --> 00:41:02,420 είναι θετική, αλλά αν λιγότερο από το βάρος. 750 00:41:02,420 --> 00:41:06,010 Τώρα διαισθητικά, μπορείτε να κάνετε αίσθηση αυτό λέγοντας σκεφτείτε σπορ αυτοκίνητα. 751 00:41:06,010 --> 00:41:08,950 Υπάρχει μια πολύ γρήγορη επιτάχυνση, ένα πολύ σύντομο χρόνο τέταρτο του μιλίου. 752 00:41:08,950 --> 00:41:13,729 Είναι, επίσης, πρόκειται να χρησιμοποιήσει περισσότερο φυσικό αέριο, ενώ οι πιο λογικό αυτοκίνητα θα 753 00:41:13,729 --> 00:41:16,020 να έχουν πιο αργή επιτάχυνση, υψηλότερους χρόνους τρίμηνο μιλίων, 754 00:41:16,020 --> 00:41:20,890 και να χρησιμοποιούν λιγότερο αέριο ,, έτσι υψηλότερη μίλια ανά γαλόνι. 755 00:41:20,890 --> 00:41:21,390 Εξαιρετική. 756 00:41:21,390 --> 00:41:23,431 Και τώρα ήρθε η ώρα να οικόπεδο κάτι τέτοιο. 757 00:41:23,431 --> 00:41:27,810 Ας do-- τόσο γυμνή οστά που μπορούμε να κάνουμε plots-- 758 00:41:27,810 --> 00:41:35,280 γιατί έχω επισυνάψει αυτό το πλαίσιο δεδομένων before-- μπορούμε να κάνουμε απλά οικόπεδα, κβ mpg. 759 00:41:35,280 --> 00:41:38,762 760 00:41:38,762 --> 00:41:39,720 Κάντε αυτό το λίγο μεγαλύτερο. 761 00:41:39,720 --> 00:41:55,050 762 00:41:55,050 --> 00:41:57,350 Εκεί, έχουμε ουσιαστικά μια γραφική παράσταση, αλλά τα σημεία 763 00:41:57,350 --> 00:41:58,690 είναι κάπως δύσκολο να δούμε σε αυτό. 764 00:41:58,690 --> 00:42:04,860 765 00:42:04,860 --> 00:42:10,900 >> Δεν θυμάμαι τι ο αυτοσχέδιος σύνταξη είναι για την αλλαγή του οικοπέδου. 766 00:42:10,900 --> 00:42:14,100 Έτσι υποθέτω ότι αυτό θα είναι μια καλή στιγμή για να φέρει επάνω, 767 00:42:14,100 --> 00:42:18,000 υπάρχει ένα πολύ ωραίο ενσωματωμένη βοήθεια χαρακτηριστικό, βοήθεια εισαγωγικά λειτουργούν όνομα. 768 00:42:18,000 --> 00:42:21,690 Θα εμφανιστεί βασικά κάτι που θα θέλατε. 769 00:42:21,690 --> 00:42:28,010 770 00:42:28,010 --> 00:42:32,730 Νομίζω ότι θα το κάνουμε πραγματικότητα αυτό Τύπος ισούται σ για τα σημεία οικόπεδα. 771 00:42:32,730 --> 00:42:34,369 Μήπως αυτό αλλάζει τίποτα; 772 00:42:34,369 --> 00:42:35,160 Και όχι, δεν είναι πραγματικά. 773 00:42:35,160 --> 00:42:39,160 774 00:42:39,160 --> 00:42:39,660 Εντάξει. 775 00:42:39,660 --> 00:42:46,760 776 00:42:46,760 --> 00:42:49,580 >> Για κάποιο λόγο, όταν το έκανα αυτό στον υπολογιστή μου πριν από λίγο καιρό, 777 00:42:49,580 --> 00:42:52,080 όλα τα σημεία της διασποράς ήταν πολύ σαφέστερη. 778 00:42:52,080 --> 00:43:06,390 779 00:43:06,390 --> 00:43:13,970 Εν πάση περιπτώσει, είναι το είδος της διασποράς των ορατών; 780 00:43:13,970 --> 00:43:15,124 Υπάρχει κανείς εκεί. 781 00:43:15,124 --> 00:43:16,165 Λίγα εκεί, μερικά εκεί. 782 00:43:16,165 --> 00:43:18,860 783 00:43:18,860 --> 00:43:21,185 Μπορείτε είδος του να τα δείτε, σωστά; 784 00:43:21,185 --> 00:43:24,310 Έτσι, αν θέλουμε να προσθέσουμε μια γραμμή βέλτιστης εφαρμογής σε αυτό το οικόπεδο εδώ, το οποίο είναι λίγο γυμνό 785 00:43:24,310 --> 00:43:29,290 bones-- επιτρέψτε μου να γίνει λίγο καλύτερο. 786 00:43:29,290 --> 00:43:38,075 Κύρια ισούται έναντι βάρους. 787 00:43:38,075 --> 00:43:46,322 788 00:43:46,322 --> 00:43:49,740 Μίλια ανά γαλόνι. 789 00:43:49,740 --> 00:43:53,570 Και πάλι, μπορείτε να δείτε πόσο χρήσιμο προαιρετικό επιχειρήματα είναι εδώ με επίσης 790 00:43:53,570 --> 00:43:58,090 Δεν χρειάζεται να βάλει τα πράγματα σε μια Για ορισμένα επιχειρήματα με πληκτρολόγιο 791 00:43:58,090 --> 00:44:01,600 όταν έχετε οικόπεδα, επειδή αυτά πάρει πολλά επιχειρήματα. 792 00:44:01,600 --> 00:44:07,490 >> Xlab ισούται με το βάρος, το βάρος, τους τόνους. 793 00:44:07,490 --> 00:44:10,091 794 00:44:10,091 --> 00:44:10,590 Εντάξει. 795 00:44:10,590 --> 00:44:17,340 796 00:44:17,340 --> 00:44:21,480 Εντάξει, ναι, αυτή η συσκευή είναι να είναι λίγο ενοχλητικό. 797 00:44:21,480 --> 00:44:30,160 Αλλά μπορείτε να δείτε το είδος της εκεί, υπάρχει ένας τίτλος γραφήματος στο πλάι. 798 00:44:30,160 --> 00:44:35,260 Πάνω από εδώ there's-- στο κάτω μέρος εδώ υπάρχουν άξονα ετικέτες. 799 00:44:35,260 --> 00:44:37,700 Δεν θυμάμαι αυτοσχέδιος ποιες είναι οι εντολές ars-- 800 00:44:37,700 --> 00:44:41,000 τι οι λειτουργίες είναι να αυξηθούν το μέγεθος αυτών των ετικετών και των τίτλων, 801 00:44:41,000 --> 00:44:43,110 αλλά είναι εκεί. 802 00:44:43,110 --> 00:44:46,625 >> Και έτσι, αν θέλουμε να προσθέστε το καλύτερο κατάλληλο γραμμή, 803 00:44:46,625 --> 00:44:49,250 θα μπορούσαμε να κάνουμε κάτι like-- μου έχουν τη σύνταξη γραπτής εδώ. 804 00:44:49,250 --> 00:44:52,280 805 00:44:52,280 --> 00:45:11,130 Έτσι θυμηθείτε απλά προσθέστε το μοντέλο ήταν mpg, το βάρος, mtcars. 806 00:45:11,130 --> 00:45:16,470 Και έτσι αν ήθελα να προσθέσω μια καλύτερη προσαρμογή γραμμή, θα μπορούσα να κάνω μια, β γραμμή μοντέλο. 807 00:45:16,470 --> 00:45:18,556 Και έκρηξη, έχουμε μια γραμμή βέλτιστης εφαρμογής. 808 00:45:18,556 --> 00:45:19,970 Είναι κάπως δύσκολο να δούμε και πάλι. 809 00:45:19,970 --> 00:45:22,178 Είμαι πολύ συγγνώμη για την τεχνολογικές δυσκολίες. 810 00:45:22,178 --> 00:45:25,230 Αλλά τρέχει βασικά επάνω αριστερά προς τα κάτω δεξιά. 811 00:45:25,230 --> 00:45:27,550 >> Και αν η κλίμακα ήταν μεγαλύτερο, θα μπορούσατε να δείτε 812 00:45:27,550 --> 00:45:31,260 ότι το σημείο τομής είναι ό, τι μπορείτε βρείτε από τα συνοπτικά στατιστικά στοιχεία 813 00:45:31,260 --> 00:45:34,790 αν πληκτρολογήσετε περίληψη μοντέλο. 814 00:45:34,790 --> 00:45:40,130 Εντάξει, έτσι ελπίζω ότι ο καθένας παίρνει κάτι σαν αίσθηση του τι 815 00:45:40,130 --> 00:45:42,030 R είναι, ό, τι είναι καλό για. 816 00:45:42,030 --> 00:45:45,520 Θα μπορούσατε να κάνετε πολύ καλύτερο από ό, τι οικόπεδα αυτό στο δικό σας χρόνο, αν θέλετε. 817 00:45:45,520 --> 00:45:50,100 818 00:45:50,100 --> 00:45:53,950 >> Έτσι, το interface ξένων λειτουργία. 819 00:45:53,950 --> 00:46:00,330 Αυτό είναι κάτι που δεν είναι τυπικά καλύπτονται στις εισαγωγικές διαλέξεις 820 00:46:00,330 --> 00:46:03,560 ή εισαγωγικό τίποτα για r. 821 00:46:03,560 --> 00:46:05,584 Δεν είναι πιθανό εσείς πρόκειται να την έχουν ανάγκη. 822 00:46:05,584 --> 00:46:08,000 Ωστόσο, βρήκα χρήσιμο σε τα δικά μου projects στο παρελθόν. 823 00:46:08,000 --> 00:46:10,984 Και δεν υπάρχει κανένας καλός σεμινάριο για το σε απευθείας σύνδεση. 824 00:46:10,984 --> 00:46:12,900 Έτσι, είμαι απλώς πρόκειται να Σας βιαστούμε μέσα από αυτό 825 00:46:12,900 --> 00:46:16,606 και, στη συνέχεια, είστε ελεύθεροι να φύγουν. 826 00:46:16,606 --> 00:46:18,480 Και έτσι ο ξένος λειτουργική διασύνδεση είναι ό, τι 827 00:46:18,480 --> 00:46:23,130 που μπορείτε να χρησιμοποιήσετε για να καλέσετε για να δείτε λειτουργίες με R. Εσωτερικά, 828 00:46:23,130 --> 00:46:29,850 R είναι χτισμένο σε αριθμητική Γ Ε είναι ακριβώς C 64-bit κινητής υποδιαστολής αριθμητική, 829 00:46:29,850 --> 00:46:32,852 η οποία είναι τύπου double [δεν ακούγεται]. 830 00:46:32,852 --> 00:46:35,060 Και ίσως να θέλετε να κάνετε αυτό για ένα μάτσο λόγους. 831 00:46:35,060 --> 00:46:39,250 Για το ένα, το R ερμηνεύεται, είναι Δεν συγκεντρωθεί σε κώδικα μηχανής. 832 00:46:39,250 --> 00:46:42,170 Έτσι, μπορείτε να ξαναγράψετε σας εσωτερικούς βρόχους σε C και στη συνέχεια να πάρει 833 00:46:42,170 --> 00:46:45,920 το πλεονέκτημα της χρήσης R. Όπως είναι λίγο πιο βολικό από το Γ 834 00:46:45,920 --> 00:46:48,899 Έχει καλύτερα γραφικά εγκαταστάσεις και εταζέρα. 835 00:46:48,899 --> 00:46:51,690 Και ενώ εξακολουθούν να είναι σε θέση να πάρει κορυφή ταχύτητα έξω από τους εσωτερικούς βρόχους, 836 00:46:51,690 --> 00:46:53,650 η οποία είναι όπου το χρειάζεστε πραγματικά. 837 00:46:53,650 --> 00:46:56,330 >> Επαναχρησιμοποίηση υπάρχουσες βιβλιοθήκες C, ότι είναι επίσης σημαντικό. 838 00:46:56,330 --> 00:47:00,320 Αν έχετε κάποια βιβλιοθήκη C για ομοειδή, Δεν ξέρω, μετασχηματισμός Fourier, 839 00:47:00,320 --> 00:47:05,190 ή κάποια πολύ Archean Διαδικασία στατιστικών που χρησιμοποιούνται 840 00:47:05,190 --> 00:47:09,470 στην αστροφυσική υψηλών ενεργειών ή κάτι τέτοιο, δεν ξέρω. 841 00:47:09,470 --> 00:47:13,058 Αστροφυσική Υψηλών Ενεργειών Δεν είναι καν ένα think, νομίζω. 842 00:47:13,058 --> 00:47:16,480 Αλλά μπορείτε να το κάνετε αυτό, αντί να χρειάζεται να γράψει ένα εγγενές λιμάνι R από αυτούς. 843 00:47:16,480 --> 00:47:22,725 Και για the-- και ξανά, σαν να φαίνονται στις περισσότερες προεπιλεγμένες βιβλιοθήκες της R, 844 00:47:22,725 --> 00:47:25,600 για τα εσωτερικά, τα εσωτερικά είναι πρόκειται να χρησιμοποιήσει την ξένη λειτουργία 845 00:47:25,600 --> 00:47:26,724 διεπαφή πολύ μεγάλο βαθμό. 846 00:47:26,724 --> 00:47:31,630 Θα έχουν τα πράγματα όπως Fourier μεταμορφώνει ή τον υπολογισμό συσχέτιση 847 00:47:31,630 --> 00:47:34,890 συντελεστές γραμμένο σε C, και θα Απλά πρέπει R περιτυλίγματα γύρω τους. 848 00:47:34,890 --> 00:47:38,230 Η διεπαφή είναι ένα λίγο δύσκολο. Νομίζω 849 00:47:38,230 --> 00:47:43,750 δυσκολία του είναι υπερβολική σε ένα Πολλές από τις οδηγίες που θα βρείτε. 850 00:47:43,750 --> 00:47:46,200 Αλλά παρ 'όλα αυτά, είναι λίγο συγκεχυμένη. 851 00:47:46,200 --> 00:47:48,650 Και δεν ήταν σε θέση να βρείτε ένα καλό φροντιστήριο για αυτό, 852 00:47:48,650 --> 00:47:51,980 έτσι αυτό είναι σωστό τώρα. 853 00:47:51,980 --> 00:47:55,360 Και πάλι, όλο αυτό το τμήμα Είναι περισσότερο για μελλοντική αναφορά. 854 00:47:55,360 --> 00:47:57,687 Μην ανησυχείτε για την αντιγραφή τα πάντα τώρα. 855 00:47:57,687 --> 00:48:00,020 Έτσι, οι ακόλουθες οδηγίες είναι για συστήματα Unix, 856 00:48:00,020 --> 00:48:05,150 Linux, BSD, OS X. Δεν ξέρω πώς αυτό λειτουργεί σε Windows, 857 00:48:05,150 --> 00:48:08,280 αλλά σας παρακαλώ απλά δεν κάνουν σας τελικό σχέδιο για τα Windows. 858 00:48:08,280 --> 00:48:10,790 859 00:48:10,790 --> 00:48:12,460 Μπορείτε πραγματικά δεν θέλουν να. 860 00:48:12,460 --> 00:48:14,770 Unix είναι πολύ καλύτερο σύνολο για περιστασιακή προγραμματισμού. 861 00:48:14,770 --> 00:48:19,320 862 00:48:19,320 --> 00:48:21,390 Έτσι, βασικά ξένα λειτουργική διασύνδεση. 863 00:48:21,390 --> 00:48:24,420 Αν θέλετε να γράψετε ένα C λειτουργία για χρήση με R, 864 00:48:24,420 --> 00:48:27,250 πρέπει να λάβει όλα τα επιχειρήματα ως δείκτες. 865 00:48:27,250 --> 00:48:30,666 >> Έτσι, για τις τιμές της μονής, αυτό σημαίνει ότι είναι υπογραμμίσει την αξία. 866 00:48:30,666 --> 00:48:33,040 Για συστοιχίες, αυτό είναι ένας δείκτης προς το πρώτο στοιχείο, το οποίο 867 00:48:33,040 --> 00:48:36,750 είναι ό, τι ονόματα των πινάκων σημαίνουν πραγματικά. 868 00:48:36,750 --> 00:48:40,140 Και πάλι, αυτό είναι κάτι που θα πρέπει να έχουν όμορφη τελείως κάτω μετά σ έθεσε πέντε. 869 00:48:40,140 --> 00:48:43,334 Ονόματα Array είναι μόνο δείκτες με το πρώτο στοιχείο, 870 00:48:43,334 --> 00:48:44,750 Ο τύπος κινητής υποδιαστολής είναι διπλή. 871 00:48:44,750 --> 00:48:47,310 Και η λειτουργία σας πρέπει να επιστρέψει άκυρη. 872 00:48:47,310 --> 00:48:50,810 Ο μόνος τρόπος ότι μπορεί στην πραγματικότητα πείτε τι συνέβη R 873 00:48:50,810 --> 00:48:54,410 είναι τροποποιώντας τη μνήμη που έδωσε R σε αυτόν μέσω της ξένης λειτουργία 874 00:48:54,410 --> 00:48:54,910 διεπαφή. 875 00:48:54,910 --> 00:48:58,180 876 00:48:58,180 --> 00:49:00,127 >> Έτσι έχω γράψει αυτό παράδειγμα εδώ, αυτό είναι 877 00:49:00,127 --> 00:49:02,460 μια λειτουργία που υπολογίζει τη χρήση dot προϊόν των δύο φορέων. 878 00:49:02,460 --> 00:49:05,060 Παίρνει δύο επιχειρήματα, vec1, vec2, που είναι οι ίδιοι φορείς, 879 00:49:05,060 --> 00:49:06,934 και στη συνέχεια n, η οποία είναι μια μήκος, γιατί και πάλι, 880 00:49:06,934 --> 00:49:12,630 R έχει ενσωματωμένη [δεν ακούγεται] για να μάθετε το μήκος των διανυσμάτων, αλλά δεν το κάνει C. 881 00:49:12,630 --> 00:49:16,182 Στην C, φορείς είναι μια αυθαίρετη οριοθετημένο κομμάτι της μνήμης. 882 00:49:16,182 --> 00:49:17,890 Έτσι, ο τρόπος που μπορεί να υπολογισμό γινομένων 883 00:49:17,890 --> 00:49:23,470 που είναι ακριβώς αυτό έξω την παράμετρο στο μηδέν και στη συνέχεια επαναλαμβάνεται σε 884 00:49:23,470 --> 00:49:28,760 από 1 έως n αστέρι, επειδή n είναι ένας δείκτης προς το μήκος, 885 00:49:28,760 --> 00:49:32,929 απλά να προσθέσω κάτι για να Αυτή η παράμετρος έξω. 886 00:49:32,929 --> 00:49:34,970 Και μπορεί να είναι ορθή πρακτική εάν πρόκειται να κάνετε 887 00:49:34,970 --> 00:49:37,270 αυτό να γράψω δύο ξεχωριστές λειτουργίες Γ. 888 00:49:37,270 --> 00:49:41,970 Ένας από αυτούς has-- Ένας από αυτούς μόνο παίρνει τα επιχειρήματα και τα είδη 889 00:49:41,970 --> 00:49:43,970 ότι θα είναι κανονικά σε C. 890 00:49:43,970 --> 00:49:47,780 >> Γι 'αυτό χρειάζεται μια σειρά επιχειρήματα ως δείκτες. 891 00:49:47,780 --> 00:49:57,090 Αλλά τα επιχειρήματα μίας αξίας, όπως Ν, θα παίρνει μόνο ως τιμές από αντίγραφο, 892 00:49:57,090 --> 00:49:57,917 χωρίς δείκτες. 893 00:49:57,917 --> 00:49:59,750 Και τότε δεν [Δεν ακούγεται] από το δείκτη. 894 00:49:59,750 --> 00:50:01,290 Και τότε μπορείτε να έχετε μια διαφορετική, βασικά, 895 00:50:01,290 --> 00:50:03,623 λειτουργία εξομοίωσης που ουσιαστικά χειρίζεται τις απαιτήσεις 896 00:50:03,623 --> 00:50:07,740 του ξένου λειτουργίας διεπαφή για εσάς. 897 00:50:07,740 --> 00:50:11,840 >> Ο τρόπος που καλούν αυτό το R είναι, για άλλη μια έχετε τη λειτουργία σας γραμμένο σε C, 898 00:50:11,840 --> 00:50:17,770 πληκτρολογείτε cmd shlib R, R Εντολή κοινή βιβλιοθήκη, 899 00:50:17,770 --> 00:50:20,110 foo τελεία γ, ή οτιδήποτε άλλο όνομα του αρχείου σας είναι, 900 00:50:20,110 --> 00:50:23,020 και το λειτουργικό σύστημα δεν πληρώνω στο τερματικό R. 901 00:50:23,020 --> 00:50:25,200 Και αυτό θα δημιουργήσει ένα βιβλιοθήκη που ονομάζεται foo dot έτσι. 902 00:50:25,200 --> 00:50:28,180 Και τότε μπορείτε να το φορτώσετε στο σενάριο ή διαδραστικά μας 903 00:50:28,180 --> 00:50:32,310 με εντολή φορτίο δίνες τελεία. 904 00:50:32,310 --> 00:50:35,720 Τότε υπάρχει μια λειτουργία Ε ονομάζεται dot γ. 905 00:50:35,720 --> 00:50:39,310 >> Αυτό παίρνει τα επιχειρήματα που αρχάς το όνομα της συνάρτησης σε C 906 00:50:39,310 --> 00:50:40,970 που θέλετε να καλέσετε. 907 00:50:40,970 --> 00:50:43,920 Και τότε όλες οι παράμετροι για αυτή τη λειτουργία, 908 00:50:43,920 --> 00:50:45,420 θα πρέπει να είναι στη σωστή σειρά. 909 00:50:45,420 --> 00:50:48,580 Θα πρέπει να χρησιμοποιήσετε αυτούς τους τύπους λειτουργίες εξαναγκασμό ως ακέραιος, όπως 910 00:50:48,580 --> 00:50:52,050 διπλή, καθώς χαρακτήρα, και ως λογική. 911 00:50:52,050 --> 00:50:54,710 Και στη συνέχεια, όταν επιστρέφει η λίστα, η οποία και πάλι είναι απλά 912 00:50:54,710 --> 00:50:57,550 μία συνδεδεμένη συστοιχία ο παράμετρος ονόματα και οι τιμές 913 00:50:57,550 --> 00:51:00,950 αφού η λειτουργία έχει τρέξει. 914 00:51:00,950 --> 00:51:08,520 >> Έτσι, στην περίπτωση αυτή, επειδή έχει τελεία prod επιχειρήματα vec1, vec2, και int n, έξω. 915 00:51:08,520 --> 00:51:11,980 Για να dot γ έχουμε τελεία Prod, το όνομα της συνάρτησης 916 00:51:11,980 --> 00:51:16,250 είμαστε καλώντας, vec1, vec2, είδος εκβιασμού. 917 00:51:16,250 --> 00:51:20,060 Το μήκος του είτε φορέα, Απλά επέλεξα vec1 αυθαίρετα. 918 00:51:20,060 --> 00:51:25,479 Θα ήταν πιο ισχυρή για να πω s ακέραιο μήκος λεπτά vec1, μήκους vec2. 919 00:51:25,479 --> 00:51:27,520 Στη συνέχεια, όπως ακριβώς και το διπλό μηδέν, γιατί εμείς δεν κάνουμε πραγματικά 920 00:51:27,520 --> 00:51:29,644 με νοιάζει τι πηγαίνει σε η έξω παράμετρο γιατί είμαστε 921 00:51:29,644 --> 00:51:32,270 ρύθμιση στο μηδέν ούτως ή άλλως. 922 00:51:32,270 --> 00:51:37,560 >> Και τότε τα αποτελέσματα θα είναι ένα μεγάλο σχετίζεται σειρά από βασικά 923 00:51:37,560 --> 00:51:42,090 vec1 είναι ό, vec2 είναι οτιδήποτε. 924 00:51:42,090 --> 00:51:44,330 Αλλά μας ενδιαφέρει έξω, έτσι μπορούμε να πάρουμε ότι έξω. 925 00:51:44,330 --> 00:51:47,780 Αυτό είναι πάλι μια πολύ παράδειγμα παιχνιδιών της διασύνδεσης ενός ξένου λειτουργία. 926 00:51:47,780 --> 00:51:54,160 Αλλά αν πρέπει να υπολογίσουμε τελεία προϊόντα των μαζικών φορέων σε βρόχους, 927 00:51:54,160 --> 00:51:56,960 ή αν έχετε να κάνετε κάτι άλλο σε έναν βρόχο, 928 00:51:56,960 --> 00:51:59,850 και δεν θέλετε να βασίζονται σε R, η οποία έχει ένα κομμάτι της εναέριας 929 00:51:59,850 --> 00:52:02,830 ενσωματωμένη σε αυτό, αυτό μπορεί να είναι χρήσιμο. 930 00:52:02,830 --> 00:52:05,870 >> Και πάλι, αυτό δεν είναι συνήθως ένα εισαγωγικό θέμα στο R. 931 00:52:05,870 --> 00:52:08,571 Δεν είναι πολύ καλά τεκμηριωμένη. 932 00:52:08,571 --> 00:52:11,070 Είμαι απλά επειδή συμπεριλαμβανομένων Το βρήκα χρήσιμο στο παρελθόν. 933 00:52:11,070 --> 00:52:13,654 Έτσι, κακές πρακτικές. 934 00:52:13,654 --> 00:52:15,820 Ανέφερα ότι υπάρχει μια για βρόγχο στη λειτουργία. 935 00:52:15,820 --> 00:52:21,150 Γενικά, δεν θα πρέπει, η γλώσσα, να μην το χρησιμοποιούν. 936 00:52:21,150 --> 00:52:26,100 Με βάση το πώς εφαρμόζει Ε επανάληψη εσωτερικά, μπορεί να είναι αργή. 937 00:52:26,100 --> 00:52:28,540 Μπορούν επίσης να εξετάσουμε μόνο άσχημο. 938 00:52:28,540 --> 00:52:32,410 >> Ε χειρίζεται φορείς πολύ όμορφα, έτσι πολλές φορές δεν χρειάζεται να το χρησιμοποιήσετε. 939 00:52:32,410 --> 00:52:35,050 940 00:52:35,050 --> 00:52:38,900 Στη συνέχεια, μπορείτε συνήθως αντικαταστήσει έναν φορέα συχνά 941 00:52:38,900 --> 00:52:42,490 με αυτές τις λειτουργίες που ονομάζεται high Για λειτουργίες, Χάρτης, Μείωση, 942 00:52:42,490 --> 00:52:44,404 Βρείτε, ή φίλτρου. 943 00:52:44,404 --> 00:52:46,320 Θα δώσω μερικά μόνο παραδείγματα του τι πρόκειται να κάνει. 944 00:52:46,320 --> 00:52:49,957 Χάρτης είναι μια ανώτερη λειτουργία του προκειμένου, διότι παίρνει μια συνάρτηση ως επιχείρημα. 945 00:52:49,957 --> 00:52:52,290 Έτσι, μπορείτε να του δώσετε μια λειτουργία, μπορείτε να δώσετε μια σειρά, 946 00:52:52,290 --> 00:52:54,640 και θα εφαρμόζει την λειτουργία για κάθε στοιχείο της συστοιχίας 947 00:52:54,640 --> 00:52:55,681 και να επιστρέψει η νέα σειρά. 948 00:52:55,681 --> 00:52:58,035 949 00:52:58,035 --> 00:53:00,160 Μείωση, ουσιαστικά δίνετε είναι ένας πίνακας, δίνετε 950 00:53:00,160 --> 00:53:02,930 μια συνάρτηση που παίρνει δύο επιχειρήματα. 951 00:53:02,930 --> 00:53:07,100 Θα τεθεί σε ισχύ την πρώτη λειτουργία, η Το πρώτο επιχείρημα με κάποια τιμή εκκίνησης. 952 00:53:07,100 --> 00:53:09,440 Στη συνέχεια, σε αυτό το αποτέλεσμα στο δεύτερο. 953 00:53:09,440 --> 00:53:12,590 Στη συνέχεια, σε αυτό το αποτέλεσμα στο τρίτο, τότε στο αποτέλεσμα στην τέταρτη. 954 00:53:12,590 --> 00:53:14,870 Και στη συνέχεια να επιστρέψει όταν φτάσει στο τέλος. 955 00:53:14,870 --> 00:53:17,620 Έτσι, για παράδειγμα, αν θέλετε να υπολογίζει το άθροισμα όλων των στοιχείων 956 00:53:17,620 --> 00:53:23,240 σε μια σειρά, από ό, τι θα μπορούσαμε να πούμε μειώσει με [δεν ακούγεται] μείωση προσθήκη 957 00:53:23,240 --> 00:53:26,620 λειτουργία, όπως και λει Α, Β, επιστρέφει ένα συν β. 958 00:53:26,620 --> 00:53:28,960 Και στη συνέχεια, ξεκινήστε την τιμή 0. 959 00:53:28,960 --> 00:53:32,950 >> Και όλα αυτά, μπορείτε να τα βρείτε περιγράφεται στην τεκμηρίωση του R, 960 00:53:32,950 --> 00:53:35,720 σε κάθε βιβλίο για λειτουργικό προγραμματισμό. 961 00:53:35,720 --> 00:53:38,330 Υπάρχει, επίσης, αυτή η κατηγορία λειτουργίες που ονομάζεται ισχύουν λειτουργίες, 962 00:53:38,330 --> 00:53:42,807 η οποία θα don't-- ότι είναι λίγο δύσκολο να το εξηγήσω, 963 00:53:42,807 --> 00:53:45,640 αλλά αν κοιτάξετε στο [δεν ακούγεται] κράτηση που ανέφερα στην αρχή, 964 00:53:45,640 --> 00:53:48,615 Τους εξηγεί πολύ καλά στην προσάρτημα του στην Ε προγραμματισμού. 965 00:53:48,615 --> 00:53:51,599 966 00:53:51,599 --> 00:53:53,390 Περισσότερες πληροφορίες σχετικά με τις πρακτικές, προσαρτώντας σε φορείς. 967 00:53:53,390 --> 00:53:57,570 968 00:53:57,570 --> 00:53:58,070 Ναι; 969 00:53:58,070 --> 00:54:01,651 970 00:54:01,651 --> 00:54:02,900 Νομίζω ότι πρέπει να το διορθώσουμε. 971 00:54:02,900 --> 00:54:07,450 Σε αυτή την πρώτη γραμμή, VEC βέλος, ότι το βέλος δεν πρέπει να υπάρχει. 972 00:54:07,450 --> 00:54:10,920 Μπορείτε να εκχωρήσετε σε ένα φορέα, και πάλι, να λάβει από το μήκος του συν 1 973 00:54:10,920 --> 00:54:13,220 και την ανάθεση κάποια αξία σε αυτό. 974 00:54:13,220 --> 00:54:18,970 Αυτό θα επεκτείνει το φορέα, ή να σας μπορεί να κάνει VEC ίσων γ, VEC newvalue. 975 00:54:18,970 --> 00:54:21,540 Και πάλι, αν χρησιμοποιείτε C με ένα επιχείρημα ως φορέα, 976 00:54:21,540 --> 00:54:23,300 η προκύπτουσα ιεραρχία παίρνει ισοπέδωσε. 977 00:54:23,300 --> 00:54:27,160 Έτσι θα έχετε μόνο ένα διάνυσμα ότι έχει παραταθεί κατά 1. 978 00:54:27,160 --> 00:54:30,410 Ποτέ μην το κάνετε αυτό. 979 00:54:30,410 --> 00:54:33,330 >> Ο λόγος για τον οποίο σας δεν θα πρέπει να το κάνετε αυτό είναι αυτό. 980 00:54:33,330 --> 00:54:37,430 Όταν διαθέσει ένα φορέα, το δίνει ένα ορισμένο κομμάτι της μνήμης. 981 00:54:37,430 --> 00:54:40,680 Αν αυξήσετε το μέγεθος αυτό φορέα, πρέπει να ανακατανείμει το διάνυσμα 982 00:54:40,680 --> 00:54:43,820 κάπου αλλού. 983 00:54:43,820 --> 00:54:46,980 Και έτσι η ανακατανομή είναι αρκετά ακριβά. 984 00:54:46,980 --> 00:54:50,530 Δεν θα υπεισέλθω σε λεπτομέρειες για το πώς Οι κατανεμητές μνήμη υλοποιούνται 985 00:54:50,530 --> 00:54:57,280 σχετικά με το επίπεδο του λειτουργικού συστήματος, αλλά παίρνει πολύ χρόνο 986 00:54:57,280 --> 00:54:58,962 για να βρείτε ένα νέο κομμάτι της μνήμης. 987 00:54:58,962 --> 00:55:00,920 Και επίσης, αν είστε ανακατανομής μέρη και μέρη 988 00:55:00,920 --> 00:55:03,500 προοδευτικά μεγαλύτερων κομμάτια, θα καταλήξετε 989 00:55:03,500 --> 00:55:06,420 με κάτι που ονομάζεται κατακερματισμού της μνήμης, 990 00:55:06,420 --> 00:55:09,390 όπου η διαθέσιμη μνήμη είναι διαιρείται σε πολλά μικρά τεμάχια 991 00:55:09,390 --> 00:55:11,500 στο σημείο κατανεμητές μνήμη του άποψη. 992 00:55:11,500 --> 00:55:15,340 Και αυτό γίνεται όλο και πιο δύσκολο να βρει μνήμη για άλλα πράγματα. 993 00:55:15,340 --> 00:55:19,455 Έτσι, αντ 'αυτού, αν χρειάζεται να το κάνετε αυτό, αν θα πρέπει να αναπτυχθεί ένα φορέα από το ένα άκρο 994 00:55:19,455 --> 00:55:24,240 στο επόμενο, αντί του προσαρτώντας σε αυτό συνεχώς, θα πρέπει να προ-κατανείμει. 995 00:55:24,240 --> 00:55:29,310 VEC βέλος, μήκους διανύσματος ισούται με 1.000, ή οτιδήποτε άλλο. 996 00:55:29,310 --> 00:55:33,200 >> Και τότε μπορείτε να ορίσετε μόνο στις αξίες ενός του φορέα 997 00:55:33,200 --> 00:55:36,000 ένας χρόνος αφότου έχετε να διατεθεί για μία φορά. 998 00:55:36,000 --> 00:55:40,140 Έτρεξα σε αυτό, και πάλι, το καλοκαίρι η δουλειά μου όταν έγραφα ΕΡΑ απόκλιση 999 00:55:40,140 --> 00:55:42,120 εξίσωση λύτης. 1000 00:55:42,120 --> 00:55:43,180 Δεν συμβολική αριθμητική. 1001 00:55:43,180 --> 00:55:49,290 Η ιδέα είναι ότι από τη στιγμή που έχετε μία τιμή για τη λύση σας, 1002 00:55:49,290 --> 00:55:51,240 μπορείτε να χρησιμοποιήσετε ότι για να υπολογιστεί το επόμενο. 1003 00:55:51,240 --> 00:55:53,700 Έτσι, το φυσικό μου αφελής κλίση ήταν να πούμε, εντάξει, 1004 00:55:53,700 --> 00:55:56,930 γι 'αυτό θα ξεκινήσει με ένα φορέα αυτό είναι μια σημαντική αξία. 1005 00:55:56,930 --> 00:56:01,260 Υπολογίστε ότι από την επόμενη τιμή ότι πηγαίνει επάνω μου διάνυσμα λύσης, 1006 00:56:01,260 --> 00:56:02,630 και τον επισυνάπτει. 1007 00:56:02,630 --> 00:56:05,290 >> Δημιουργήστε κάτι άλλο, να προσαρτήσει αυτό. 1008 00:56:05,290 --> 00:56:08,120 Πήγε πολύ, πολύ αργά. 1009 00:56:08,120 --> 00:56:11,540 Και μόλις κατάλαβα ότι αυτό και άλλαξα το σύστημα μου 1010 00:56:11,540 --> 00:56:16,020 από την επισύναψη σε αυτόν τον φορέα σαν 10.000 έως 100.000 φορές, 1011 00:56:16,020 --> 00:56:18,910 σε μόλις προ-διάθεση ενός φορέα και απλά τρέχει με αυτό. 1012 00:56:18,910 --> 00:56:22,100 Πήρα πάνω από 1.000 φορές την ταχύτητα επάνω. 1013 00:56:22,100 --> 00:56:26,280 Έτσι, αυτό είναι ένα πολύ κοινό παγίδα για τον προγραμματισμό Ε. 1014 00:56:26,280 --> 00:56:31,560 Αν πρέπει να δημιουργήσουν ένα φορέα κομμάτι από το κομμάτι, προ-κατανείμει. 1015 00:56:31,560 --> 00:56:35,360 1016 00:56:35,360 --> 00:56:40,240 >> Ένα άλλο κοινό ταξίδι up-- αυτή είναι η τελευταία μου διαφανειών, δεν worry-- είναι λάθος χειρισμό. 1017 00:56:40,240 --> 00:56:42,890 R, για να είμαι ειλικρινής, δεν πραγματικά κάνει αυτό πολύ καλά. 1018 00:56:42,890 --> 00:56:45,010 Υπάρχουν πολλά προβλήματα που μπορεί να παρουσιαστούν. 1019 00:56:45,010 --> 00:56:48,360 Για παράδειγμα, αν έχετε μια σειρά ή ένας φορέας από μια συνάρτηση 1020 00:56:48,360 --> 00:56:52,377 ότι ανέμεναν μια ενιαία τιμή να έρθει από, ή το αντίστροφο, 1021 00:56:52,377 --> 00:56:55,460 και ότι θα περάσει σε μια λειτουργία που Γράψατε αναμένει μια ενιαία τιμή, 1022 00:56:55,460 --> 00:56:57,270 ότι μπορεί να είναι ένα πρόβλημα. 1023 00:56:57,270 --> 00:57:01,440 >> Ορισμένες λειτουργίες null επιστρέφουν όπως κάνει, για παράδειγμα, 1024 00:57:01,440 --> 00:57:05,560 ανάγνωση από ένα ανύπαρκτο κλειδί σε μια λίστα. 1025 00:57:05,560 --> 00:57:08,527 Αλλά null δεν αρέσει C όπου κι αν προσπαθήσετε να διαβάσετε 1026 00:57:08,527 --> 00:57:11,360 από ένα παλιό δείκτη, [δεν ακούγεται] σε κενό δείκτη, το SEG απλά σφάλματα 1027 00:57:11,360 --> 00:57:14,109 και αν είστε στο πρόγραμμα εντοπισμού σφαλμάτων σας, σας λέει ακριβώς πού βρίσκεστε. 1028 00:57:14,109 --> 00:57:17,080 1029 00:57:17,080 --> 00:57:20,772 Αντ 'αυτού, θα null do-- λειτουργίες θα κάνει απρόβλεπτα πράγματα 1030 00:57:20,772 --> 00:57:21,730 αν είναι μηδενική χέρια. 1031 00:57:21,730 --> 00:57:24,575 Όπως και αν είστε παρέδωσε max μηδενική, αυτό θα σας δώσει αρνητικό άπειρο. 1032 00:57:24,575 --> 00:57:27,230 1033 00:57:27,230 --> 00:57:28,190 Και έτσι, ναι. 1034 00:57:28,190 --> 00:57:30,880 1035 00:57:30,880 --> 00:57:32,630 Και έτσι έγινε αυτό για μένα μια φορά, όταν είχα 1036 00:57:32,630 --> 00:57:34,771 άλλαξε ένα σωρό τομείς στη λίστα μου δομή 1037 00:57:34,771 --> 00:57:37,520 αμέσως χωρίς αλλαγή τους αλλού όταν διάβαζα από αυτούς. 1038 00:57:37,520 --> 00:57:40,670 Και τότε πήρα όλα τα είδη των τυχαίων Αποτελέσματα άπειρο αναφύονται 1039 00:57:40,670 --> 00:57:43,080 και δεν έχω ιδέα από πού προέρχονταν. 1040 00:57:43,080 --> 00:57:45,310 Και, δυστυχώς, δεν υπάρχει καμία πραγματική λειτουργία strict R 1041 00:57:45,310 --> 00:57:48,940 όπου μπορείτε να πείτε αν κάτι μοιάζει να είναι ένα λάθος, 1042 00:57:48,940 --> 00:57:51,960 μόλις σταματήσει εκεί για να είμαι πειθαρχημένοι και να το διορθώσουμε αυτό. 1043 00:57:51,960 --> 00:57:55,282 1044 00:57:55,282 --> 00:57:57,240 Ωστόσο, υπάρχει κάτι που ονομάζεται στάση αν όχι. 1045 00:57:57,240 --> 00:58:00,480 Αυτό είναι ισοδύναμο με διεκδικούν Γ, αν έχετε μιλήσει γι 'αυτό. 1046 00:58:00,480 --> 00:58:02,690 Δεν νομίζω C διεκδικούν είναι ένα θέμα διάλεξης, 1047 00:58:02,690 --> 00:58:06,370 αλλά ηγέτη τμήμα σας μπορεί να έχουν περάσει πάνω από αυτό. 1048 00:58:06,370 --> 00:58:10,393 Και αν δεν σταματήσει να παίρνει βασικά οποιοδήποτε κατηγόρημα, έτσι ώστε οποιαδήποτε δήλωση ότι 1049 00:58:10,393 --> 00:58:11,824 μπορεί να είναι αληθείς ή ψευδείς. 1050 00:58:11,824 --> 00:58:13,490 Και αν είναι ψευδής, να σταματήσει το πρόγραμμά του. 1051 00:58:13,490 --> 00:58:18,260 Θα σας λέει ακριβώς τι γραμμή ήταν και τι κατάσταση απέτυχε. 1052 00:58:18,260 --> 00:58:21,910 >> Και αυτό πολύ χρήσιμο, για παράδειγμα, έλεγχος λογική, εισόδους λειτουργία. 1053 00:58:21,910 --> 00:58:25,110 Έτσι, εάν έχετε μια συνάρτηση και περιμένετε, ας πούμε, 1054 00:58:25,110 --> 00:58:29,640 αν πρέπει να μου δώσει μια ημερομηνία, θέλω οι ημερομηνίες είναι απλά ένα διάνυσμα μήκους 1 1055 00:58:29,640 --> 00:58:31,735 και κάπου μεταξύ 1 και 31. 1056 00:58:31,735 --> 00:58:34,420 1057 00:58:34,420 --> 00:58:36,170 Και αν όχι, ξέρω κάτι πήγε στραβά. 1058 00:58:36,170 --> 00:58:40,280 Και μπορώ να επιλέξω να σταματήσει εκεί πριν από αυτό έχει τυχαία αλυσιδωτές επιπτώσεις με κωδικό 1059 00:58:40,280 --> 00:58:44,190 ότι είναι πιο δύσκολο να εντοπίσει μέσα. 1060 00:58:44,190 --> 00:58:47,170 Έτσι αυτό είναι ένα δυνατό χρησιμοποιήσετε για στάση, εάν όχι. 1061 00:58:47,170 --> 00:58:48,660 >> Εν πάση περιπτώσει, εντάξει. 1062 00:58:48,660 --> 00:58:49,690 Έτσι, αυτό είναι το τέλος. 1063 00:58:49,690 --> 00:58:51,290 Σας ευχαριστώ πολύ που ήρθατε. 1064 00:58:51,290 --> 00:58:53,710 Είμαι ερασιτέχνη σε αυτό. 1065 00:58:53,710 --> 00:58:57,270 Έτσι, συγνώμη αν έχετε βαρεθεί ή σύγχυση ή ό, τι έχετε. 1066 00:58:57,270 --> 00:59:01,670 Είμαι στην ευχάριστη θέση να πάρουμε τις ερωτήσεις μέσω e-mail σε connorharris@college.harvard.edu. 1067 00:59:01,670 --> 00:59:07,230 Το ίδιο ισχύει και για όλους βλέποντας αυτό το live ή αργότερα. 1068 00:59:07,230 --> 00:59:10,190 Επίσης, αν και δεν είμαι ένα TF, είμαι επίσης πολύ 1069 00:59:10,190 --> 00:59:13,900 πρόθυμοι να χρησιμεύσει ως μια ανεπίσημη σύμβουλος για όποιον 1070 00:59:13,900 --> 00:59:15,460 χρησιμοποιώντας R σε ένα τελικό σχέδιο. 1071 00:59:15,460 --> 00:59:19,900 >> Αν θέλετε να ότι, τότε μιλάμε μόνο για TF σας 1072 00:59:19,900 --> 00:59:23,750 και στη συνέχεια να γράψει μου ένα email έτσι Ξέρω τι εργάζεστε 1073 00:59:23,750 --> 00:59:26,680 και έτσι μπορώ να δημιουργήσει συνάντηση φορές μαζί σας, αν θέλετε. 1074 00:59:26,680 --> 00:59:27,990 Έτσι και πάλι, σας ευχαριστώ πολύ. 1075 00:59:27,990 --> 00:59:28,960 Ελπίζω να σας άρεσε. 1076 00:59:28,960 --> 00:59:29,450 >> Κοινό: [δεν ακούγεται]. 1077 00:59:29,450 --> 00:59:30,617 >> CONNER HARRIS: Φυσικά. 1078 00:59:30,617 --> 00:59:34,910 >> Κοινό: Τι είδους του έργου θα χρησιμοποιήσει ένας φοιτητής CS R για; 1079 00:59:34,910 --> 00:59:37,427 1080 00:59:37,427 --> 00:59:40,510 CONNER HARRIS: Έτσι, αν δεν είστε κάνετε κάτι που είναι καθαρά στην εξόρυξη δεδομένων, 1081 00:59:40,510 --> 00:59:43,790 για παράδειγμα, και εκεί είναι πολλά πράγματα 1082 00:59:43,790 --> 00:59:46,692 θα μπορούσατε να κάνετε με αυτό με τα δεδομένα εξόρυξης και μηχανική μάθηση. 1083 00:59:46,692 --> 00:59:48,900 Μπορεί να θέλετε να χρησιμοποιήσετε για το R ένα συστατικό του κάτι. 1084 00:59:48,900 --> 00:59:52,022 Έχω μεγαλώσει, αρχικά, το παράδειγμα του αν είστε γραπτώς μια ιστοσελίδα 1085 00:59:52,022 --> 00:59:54,730 και θέλετε να εκτελέσετε την αυτοματοποιημένη στατιστική ανάλυση των server σας 1086 00:59:54,730 --> 00:59:57,990 κούτσουρα σε μια συγκεκριμένη ώρα κάθε μέρα, ότι θα μπορούσε να είναι κάτι που είναι 1087 00:59:57,990 --> 01:00:01,260 πολύ εύκολο να το κάνουμε μέσα σε μόλις μια σύντομη Ε σενάριο που μπορείτε να προγραμματίσετε 1088 01:00:01,260 --> 01:00:04,200 να τρέχει κάθε βράδυ, για παράδειγμα. 1089 01:00:04,200 --> 01:00:06,550 >> Και είμαι βέβαιος ότι, εάν υπάρχει κάποιος λόγος που θα 1090 01:00:06,550 --> 01:00:11,520 Θέλετε στατιστικές ή δυνατότητες γραφικών παραστάσεων και να έχουν αυτή την κίνηση αυτόματα αντί 1091 01:00:11,520 --> 01:00:13,790 έχουν να αλληλεπιδράσουν με τα πράγματα στο Excel, 1092 01:00:13,790 --> 01:00:16,750 Για παράδειγμα, αυτό είναι κάτι ίσως να θέλετε να χρησιμοποιήσετε για την Ε. 1093 01:00:16,750 --> 01:00:21,190 Έτσι άλλες ερωτήσεις πριν φύγω; 1094 01:00:21,190 --> 01:00:21,690 Κανένα? 1095 01:00:21,690 --> 01:00:24,960 Εντάξει, καλά, πάλι, ευχαριστώ πάρα πολύ που ήρθατε. 1096 01:00:24,960 --> 01:00:29,417