1 00:00:00,000 --> 00:00:00,750 2 00:00:00,750 --> 00:00:09,800 >> [Muzik bermain] 3 00:00:09,800 --> 00:00:13,014 4 00:00:13,014 --> 00:00:13,680 Dustin Tran: Hi. 5 00:00:13,680 --> 00:00:14,980 Dustin nama saya. 6 00:00:14,980 --> 00:00:18,419 Jadi saya akan menyampaikan Analisis Data dalam R. 7 00:00:18,419 --> 00:00:19,710 Hanya sedikit tentang diri saya. 8 00:00:19,710 --> 00:00:24,320 Saya kini seorang pelajar siswazah di Kejuruteraan dan Sains Gunaan. 9 00:00:24,320 --> 00:00:28,330 Saya belajar satu persimpangan pembelajaran mesin dan statistik 10 00:00:28,330 --> 00:00:31,375 jadi Analisis Data dalam R adalah benar-benar asas kepada apa yang 11 00:00:31,375 --> 00:00:33,790 Saya lakukan setiap hari. 12 00:00:33,790 --> 00:00:35,710 >> Dan R adalah terutamanya baik untuk analisis data 13 00:00:35,710 --> 00:00:39,310 kerana ia sangat baik untuk prototaip. 14 00:00:39,310 --> 00:00:43,590 Dan biasanya, apabila anda melakukan beberapa jenis analisis data, banyak masalah 15 00:00:43,590 --> 00:00:44,920 akan kognitif. 16 00:00:44,920 --> 00:00:48,700 Dan supaya anda hanya mahu mempunyai beberapa bahasa yang benar-benar baik 17 00:00:48,700 --> 00:00:53,770 hanya baik untuk berbuat terbina dalam fungsi, bertentangan 18 00:00:53,770 --> 00:00:57,430 untuk perlu berurusan dengan perkara tahap rendah. 19 00:00:57,430 --> 00:01:01,040 Jadi pada mulanya, saya hanya akan untuk memperkenalkan apa yang R, mengapa 20 00:01:01,040 --> 00:01:04,540 anda mahu menggunakannya, dan kemudian pergi ke dalam beberapa demo, 21 00:01:04,540 --> 00:01:07,060 dan hanya pergi dari sana. 22 00:01:07,060 --> 00:01:08,150 >> Jadi apa R? 23 00:01:08,150 --> 00:01:11,180 R hanya bahasa yang dibangunkan untuk pengkomputeran statistik 24 00:01:11,180 --> 00:01:12,450 dan visualisasi. 25 00:01:12,450 --> 00:01:16,000 Jadi apa ini bermakna bahawa ia adalah bahasa yang sangat baik 26 00:01:16,000 --> 00:01:22,400 untuk apa-apa jenis perkara yang berkaitan dengan ketidakpastian atau visualisasi data. 27 00:01:22,400 --> 00:01:24,850 Jadi, anda mempunyai semua ini taburan kebarangkalian. 28 00:01:24,850 --> 00:01:27,140 Terdapat akan menjadi terbina dalam fungsi. 29 00:01:27,140 --> 00:01:31,650 Anda juga akan mempunyai yang sangat baik merancang pakej. 30 00:01:31,650 --> 00:01:34,110 >> Python adalah satu lagi bersaing bahasa untuk data. 31 00:01:34,110 --> 00:01:40,020 Dan satu perkara yang saya mendapati bahawa R adalah lebih baik di adalah visualisasi. 32 00:01:40,020 --> 00:01:45,200 Jadi apa yang boleh dilihat dalam demo sebagai dan hanya bahasa yang sangat intuitif 33 00:01:45,200 --> 00:01:48,050 yang hanya bekerja dengan sangat baik. 34 00:01:48,050 --> 00:01:53,140 Ia juga adalah percuma dan sumber terbuka, sebagai adalah apa-apa bahasa lain baik saya rasa. 35 00:01:53,140 --> 00:01:55,440 >> Dan di sini, sekumpulan hanya kata kunci dilemparkan pada anda. 36 00:01:55,440 --> 00:02:00,450 Ia adalah dinamik, yang bermaksud jika anda mempunyai jenis khusus yang diberikan kepada objek 37 00:02:00,450 --> 00:02:02,025 daripada ia hanya akan mengubahnya dengan cepat. 38 00:02:02,025 --> 00:02:05,670 Ia malas jadi pintar mengenai bagaimana ia pengiraan. 39 00:02:05,670 --> 00:02:12,250 Fungsi bererti ia benar-benar boleh beroperasi berdasarkan kira fungsi yang sesuatupun 40 00:02:12,250 --> 00:02:16,910 apa-apa jenis manipulasi anda lakukan, ia akan berdasarkan off fungsi. 41 00:02:16,910 --> 00:02:20,162 >> Pengendali Jadi binari, sebagai contoh, adalah fungsi hanya asasnya. 42 00:02:20,162 --> 00:02:21,870 Dan segala sesuatu yang anda akan lakukan adalah 43 00:02:21,870 --> 00:02:24,690 akan menghentikan fungsi sendiri. 44 00:02:24,690 --> 00:02:27,140 Dan kemudian objek berorientasikan juga. 45 00:02:27,140 --> 00:02:30,930 >> Jadi di sini adalah satu plot XKCD. 46 00:02:30,930 --> 00:02:34,350 Bukan sahaja kerana saya rasa seperti XKCD adalah asas kepada apa-apa sahaja 47 00:02:34,350 --> 00:02:37,770 persembahan, tetapi kerana Saya rasa seperti ini benar-benar 48 00:02:37,770 --> 00:02:42,160 Hammers titik yang banyak yang masa apabila anda melakukan beberapa jenis data 49 00:02:42,160 --> 00:02:46,570 analisis, masalah ini tidak begitu banyak berapa cepat ia berjalan, 50 00:02:46,570 --> 00:02:49,850 tetapi berapa lama ia akan membawa anda ke program tugas. 51 00:02:49,850 --> 00:02:54,112 Jadi di sini hanya untuk menganalisis sama ada strategi atau b adalah lebih berkesan. 52 00:02:54,112 --> 00:02:55,820 Ini akan menjadi sesuatu yang anda 53 00:02:55,820 --> 00:02:58,290 akan berurusan dengan banyak dalam semacam bahasa tahap rendah 54 00:02:58,290 --> 00:03:03,440 di mana anda berurusan dengan kesalahan seg, peruntukan memori, initializations, 55 00:03:03,440 --> 00:03:05,270 bahkan fungsi terbina dalam. 56 00:03:05,270 --> 00:03:09,920 Dan hal ini semua dikendalikan sangat, sangat elegan di R. 57 00:03:09,920 --> 00:03:12,839 >> Jadi, tukul ini mata, kesesakan terbesar 58 00:03:12,839 --> 00:03:13,880 akan menjadi kognitif. 59 00:03:13,880 --> 00:03:17,341 Jadi analisis data adalah masalah yang sukar. 60 00:03:17,341 --> 00:03:19,340 Sama ada anda lakukan pembelajaran mesin atau anda 61 00:03:19,340 --> 00:03:22,550 melakukan hanya beberapa jenis penerokaan data asas, 62 00:03:22,550 --> 00:03:25,290 anda tidak mahu mempunyai mengambil dokumen yang 63 00:03:25,290 --> 00:03:27,440 dan kemudian menyusun sesuatu setiap kali anda 64 00:03:27,440 --> 00:03:31,010 mahu melihat apa ruang yang kelihatan seperti, apa entri tertentu dalam matriks 65 00:03:31,010 --> 00:03:32,195 kelihatan seperti. 66 00:03:32,195 --> 00:03:34,320 Jadi anda hanya mahu mempunyai beberapa antara muka bagus 67 00:03:34,320 --> 00:03:37,740 anda boleh menjalankan fungsi yang mudah bahawa indeks untuk apa sahaja 68 00:03:37,740 --> 00:03:41,870 anda ingin dan hanya berjalan dari sana. 69 00:03:41,870 --> 00:03:44,190 Dan anda memerlukan domain bahasa tertentu untuk ini. 70 00:03:44,190 --> 00:03:51,750 Dan R benar-benar akan membantu anda menentukan masalah dan menyelesaikannya dengan cara ini. 71 00:03:51,750 --> 00:03:58,690 >> Jadi di sini adalah menunjukkan pengaturcaraan plot Populariti R kerana ia hilang dari masa ke masa. 72 00:03:58,690 --> 00:04:04,060 Jadi seperti yang anda lihat, seperti 2013 atau jadi ia hanya diletupkan dengan hebat. 73 00:04:04,060 --> 00:04:09,570 Dan ini telah hanya kerana yang trend besar dalam industri teknologi 74 00:04:09,570 --> 00:04:10,590 data mengenai besar. 75 00:04:10,590 --> 00:04:13,010 Juga, tidak hanya teknologi industri, tetapi benar-benar 76 00:04:13,010 --> 00:04:16,490 mana-mana industri kerana bahawa- banyak industri 77 00:04:16,490 --> 00:04:20,589 adalah jenis asas kepada cuba untuk menyelesaikan masalah-masalah ini. 78 00:04:20,589 --> 00:04:24,590 Dan biasanya, anda boleh mempunyai beberapa baik cara mengukur masalah-masalah ini 79 00:04:24,590 --> 00:04:29,720 atau mentakrifkan mereka atau menyelesaikannya menggunakan data. 80 00:04:29,720 --> 00:04:35,430 Jadi saya fikir sekarang adalah R-11 bahasa yang paling popular di TIOBE 81 00:04:35,430 --> 00:04:38,200 dan ia telah berkembang sejak itu. 82 00:04:38,200 --> 00:04:40,740 83 00:04:40,740 --> 00:04:43,080 >> Jadi di sini adalah beberapa lebih ciri-ciri R. Ia mempunyai 84 00:04:43,080 --> 00:04:46,900 bilangan besar pakej dan untuk semua perkara ini berbeza. 85 00:04:46,900 --> 00:04:52,470 Jadi bila-bila masa anda mempunyai masalah tertentu, yang paling 86 00:04:52,470 --> 00:04:55,060 masa yang akan mempunyai R fungsi berkenaan untuk anda. 87 00:04:55,060 --> 00:04:58,520 Jadi sama ada anda mahu membina beberapa jenis mesin 88 00:04:58,520 --> 00:05:02,770 algoritma pembelajaran yang dikenali sebagai Rawak Hutan atau Pokok Keputusan, 89 00:05:02,770 --> 00:05:07,530 atau cuba untuk mengambil min fungsi atau mana-mana barangan ini, 90 00:05:07,530 --> 00:05:10,000 R akan mempunyai bahawa. 91 00:05:10,000 --> 00:05:14,190 >> Dan jika kamu berbuat yang anda mahu ketahui pengoptimuman, satu perkara yang umum 92 00:05:14,190 --> 00:05:17,430 adalah bahawa selepas anda selesai prototaip semacam bahasa peringkat tinggi, 93 00:05:17,430 --> 00:05:19,810 anda akan campakkanlah dalam- anda hanya akan pelabuhan yang lebih 94 00:05:19,810 --> 00:05:21,550 kepada beberapa bahasa tahap rendah. 95 00:05:21,550 --> 00:05:26,090 Apa yang baik tentang R ialah sebaik sahaja anda dilakukan prototaip itu, anda boleh menjalankan C ++, 96 00:05:26,090 --> 00:05:29,510 atau Fortran, atau mana-mana senjata yang lebih rendah terus ke dalam R. 97 00:05:29,510 --> 00:05:32,320 Jadi itulah satu benar-benar ciri sejuk tentang R, 98 00:05:32,320 --> 00:05:35,930 jika anda benar-benar mengambil berat tentang titik pengoptimuman. 99 00:05:35,930 --> 00:05:39,490 >> Dan ia juga benar-benar baik untuk visualisasi web. 100 00:05:39,490 --> 00:05:43,530 Jadi D3.js, sebagai contoh, adalah Saya rasa seminar lain 101 00:05:43,530 --> 00:05:45,130 bahawa kita yang dibentangkan hari ini. 102 00:05:45,130 --> 00:05:48,510 Dan ini adalah benar-benar hebat untuk melakukan visualisasi interaktif. 103 00:05:48,510 --> 00:05:54,460 Dan D3.js menganggap bahawa anda mempunyai beberapa jenis data yang akan diplotkan 104 00:05:54,460 --> 00:05:58,080 dan R adalah cara yang baik untuk dapat melakukan analisis data sebelum anda mengeksportnya 105 00:05:58,080 --> 00:06:04,220 kepada D3.js atau bahkan hanya menjalankan D3.js arahan ke R sendiri, 106 00:06:04,220 --> 00:06:08,240 dan juga semua perpustakaan yang lain. 107 00:06:08,240 --> 00:06:13,041 >> Supaya hanya pengenalan apa yang R dan mengapa anda mungkin menggunakannya. 108 00:06:13,041 --> 00:06:14,790 Jadi mudah-mudahan, saya telah yakin anda sesuatu 109 00:06:14,790 --> 00:06:18,460 kira-kira hanya cuba untuk melihat bagaimana rasanya. 110 00:06:18,460 --> 00:06:23,930 Jadi, saya akan pergi ke depan dan melalui beberapa asas-asas mengenai objek R 111 00:06:23,930 --> 00:06:26,150 dan apa yang anda benar-benar boleh buat. 112 00:06:26,150 --> 00:06:29,690 >> Jadi di sini adalah hanya sekumpulan arahan matematik. 113 00:06:29,690 --> 00:06:35,000 Jadi kata you're-- anda mahu membina bahasa sendiri dan anda hanya mahu 114 00:06:35,000 --> 00:06:38,080 mempunyai sekumpulan alat yang berbeza. 115 00:06:38,080 --> 00:06:42,520 Mana-mana jenis operasi anda rasa anda akan mahu adalah cukup banyak akan menjadi di R. 116 00:06:42,520 --> 00:06:44,150 >> Jadi di sini adalah 2 plus 2. 117 00:06:44,150 --> 00:06:46,090 Berikut adalah 2 kali pi. 118 00:06:46,090 --> 00:06:51,870 R mempunyai sekumpulan pemalar terbina dalam yang anda sering akan menggunakan seperti pi, e. 119 00:06:51,870 --> 00:06:56,230 >> Dan kemudian, di sini adalah 7 ditambah runif, jadi runif 1. 120 00:06:56,230 --> 00:07:02,450 Ini adalah satu fungsi itu menjana satu seragam rawak 0-1. 121 00:07:02,450 --> 00:07:04,400 Dan kemudian ada 3 hingga kuasa 4. 122 00:07:04,400 --> 00:07:06,430 Ada punca kuasa dua. 123 00:07:06,430 --> 00:07:07,270 >> Ada log. 124 00:07:07,270 --> 00:07:14,500 Jadi log akan melakukan asas eksponen dengan sendirinya. 125 00:07:14,500 --> 00:07:18,337 Dan kemudian, jika anda menetapkan asas, maka anda boleh melakukan apa sahaja yang anda mahu asas. 126 00:07:18,337 --> 00:07:19,920 Dan maka di sini adalah beberapa arahan lain. 127 00:07:19,920 --> 00:07:22,180 Jadi, anda mempunyai 23 mod 2. 128 00:07:22,180 --> 00:07:24,910 Kemudian anda mempunyai bakinya. 129 00:07:24,910 --> 00:07:27,110 Kemudian anda mempunyai saintifik notasi jika anda juga 130 00:07:27,110 --> 00:07:34,060 ingin berbuat lebih banyak dan perkara yang lebih rumit. 131 00:07:34,060 --> 00:07:37,320 >> Jadi di sini adalah tugasan. 132 00:07:37,320 --> 00:07:40,830 Jadi tugasan biasa dalam R dilakukan dengan panah 133 00:07:40,830 --> 00:07:43,440 jadi ia kurang daripada dan kemudian tanda sempang. 134 00:07:43,440 --> 00:07:47,250 Jadi di sini saya hanya memberikan 3 hingga Val yang berubah-ubah. 135 00:07:47,250 --> 00:07:50,160 >> Dan kemudian saya mencetak keluar Val dan kemudian ia akan paparkan nombor tiga. 136 00:07:50,160 --> 00:07:53,920 Secara lalai dalam R juru bahasa, ia akan mencetak perkara untuk anda 137 00:07:53,920 --> 00:07:57,280 supaya anda tidak perlu nyatakan mencetak Val yang bila-bila masa anda mahu mencetak sesuatu. 138 00:07:57,280 --> 00:08:00,200 Anda hanya boleh melakukan Val dan maka ia akan melakukannya untuk anda. 139 00:08:00,200 --> 00:08:04,380 >> Juga, anda boleh menggunakan bersamaan teknikal sebagai pengendali tugasan. 140 00:08:04,380 --> 00:08:07,190 Terdapat sedikit perihal tersirat antara menggunakan anak panah 141 00:08:07,190 --> 00:08:10,730 pengendali dan sama setaraf pengendali untuk tugasan. 142 00:08:10,730 --> 00:08:15,470 Kebanyakannya oleh konvensyen, semua orang hanya akan menggunakan anak panah pengendali. 143 00:08:15,470 --> 00:08:21,850 >> Dan di sini, saya memberikan ini notasi serong dipanggil 1 kolon 6. 144 00:08:21,850 --> 00:08:26,010 Ini menjana vektor 1-6. 145 00:08:26,010 --> 00:08:29,350 Dan ini benar-benar baik kerana kemudian anda hanya menetapkan vektor untuk Val 146 00:08:29,350 --> 00:08:34,270 dan yang berfungsi dengan sendirinya. 147 00:08:34,270 --> 00:08:37,799 >> Jadi ini sudah pergi dari satu single-- data sangat intuitif 148 00:08:37,799 --> 00:08:41,070 struktur hanya dua kali ganda beberapa jenis jenis ke dalam vektor 149 00:08:41,070 --> 00:08:45,670 dan yang akan mengumpul semua nilai skalar untuk anda. 150 00:08:45,670 --> 00:08:50,770 Jadi, selepas pergi dari skalar, anda mempunyai objek R dan ini adalah vektor. 151 00:08:50,770 --> 00:08:55,610 Vektor A adalah sebarang bentuk kutipan daripada jenis yang sama. 152 00:08:55,610 --> 00:08:58,150 Jadi di sini adalah sekumpulan vektor. 153 00:08:58,150 --> 00:08:59,800 >> Jadi ini adalah nombor. 154 00:08:59,800 --> 00:09:02,440 Angka adalah cara R ini berkata dua. 155 00:09:02,440 --> 00:09:07,390 Dan sebagainya secara lalai, apa-apa jumlah akan menjadi dua kali ganda. 156 00:09:07,390 --> 00:09:13,150 >> Jadi jika anda mempunyai c 1.1, 3, negatif 5.7, c ialah suatu fungsi. 157 00:09:13,150 --> 00:09:16,760 Ini concatenates ketiga-tiga nombor ke dalam vektor. 158 00:09:16,760 --> 00:09:19,619 Dan ini akan jadi jika adalah-- anda perasan 3 dengan sendirinya, 159 00:09:19,619 --> 00:09:21,910 biasanya anda akan menganggap bahawa ini adalah seperti integer, 160 00:09:21,910 --> 00:09:25,050 tetapi kerana semua vektor adalah jenis yang sama, 161 00:09:25,050 --> 00:09:28,660 ini adalah vektor beregu atau angka dalam kes ini. 162 00:09:28,660 --> 00:09:34,920 >> rnorm adalah fungsi yang menjana variables-- normal piawai 163 00:09:34,920 --> 00:09:36,700 atau nilai-nilai normal piawai. 164 00:09:36,700 --> 00:09:38,360 Dan saya menyatakan dua daripada mereka. 165 00:09:38,360 --> 00:09:43,840 Jadi saya lakukan rnorm 2, memberi bahawa untuk devs, dan kemudian saya mencetak keluar devs. 166 00:09:43,840 --> 00:09:47,350 Jadi ini adalah hanya dua nilai normal rawak. 167 00:09:47,350 --> 00:09:50,060 >> Dan kemudian ints jika anda lakukan anda mengambil berat tentang integer. 168 00:09:50,060 --> 00:09:54,650 Jadi ini adalah hanya kira-kira memori peruntukan dan menjimatkan saiz memori. 169 00:09:54,650 --> 00:10:01,460 Jadi, anda perlu menambah nombor anda oleh L. modal 170 00:10:01,460 --> 00:10:04,170 >> Secara umum, ini adalah Notasi bersejarah R 171 00:10:04,170 --> 00:10:06,940 untuk sesuatu yang dipanggil integer panjang. 172 00:10:06,940 --> 00:10:09,880 Jadi kebanyakan masa, anda akan menjadi berurusan dengan beregu. 173 00:10:09,880 --> 00:10:15,180 Dan jika anda pernah akan kemudian pada mengoptimumkan kod anda, 174 00:10:15,180 --> 00:10:18,110 anda hanya boleh menambah ini L's selepas itu atau semasa ia 175 00:10:18,110 --> 00:10:22,280 jika anda seperti precognitive tentang apa yang anda akan melakukan pemboleh ubah ini. 176 00:10:22,280 --> 00:10:25,340 177 00:10:25,340 --> 00:10:26,890 >> Jadi di sini adalah satu vektor watak. 178 00:10:26,890 --> 00:10:31,440 Jadi, sekali lagi, saya concatenating tiga rentetan masa ini. 179 00:10:31,440 --> 00:10:36,230 Perhatikan bahawa tali dua dan rentetan tunggal adalah sama di R. 180 00:10:36,230 --> 00:10:41,000 Jadi saya mempunyai arthur dan ini Marvin dan sebagainya apabila saya mencetak keluar, semua daripada mereka 181 00:10:41,000 --> 00:10:43,210 akan menunjukkan tali double. 182 00:10:43,210 --> 00:10:45,880 Dan jika anda juga ingin memasukkan tali double atau single 183 00:10:45,880 --> 00:10:50,070 dalam watak-watak anda, maka anda boleh sama ada ganti tali anda. 184 00:10:50,070 --> 00:10:53,540 >> Jadi ini Marvin untuk Elemen kedua, ini adalah 185 00:10:53,540 --> 00:10:56,380 akan show-- anda hanya mempunyai dua tali 186 00:10:56,380 --> 00:10:59,050 dan kemudian rentetan tunggal jadi ini adalah seli. 187 00:10:59,050 --> 00:11:04,040 Jika tidak, jika anda mahu menggunakan dua rentetan pengendali dalam dua tali 188 00:11:04,040 --> 00:11:07,090 apabila anda mengisytiharkan ia, kemudian anda hanya menggunakan operator melarikan diri. 189 00:11:07,090 --> 00:11:10,600 Jadi anda lakukan garis sendeng terbalik tali double. 190 00:11:10,600 --> 00:11:13,330 >> Dan akhirnya, kita juga mempunyai vektor logik. 191 00:11:13,330 --> 00:11:15,890 Jadi logical-- jadi BENAR dan PALSU, dan mereka 192 00:11:15,890 --> 00:11:18,880 akan menjadi semua huruf besar. 193 00:11:18,880 --> 00:11:22,370 Dan kemudian, sekali lagi, saya concatenating mereka dan kemudian memberi mereka bools. 194 00:11:22,370 --> 00:11:24,590 Jadi bools akan menunjukkan anda BENAR, PALSU dan BENAR. 195 00:11:24,590 --> 00:11:28,280 196 00:11:28,280 --> 00:11:31,620 >> Jadi di sini adalah pengindeksan vectorized. 197 00:11:31,620 --> 00:11:34,870 Jadi pada mulanya, saya sedang mengambil function-- yang 198 00:11:34,870 --> 00:11:39,230 ini dipanggil sequence-- yang urutan dari 2 hingga 12. 199 00:11:39,230 --> 00:11:42,490 Dan saya mengambil urutan dengan 2. 200 00:11:42,490 --> 00:11:46,660 Jadi ia akan berbuat 2, 4, 6, 8, 10 dan 12. 201 00:11:46,660 --> 00:11:50,080 Dan kemudian, saya pengindeksan untuk mendapatkan elemen yang ketiga. 202 00:11:50,080 --> 00:11:55,770 >> Jadi satu perkara yang perlu diingat adalah bahawa R indeks dengan memulakan dari 1. 203 00:11:55,770 --> 00:12:00,550 Jadi Vals, Ariège 3 akan memberikan anda elemen yang ketiga. 204 00:12:00,550 --> 00:12:04,580 Ini adalah jenis yang berbeza dari yang lain bahasa di mana ia bermula dari sifar. 205 00:12:04,580 --> 00:12:09,780 Jadi, dalam C atau C ++, sebagai contoh, anda akan mendapatkan elemen keempat. 206 00:12:09,780 --> 00:12:13,280 >> Dan di sini adalah Vals, Ariège 3-5. 207 00:12:13,280 --> 00:12:16,030 Jadi satu perkara itu benar-benar sejuk adalah bahawa anda 208 00:12:16,030 --> 00:12:20,410 boleh menjana pembolehubah sementara dalam dan kemudian hanya menggunakannya dengan cepat. 209 00:12:20,410 --> 00:12:21,960 Jadi di sini adalah 3 hingga 5. 210 00:12:21,960 --> 00:12:25,070 Jadi, saya menjana vektor 3, 4, dan 5 dan kemudian 211 00:12:25,070 --> 00:12:29,700 Saya mengindeks untuk mendapatkan ketiga, keempat, dan kelima unsur-unsur. 212 00:12:29,700 --> 00:12:32,280 >> Oleh itu juga, anda boleh abstrak ini kepada hanya melakukan 213 00:12:32,280 --> 00:12:35,280 apa-apa jenis vektor yang memberikan anda pengindeksan. 214 00:12:35,280 --> 00:12:40,050 Jadi di sini adalah Vals, Ariège dan kemudian unsur-unsur pertama, ketiga, dan keenam. 215 00:12:40,050 --> 00:12:42,800 Dan kemudian, jika anda mahu untuk melakukan pelengkap, 216 00:12:42,800 --> 00:12:45,210 jadi anda hanya melakukan tolak selepas itu dan yang akan 217 00:12:45,210 --> 00:12:48,600 memberikan anda semua itu bukan pertama, ketiga, atau unsur keenam. 218 00:12:48,600 --> 00:12:51,590 Jadi ini akan menjadi 4, 8, dan 10. 219 00:12:51,590 --> 00:12:54,380 >> Dan jika anda mahu untuk mendapatkan lebih maju, 220 00:12:54,380 --> 00:12:57,610 anda boleh menyatukan vektor Boolean. 221 00:12:57,610 --> 00:13:05,210 Jadi indeks ini akan memberikan anda vektor ini Boolean panjang 6. 222 00:13:05,210 --> 00:13:07,280 Jadi rep koma BENAR 3. 223 00:13:07,280 --> 00:13:09,680 Ini akan berulang BENAR tiga kali. 224 00:13:09,680 --> 00:13:12,900 Jadi ini akan memberikan anda vektor BENAR, BETUL, BETUL. 225 00:13:12,900 --> 00:13:17,470 >> rep PALSU 4-- ini akan memberikan anda vektor daripada SALAH, SALAH, SALAH, SALAH. 226 00:13:17,470 --> 00:13:21,280 Dan kemudian c akan menyatukan kedua-dua Booleans bersama-sama. 227 00:13:21,280 --> 00:13:24,090 Jadi anda akan mendapat tiga TRUEs dan kemudian empat FALSEs. 228 00:13:24,090 --> 00:13:28,460 >> Supaya apabila anda Vals, Ariège indeks, anda akan mendapatkan BENAR, BETUL, BETUL. 229 00:13:28,460 --> 00:13:31,420 Jadi perkara yang berlaku untuk mengatakan ya, Aku ingin supaya mereka tiga elemen. 230 00:13:31,420 --> 00:13:33,520 Dan kemudian SALAH, SALAH, SALAH, SALAH akan 231 00:13:33,520 --> 00:13:37,140 untuk mengatakan tidak, saya tidak mahu unsur-unsur jadi ia tidak akan kembali kepada mereka. 232 00:13:37,140 --> 00:13:41,490 >> Dan saya rasa ada sebenarnya kesilapan menaip di sini kerana ini mengatakan berulang BENAR 3 233 00:13:41,490 --> 00:13:47,990 dan mengulangi PALSU 4, dan dari segi teknikal, anda hanya mempunyai enam elemen supaya mengulangi SALAH, 234 00:13:47,990 --> 00:13:50,470 ia harus PALSU 3 ulangan. 235 00:13:50,470 --> 00:13:55,260 Saya rasa R juga cukup seperti pintar bahawa jika anda hanya nyatakan 4 di sini, kemudian 236 00:13:55,260 --> 00:13:56,630 ia tidak akan keluar walaupun kesilapan. 237 00:13:56,630 --> 00:13:58,480 Ia hanya akan memberikan anda nilai ini. 238 00:13:58,480 --> 00:14:00,970 Oleh itu, ia hanya akan mengabaikan yang SALAH keempat. 239 00:14:00,970 --> 00:14:05,310 240 00:14:05,310 --> 00:14:09,270 >> Jadi di sini adalah tugasan vectorized. 241 00:14:09,270 --> 00:14:15,480 Jadi set.seed-- ini hanya menetapkan benih untuk nombor separa. 242 00:14:15,480 --> 00:14:20,110 Jadi, saya menetapkan benih untuk 42, yang bermaksud bahawa jika saya menjana 243 00:14:20,110 --> 00:14:22,950 tiga rawak normal nilai, dan kemudian jika anda 244 00:14:22,950 --> 00:14:27,400 membuka warung set.seed sendiri komputer menggunakan nilai sama 42, 245 00:14:27,400 --> 00:14:30,990 maka anda juga mendapatkan sama tiga normal rawak. 246 00:14:30,990 --> 00:14:33,411 >> Jadi ini adalah benar-benar baik untuk kebolehulangan. 247 00:14:33,411 --> 00:14:35,910 Biasanya, apabila anda melakukan beberapa jenis analisis saintifik, 248 00:14:35,910 --> 00:14:37,230 anda akan mahu untuk menetapkan benih. 249 00:14:37,230 --> 00:14:41,270 Dengan cara itu ahli-ahli sains yang lain boleh hanya menghasilkan semula kod yang tepat sama anda telah 250 00:14:41,270 --> 00:14:44,790 dilakukan kerana mereka akan mempunyai yang tepat pembolehubah rawak sama bahawa- atau rawak 251 00:14:44,790 --> 00:14:47,270 nilai-nilai yang anda telah dibawa keluar juga. 252 00:14:47,270 --> 00:14:49,870 253 00:14:49,870 --> 00:14:53,910 >> Dan supaya tugasan vectorized di sini adalah menunjukkan Vals, Ariège 1-2. 254 00:14:53,910 --> 00:14:59,290 Jadi ia mengambil masa dua elemen pertama daripada Vals, Ariège dan kemudian menyerahkan mereka kepada 0. 255 00:14:59,290 --> 00:15:03,940 Dan kemudian, anda juga boleh hanya melakukan perkara yang Perkara yang sama dengan Booleans. 256 00:15:03,940 --> 00:15:09,340 >> Jadi Vals, Ariège tidak sama dengan 0-- kemahuan ini memberi anda PALSU vektor, SALAH, BENAR 257 00:15:09,340 --> 00:15:10,350 dalam kes ini. 258 00:15:10,350 --> 00:15:13,770 Dan kemudian, ia akan berkata apa-apa dari orang-orang yang indeks adalah BENAR, 259 00:15:13,770 --> 00:15:15,270 maka ia akan memberikan yang hingga 5. 260 00:15:15,270 --> 00:15:18,790 Jadi ia mengambil elemen yang ketiga di sini dan kemudian menyerahkan kepada 5. 261 00:15:18,790 --> 00:15:22,300 >> Dan ini adalah benar-benar bagus berbanding dengan bahasa-tahap rendah 262 00:15:22,300 --> 00:15:25,560 di mana anda perlu menggunakan untuk gelung untuk melakukan semua barangan ini vectorized 263 00:15:25,560 --> 00:15:30,281 kerana ia hanya sangat intuitif dan ia adalah satu-satu kapal. 264 00:15:30,281 --> 00:15:32,030 Dan apa yang kira-kira yang besar notasi vectorized 265 00:15:32,030 --> 00:15:37,020 ialah di R, ini adalah semacam terbina dalam supaya mereka tinggi dengan cepat 266 00:15:37,020 --> 00:15:42,490 sebagai melakukan dalam bahasa-paras serendah bertentangan dengan membuat untuk gelung dalam R 267 00:15:42,490 --> 00:15:46,317 dan kemudian mempunyai untuk melakukan pengindeksan dinamik sendiri. 268 00:15:46,317 --> 00:15:48,900 Dan itu akan menjadi lebih perlahan daripada melakukan perkara seperti ini vectorized 269 00:15:48,900 --> 00:15:55,950 di mana ia boleh melakukannya dalam masa yang sama, di mana ia melakukannya dalam threading pada dasarnya. 270 00:15:55,950 --> 00:15:58,650 >> Jadi di sini adalah vectorized operasi. 271 00:15:58,650 --> 00:16:04,920 Jadi, saya menjana nilai 1 hingga 3, memberikan yang untuk vec1, 3-5, vec2, 272 00:16:04,920 --> 00:16:05,950 menambah mereka bersama-sama. 273 00:16:05,950 --> 00:16:11,490 Ia menambah mereka komponen-bijak supaya itu 1 plus 3, 2 ditambah 4, dan sebagainya. 274 00:16:11,490 --> 00:16:13,330 >> vec1 kali vec2. 275 00:16:13,330 --> 00:16:16,110 Ini mendarab kedua-dua menghargai komponen bijak. 276 00:16:16,110 --> 00:16:21,830 Jadi ia 1 kali 3, 2 kali 4, dan kemudian 3 kali 5. 277 00:16:21,830 --> 00:16:28,250 >> Dan kemudian, juga anda boleh juga melakukan comparisons-- perbandingan logik. 278 00:16:28,250 --> 00:16:33,640 Jadi, SALAH SALAH BETUL dalam ini kes kerana 1 tidak lebih besar daripada 3, 279 00:16:33,640 --> 00:16:35,920 2 tidak lebih besar daripada 4. 280 00:16:35,920 --> 00:16:41,160 Ini, saya rasa, kesilapan menaip yang lain, 3 pasti tidak lebih daripada 5. 281 00:16:41,160 --> 00:16:41,660 Yeah. 282 00:16:41,660 --> 00:16:45,770 Dan jadi anda hanya boleh melakukan semua ini operasi mudah 283 00:16:45,770 --> 00:16:48,350 kerana mereka mewarisi dari kelas sendiri. 284 00:16:48,350 --> 00:16:51,110 285 00:16:51,110 --> 00:16:52,580 >> Supaya hanya vektor. 286 00:16:52,580 --> 00:16:56,530 Dan itulah jenis yang paling asas R objek kerana diberi vektor, 287 00:16:56,530 --> 00:16:59,170 anda boleh membina objek yang lebih maju. 288 00:16:59,170 --> 00:17:00,560 >> Jadi di sini adalah matriks. 289 00:17:00,560 --> 00:17:05,030 Ini pada dasarnya adalah pengekstrakan apa matriks itu sendiri. 290 00:17:05,030 --> 00:17:10,099 Jadi dalam kes ini, ia adalah tiga berbeza vektor, di mana setiap satu adalah tiang, 291 00:17:10,099 --> 00:17:12,710 atau anda boleh menganggapnya kerana setiap satu adalah berturut-turut. 292 00:17:12,710 --> 00:17:18,250 >> Jadi, saya menyimpan matriks dari 1 hingga 9 dan kemudian saya menyatakan 3 baris. 293 00:17:18,250 --> 00:17:23,364 Jadi 1 hingga 9 akan memberi anda vektor 1, 2, 3, 4, 5, 6, dan semua jalan ke 9. 294 00:17:23,364 --> 00:17:29,250 >> Satu perkara yang perlu juga diingat adalah bahawa R kedai menghargai dalam format ruangan-utama. 295 00:17:29,250 --> 00:17:34,160 Jadi dalam erti kata lain, apabila anda melihat 1 hingga 9, ia akan menyimpan them-- 296 00:17:34,160 --> 00:17:36,370 ia akan menjadi 1, 2, 3 dalam ruang pertama, 297 00:17:36,370 --> 00:17:38,510 dan kemudian ia akan melakukan 4, 5, 6 dalam ruang kedua, 298 00:17:38,510 --> 00:17:41,440 dan kemudian 7, 8, 9 dalam ruang ketiga. 299 00:17:41,440 --> 00:17:45,570 >> Dan berikut adalah beberapa lain fungsi yang sama yang anda boleh menggunakan. 300 00:17:45,570 --> 00:17:49,650 Jadi mat malap, ini akan memberikan anda dimensi matriks. 301 00:17:49,650 --> 00:17:52,620 Ia akan mengembalikan kamu vektor dimensi. 302 00:17:52,620 --> 00:17:55,580 Jadi dalam kes ini, kerana matriks kita adalah 3 oleh 3, 303 00:17:55,580 --> 00:18:01,900 ia akan memberikan anda vektor angka itu 3 3. 304 00:18:01,900 --> 00:18:05,270 >> Dan di sini hanya untuk menunjukkan pendaraban matriks. 305 00:18:05,270 --> 00:18:11,970 Jadi biasanya, jika anda hanya melakukan asterisk-- jadi mat asterisk mat-- 306 00:18:11,970 --> 00:18:15,380 ini akan menjadi operasi komponen-bijak 307 00:18:15,380 --> 00:18:17,300 atau apa yang dipanggil produk Hadamard itu. 308 00:18:17,300 --> 00:18:21,310 Jadi ia akan melakukan setiap elemen komponen-bijak. 309 00:18:21,310 --> 00:18:23,610 Walau bagaimanapun, jika anda mahu matriks multiplication-- 310 00:18:23,610 --> 00:18:29,380 jadi mendarabkan kali baris pertama Lajur pertama matriks kedua ini 311 00:18:29,380 --> 00:18:34,510 dan sebagainya on-- anda akan menggunakan ini operasi peratus. 312 00:18:34,510 --> 00:18:38,110 >> Dan t tikar hanyalah beroperasi alihan. 313 00:18:38,110 --> 00:18:42,590 Jadi, saya berkata mengambil alihan dalam matriks, kalikan dengan matriks 314 00:18:42,590 --> 00:18:43,090 sendiri. 315 00:18:43,090 --> 00:18:45,006 Dan kemudian ia akan kembali kepada anda 3 lain 316 00:18:45,006 --> 00:18:50,700 oleh 3 menunjukkan matriks produk yang anda akan mahu. 317 00:18:50,700 --> 00:18:53,750 >> Dan sehingga adalah matriks. 318 00:18:53,750 --> 00:18:56,020 Berikut adalah apa yang dipanggil bingkai data. 319 00:18:56,020 --> 00:19:00,780 Bingkai data yang boleh anda fikirkan sebagai matriks, tetapi setiap lajur sendiri 320 00:19:00,780 --> 00:19:02,990 akan menjadi jenis yang berbeza. 321 00:19:02,990 --> 00:19:07,320 >> Jadi apa yang benar-benar sejuk tentang data bingkai adalah bahawa dalam analisis data sendiri, 322 00:19:07,320 --> 00:19:11,260 anda akan mempunyai semua ini data heterogen dan semua ini benar-benar 323 00:19:11,260 --> 00:19:15,640 perkara yang tidak kemas di mana setiap satu daripada tiang mereka boleh menjadi jenis yang berbeza. 324 00:19:15,640 --> 00:19:21,460 Jadi di sini saya katakan mewujudkan bingkai data, melakukan ints 1 hingga 3, 325 00:19:21,460 --> 00:19:24,750 dan kemudian juga mempunyai vektor watak. 326 00:19:24,750 --> 00:19:28,470 Jadi saya boleh indeks melalui setiap ruangan ini 327 00:19:28,470 --> 00:19:30,930 dan kemudian saya akan mendapatkan nilai diri mereka. 328 00:19:30,930 --> 00:19:34,370 Dan anda juga boleh melakukan beberapa jenis operasi pada bingkai data. 329 00:19:34,370 --> 00:19:38,040 Dan kebanyakan masa apabila anda melakukan analisis data atau semacam 330 00:19:38,040 --> 00:19:42,042 pra pemproses, anda boleh bekerja dengan ini struktur data 331 00:19:42,042 --> 00:19:44,250 di mana setiap lajur akan menjadi jenis yang berbeza. 332 00:19:44,250 --> 00:19:47,880 333 00:19:47,880 --> 00:19:52,970 >> Akhir sekali, jadi ini adalah pada dasarnya hanya empat objek penting dalam Senarai R. 334 00:19:52,970 --> 00:19:55,820 hanya akan mengutip apa-apa objek lain yang anda mahu. 335 00:19:55,820 --> 00:20:00,130 Jadi ia akan menyimpan ini ke dalam satu pembolehubah yang anda boleh dengan mudah mengakses. 336 00:20:00,130 --> 00:20:02,370 >> Jadi di sini, saya mengambil senarai. 337 00:20:02,370 --> 00:20:04,460 Saya katakan barangan bersamaan 3. 338 00:20:04,460 --> 00:20:08,060 Jadi saya akan mempunyai satu elemen dalam senarai, dan ini dipanggil barangan, 339 00:20:08,060 --> 00:20:10,570 dan ia akan mempunyai nilai 3. 340 00:20:10,570 --> 00:20:13,140 >> Saya juga boleh membuat matriks. 341 00:20:13,140 --> 00:20:17,970 Jadi ini adalah 1 hingga 4 dan baris akhir sama dengan 2, jadi 2 oleh 2 matriks. 342 00:20:17,970 --> 00:20:20,270 Juga dalam senarai dan ia dipanggil tikar. 343 00:20:20,270 --> 00:20:24,690 moreStuff, rentetan aksara, dan juga satu lagi senarai itu sendiri. 344 00:20:24,690 --> 00:20:27,710 >> Jadi ini adalah senarai itu 5 dan beruang. 345 00:20:27,710 --> 00:20:30,990 Jadi ia mempunyai nilai 5 dan ia mempunyai rentetan aksara beruang 346 00:20:30,990 --> 00:20:32,710 dan ia adalah satu senarai di dalam senarai. 347 00:20:32,710 --> 00:20:35,965 Jadi, anda boleh mempunyai ini perkara di mana rekursi 348 00:20:35,965 --> 00:20:38,230 anda mempunyai another-- menaip dalam jenis. 349 00:20:38,230 --> 00:20:41,420 Oleh itu juga, anda boleh mempunyai matriks dalam matriks lain dan sebagainya. 350 00:20:41,420 --> 00:20:44,264 Dan senarai adalah hanya cara yang baik mengumpul dan mengagregat 351 00:20:44,264 --> 00:20:45,430 semua objek yang berbeza. 352 00:20:45,430 --> 00:20:50,210 353 00:20:50,210 --> 00:20:57,150 >> Dan akhirnya, di sini hanya untuk membantu dalam kes ini hanya pergi ke atas dengan cepat. 354 00:20:57,150 --> 00:21:01,350 Jadi bila-bila masa anda keliru mengenai beberapa jenis fungsi, 355 00:21:01,350 --> 00:21:03,510 anda boleh melakukan bantuan fungsi tersebut. 356 00:21:03,510 --> 00:21:07,120 Jadi, anda boleh melakukan bantuan matriks atau matriks tanda tanya. 357 00:21:07,120 --> 00:21:11,430 Dan bantuan dan tanda tanya adalah hanya trengkas untuk perkara yang sama 358 00:21:11,430 --> 00:21:13,040 supaya ia alias. 359 00:21:13,040 --> 00:21:16,820 >> lm adalah fungsi yang hanya melakukan model linear. 360 00:21:16,820 --> 00:21:20,340 Tetapi jika anda hanya tidak tahu bagaimana yang kerja, anda hanya boleh melakukan bantuan lm 361 00:21:20,340 --> 00:21:24,610 dan yang akan memberi anda beberapa jenis dokumentasi yang 362 00:21:24,610 --> 00:21:27,960 kelihatan jenis seperti Laman manusia dalam Unix, di mana 363 00:21:27,960 --> 00:21:34,210 anda mempunyai penerangan ringkas apa ia, apa juga hujah-hujah adalah, 364 00:21:34,210 --> 00:21:38,850 apa yang ia kembali, dan hanya tip bagaimana untuk menggunakannya, dan beberapa contoh juga. 365 00:21:38,850 --> 00:21:41,680 366 00:21:41,680 --> 00:21:52,890 >> Jadi biarlah saya pergi ke depan dan pameran beberapa demo menggunakan R. OK. 367 00:21:52,890 --> 00:21:55,470 Lalu aku pergi lebih sangat segera, data 368 00:21:55,470 --> 00:21:59,440 struktur dan beberapa jenis yang op-- sebahagian daripada operasi. 369 00:21:59,440 --> 00:22:02,960 Di sini adalah beberapa fungsi. 370 00:22:02,960 --> 00:22:06,750 >> Jadi di sini saya hanya akan untuk menentukan fungsi. 371 00:22:06,750 --> 00:22:09,970 Jadi saya juga menggunakan Pengendali tugasan di sini, 372 00:22:09,970 --> 00:22:12,610 dan kemudian saya cakapkan mengisytiharkan ia sebagai suatu fungsi. 373 00:22:12,610 --> 00:22:14,140 Dan juga ia mengambil nilai x. 374 00:22:14,140 --> 00:22:18,210 Jadi ini adalah apa-apa nilai yang anda mahu dan saya akan kembali x sendiri. 375 00:22:18,210 --> 00:22:20,840 Jadi ini adalah fungsi identiti. 376 00:22:20,840 --> 00:22:23,670 >> Dan apa yang sejuk kira-kira ini berbanding dengan bahasa-bahasa lain 377 00:22:23,670 --> 00:22:26,330 dan peringkat rendah lain bahasa ialah x 378 00:22:26,330 --> 00:22:29,350 boleh menjadi apa-apa jenis sendiri dan ia akan kembali jenis itu. 379 00:22:29,350 --> 00:22:35,251 Jadi, anda boleh imagine-- jadi mari saya hanya menjalankan ini dengan cepat. 380 00:22:35,251 --> 00:22:35,750 Maaf. 381 00:22:35,750 --> 00:22:40,300 >> Jadi, satu perkara yang saya juga perlu menyebut adalah bahawa editor ini saya menggunakan 382 00:22:40,300 --> 00:22:41,380 dipanggil rstudio. 383 00:22:41,380 --> 00:22:44,389 Ini adalah apa yang dikenali sebagai sebuah IDE. 384 00:22:44,389 --> 00:22:46,180 Dan satu hal itu benar-benar baik tentang ini 385 00:22:46,180 --> 00:22:51,500 ialah ia menggabungkan banyak yang perkara yang anda mahu lakukan dalam R dengan sendirinya 386 00:22:51,500 --> 00:22:53,180 hanya sangat intuitif. 387 00:22:53,180 --> 00:22:55,550 >> Jadi di sini adalah konsol jurubahasa. 388 00:22:55,550 --> 00:23:02,160 Oleh itu juga, anda juga boleh mendapatkan ini konsol mentah hanya dengan melakukan R. modal 389 00:23:02,160 --> 00:23:05,630 Dan ini adalah betul-betul Perkara yang sama seperti konsol. 390 00:23:05,630 --> 00:23:12,210 Jadi saya hanya boleh melakukan id fungsi x, x, x. 391 00:23:12,210 --> 00:23:16,130 Dan then-- dan kemudian yang akan baik sendiri. 392 00:23:16,130 --> 00:23:19,200 393 00:23:19,200 --> 00:23:21,740 >> Jadi rstudio besar kerana ia mempunyai konsol. 394 00:23:21,740 --> 00:23:25,360 Ia juga mempunyai dokumen-dokumen anda ingin berjalan di. 395 00:23:25,360 --> 00:23:28,629 Dan kemudian ia mempunyai beberapa pembolehubah yang anda boleh lihat di persekitaran. 396 00:23:28,629 --> 00:23:30,420 Dan kemudian, jika anda mempunyai untuk melakukan plot, maka anda 397 00:23:30,420 --> 00:23:33,730 hanya boleh melihatnya di sini, berbanding dengan menguruskan semua tetingkap berlainan 398 00:23:33,730 --> 00:23:35,940 oleh diri mereka sendiri. 399 00:23:35,940 --> 00:23:40,530 >> Saya sebenarnya secara peribadi digunakan Vim, tetapi saya merasa seperti rstudio sangat baik hanya 400 00:23:40,530 --> 00:23:44,640 untuk mendapatkan idea yang baik bagaimana untuk menggunakan R. Biasanya, 401 00:23:44,640 --> 00:23:47,040 apabila anda cuba belajar beberapa tugas baru, 402 00:23:47,040 --> 00:23:49,590 anda tidak mahu untuk mengendalikan terlalu banyak benda dalam satu masa. 403 00:23:49,590 --> 00:23:53,120 Jadi R hanyalah rstudio very-- adalah cara yang sangat baik pengajian R 404 00:23:53,120 --> 00:23:56,760 tanpa perlu berurusan dengan semua perkara-perkara ini lain. 405 00:23:56,760 --> 00:23:58,600 >> Jadi di sini saya id berjalan hello. 406 00:23:58,600 --> 00:24:00,090 Ini mengembalikan hello. 407 00:24:00,090 --> 00:24:01,740 id 123. 408 00:24:01,740 --> 00:24:04,610 Berikut adalah vektor integer. 409 00:24:04,610 --> 00:24:08,620 Jadi begitu juga, kerana anda boleh mengambil apa-apa beberapa jenis nilai, 410 00:24:08,620 --> 00:24:16,060 anda boleh melakukan id kembali x jadi ia kembali 1234 dan 5. 411 00:24:16,060 --> 00:24:22,210 >> Dan biarlah saya menunjukkan bahawa ini memang integer. 412 00:24:22,210 --> 00:24:28,800 Begitu juga, jika anda melakukan kelas id x, ia akan menjadi integer. 413 00:24:28,800 --> 00:24:34,170 Dan kemudian, anda juga boleh membandingkan dua dan ia adalah BENAR. 414 00:24:34,170 --> 00:24:38,350 Jadi, saya memeriksa jika id x sama setaraf x dan notis 415 00:24:38,350 --> 00:24:39,760 bahawa ia memberi anda dua TRUEs. 416 00:24:39,760 --> 00:24:44,280 Jadi ini tidak mengatakan adalah kedua-dua objek yang serupa, 417 00:24:44,280 --> 00:24:46,845 tetapi setiap penyertaan dalam vektor serupa. 418 00:24:46,845 --> 00:24:50,000 419 00:24:50,000 --> 00:24:52,090 >> Di sini adalah bounded.compare. 420 00:24:52,090 --> 00:24:58,470 Jadi ini adalah sedikit lebih rumit kerana ia mempunyai jika keadaan dan lain 421 00:24:58,470 --> 00:25:00,960 dan kemudian ia mengambil masa dua hujah-hujah yang pada satu masa. 422 00:25:00,960 --> 00:25:02,640 Jadi x adalah apa-apa jenis. 423 00:25:02,640 --> 00:25:06,280 Dan saya katakan ini Hujah kedua ialah. 424 00:25:06,280 --> 00:25:08,380 Ini boleh menjadi apa-apa juga. 425 00:25:08,380 --> 00:25:12,490 Tetapi secara lalai, ia akan mengambil 5 jika anda tidak menentukan apa-apa. 426 00:25:12,490 --> 00:25:16,730 >> Jadi di sini saya akan mengatakan jika x lebih besar daripada satu. 427 00:25:16,730 --> 00:25:19,220 Jadi, jika saya tidak menentukan, ia kata jika x lebih besar daripada 5, 428 00:25:19,220 --> 00:25:20,470 maka saya akan kembali BENAR. 429 00:25:20,470 --> 00:25:23,230 lain, saya akan kembali PALSU. 430 00:25:23,230 --> 00:25:24,870 Jadi biarlah saya pergi ke depan dan menentukan ini. 431 00:25:24,870 --> 00:25:30,600 432 00:25:30,600 --> 00:25:34,550 >> Dan sekarang saya akan menjalankan bounded.compare 3. 433 00:25:34,550 --> 00:25:39,150 Jadi ia mengatakan adalah 3 kurang than-- adalah 3 lebih besar daripada 5. 434 00:25:39,150 --> 00:25:41,830 Tidak, ia tidak begitu PALSU. 435 00:25:41,830 --> 00:25:46,550 >> Dan bounded.compare 3 dan saya akan untuk membandingkan ia menggunakan bersamaan 2. 436 00:25:46,550 --> 00:25:50,700 Oleh sebab itu saya katakan ya, sekarang saya mahu menjadi sesuatu yang lain. 437 00:25:50,700 --> 00:25:52,750 Jadi, saya akan berkata, anda perlu 2. 438 00:25:52,750 --> 00:25:56,640 >> Saya sama ada boleh melakukan seperti ini notasi atau saya mengatakan yang sama dengan 2. 439 00:25:56,640 --> 00:25:58,720 Ini adalah lebih mudah dibaca dalam bahawa apabila anda 440 00:25:58,720 --> 00:26:01,450 melihat ini benar-benar fungsi yang rumit 441 00:26:01,450 --> 00:26:08,110 mengambil arguments-- pelbagai dan ini boleh menjadi berpuluh-puluh oftentimes-- hanya mengatakan 442 00:26:08,110 --> 00:26:11,140 yang bersamaan 2 adalah lebih senang dibaca untuk anda supaya nanti pada masa akan datang 443 00:26:11,140 --> 00:26:13,020 anda akan tahu apa yang anda lakukan. 444 00:26:13,020 --> 00:26:17,120 >> Jadi dalam kes ini, saya kata adalah 3 lebih daripada 2. 445 00:26:17,120 --> 00:26:18,270 Ya, ia adalah. 446 00:26:18,270 --> 00:26:22,350 Begitu juga, saya hanya boleh mengeluarkan ini dan berkata, adalah lebih besar daripada 3 2 447 00:26:22,350 --> 00:26:23,440 di mana bersamaan 2. 448 00:26:23,440 --> 00:26:26,230 Dan itulah juga BENAR. 449 00:26:26,230 --> 00:26:26,730 Ya? 450 00:26:26,730 --> 00:26:29,670 >> PENONTON: Adakah anda melaksanakan baris demi baris? 451 00:26:29,670 --> 00:26:30,670 >> Dustin Tran: Ya saya. 452 00:26:30,670 --> 00:26:33,900 Jadi apa yang saya lakukan di sini adalah mengambil teks ini document-- 453 00:26:33,900 --> 00:26:39,825 dan apa yang hebat tentang rstudio ialah Saya hanya boleh berjalan short-- satu jalan pintas kekunci. 454 00:26:39,825 --> 00:26:41,820 Jadi saya lakukan Kawalan-Enter. 455 00:26:41,820 --> 00:26:44,850 >> Dan kemudian, saya mengambil talian dalam dokumen teks yang 456 00:26:44,850 --> 00:26:46,710 dan kemudian meletakkan di konsol. 457 00:26:46,710 --> 00:26:50,800 Jadi di sini saya katakan, bounded.compare dan saya lakukan Kawalan-X. 458 00:26:50,800 --> 00:26:52,540 Jadi saya hanya boleh larikan sini juga. 459 00:26:52,540 --> 00:26:54,920 Dan kemudian yang akan mengambil talian dan kemudian meletakkan ia di sini. 460 00:26:54,920 --> 00:26:57,900 Kemudian juga, saya boleh larikan sini. 461 00:26:57,900 --> 00:27:04,630 Dan kemudian ia hanya akan menyimpan mentakrifkan garis ke dalam konsol seperti itu. 462 00:27:04,630 --> 00:27:10,690 >> Dan jika anda juga perasan yang kerinting pendakap berada di sana seperti di C sintaks. 463 00:27:10,690 --> 00:27:13,910 x-- jika sekiranya syarat tersebut juga akan menggunakan kurungan dan kemudian 464 00:27:13,910 --> 00:27:15,350 anda boleh menggunakan lain. 465 00:27:15,350 --> 00:27:17,496 Satu lagi ialah jika lain. 466 00:27:17,496 --> 00:27:21,440 Jadi ini akan menjadi x sama sama, sebagai contoh. 467 00:27:21,440 --> 00:27:24,190 468 00:27:24,190 --> 00:27:26,350 Dan kemudian saya akan kembali sesuatu di sini. 469 00:27:26,350 --> 00:27:29,490 >> Perhatikan bahawa terdapat dua yang berbeza perkara di sini yang sedang berlaku. 470 00:27:29,490 --> 00:27:34,360 Satu adalah bahawa di sini saya menyatakan kembali nilai TRUE. 471 00:27:34,360 --> 00:27:35,950 Di sini saya hanya mengatakan x. 472 00:27:35,950 --> 00:27:39,970 Jadi R biasanya akan secara lalai mengambil arguments-- terakhir 473 00:27:39,970 --> 00:27:43,510 atau mengambil barisan terakhir kod, dan yang akan menjadi apa yang ia kembali. 474 00:27:43,510 --> 00:27:46,920 Jadi di sini ini adalah sama perkara seperti melakukan pulangan x. 475 00:27:46,920 --> 00:27:49,450 476 00:27:49,450 --> 00:27:50,540 >> Dan hanya untuk menunjukkan. 477 00:27:50,540 --> 00:27:54,000 478 00:27:54,000 --> 00:27:57,052 Dan kemudian, ia akan bekerja begitu sahaja. 479 00:27:57,052 --> 00:27:58,260 Jadi biarlah saya terus dengan ini. 480 00:27:58,260 --> 00:28:00,630 >> Jadi jika lain. 481 00:28:00,630 --> 00:28:04,060 Dan benar-benar, saya boleh kembali apa-apa yang saya suka. 482 00:28:04,060 --> 00:28:06,680 Jadi saya tidak perlu pulangan Booleans sepanjang masa, 483 00:28:06,680 --> 00:28:08,410 Saya hanya boleh mengembalikan sesuatu yang lain. 484 00:28:08,410 --> 00:28:10,670 Jadi boleh saya lakukan pulangan beruang. 485 00:28:10,670 --> 00:28:12,989 >> Jadi, jika x sama dengan yang sama, ia akan kembali beruang. 486 00:28:12,989 --> 00:28:14,530 Jika tidak, ia akan kembali BENAR. 487 00:28:14,530 --> 00:28:19,310 Saya juga boleh melakukan vektor atau benar-benar apa-apa. 488 00:28:19,310 --> 00:28:22,210 >> Dan biasanya dalam statik bahasa bertaip, 489 00:28:22,210 --> 00:28:23,840 anda akan perlu untuk menentukan jenis di sini. 490 00:28:23,840 --> 00:28:25,750 Dan melihat bahawa ia hanya boleh menjadi apa-apa. 491 00:28:25,750 --> 00:28:32,400 Dan R adalah cukup bijak bahawa ia hanya akan melakukan ini dan ia akan bekerja denda. 492 00:28:32,400 --> 00:28:33,620 >> Jadi biarlah saya menentukan ini. 493 00:28:33,620 --> 00:28:39,460 494 00:28:39,460 --> 00:28:41,230 Unexpected-- oh maaf. 495 00:28:41,230 --> 00:28:44,336 Ia harus menjadi pendakap kerinting sini. 496 00:28:44,336 --> 00:28:44,836 OK. 497 00:28:44,836 --> 00:28:45,336 Cool. 498 00:28:45,336 --> 00:28:52,580 499 00:28:52,580 --> 00:28:54,530 Baiklah. 500 00:28:54,530 --> 00:28:58,250 Jadi sekarang mari kita bandingkan 3 dan yang bersamaan 3. 501 00:28:58,250 --> 00:29:01,860 Jadi ia perlu return-- yeah-- nilai beruang. 502 00:29:01,860 --> 00:29:06,740 >> Oleh sebab itu satu perkara yang lebih umum adalah seperti bagaimana pula dengan lain-lain struktur data. 503 00:29:06,740 --> 00:29:09,110 Jadi, anda mempunyai fungsi ini. 504 00:29:09,110 --> 00:29:15,360 Ini akan bekerja di mana-mana sahaja dengan daripada nilai seperti 3 atau mana-mana nombor, 505 00:29:15,360 --> 00:29:17,500 dalam erti kata lain, dua kali. 506 00:29:17,500 --> 00:29:19,330 >> Tetapi bagaimana pula sesuatu seperti vektor. 507 00:29:19,330 --> 00:29:27,750 Jadi apa yang berlaku jika anda do-- jadi saya akan menyerahhakkan Val untuk, katakan, 4-6. 508 00:29:27,750 --> 00:29:31,640 Jadi jika saya kembali ini, ini adalah vektor daripada 4, 5, 6. 509 00:29:31,640 --> 00:29:34,935 >> Sekarang mari kita lihat apa yang berlaku jika saya lakukan bounded.compare Val. 510 00:29:34,935 --> 00:29:37,680 511 00:29:37,680 --> 00:29:42,450 Jadi ini akan memberikan anda 15 1251. 512 00:29:42,450 --> 00:29:46,440 Jadi dalam erti kata lain, ia berkata jika anda melihat keadaan ini 513 00:29:46,440 --> 00:29:50,040 jadi ia mengatakan x kurang daripada satu atau sesuatu. 514 00:29:50,040 --> 00:29:51,880 Jadi ini adalah sedikit mengelirukan kerana sekarang 515 00:29:51,880 --> 00:29:53,379 anda tidak tahu apa yang berlaku. 516 00:29:53,379 --> 00:29:58,690 Jadi saya rasa satu perkara yang benar-benar baik mengenai hanya cuba untuk debug 517 00:29:58,690 --> 00:30:04,600 adalah bahawa anda hanya boleh melakukan Val adalah lebih besar daripada dan lihat apa yang berlaku di sana. 518 00:30:04,600 --> 00:30:09,720 >> Jadi val-- adalah secara lalai 5 jadi mari kita jangan Val lebih besar daripada 5. 519 00:30:09,720 --> 00:30:14,280 Jadi ini adalah vektor SALAH SALAH BETUL. 520 00:30:14,280 --> 00:30:17,206 Oleh sebab itu ketika anda melihat ini, ia akan berkata jika, 521 00:30:17,206 --> 00:30:20,080 dan kemudian ia akan memberikan anda ini adalah vektor SALAH SALAH BETUL. 522 00:30:20,080 --> 00:30:23,450 >> Oleh itu, apabila anda lulus ini ke R, R tidak mempunyai idea apa yang anda lakukan. 523 00:30:23,450 --> 00:30:26,650 Kerana ia menjangka satu tunggal nilai, yang merupakan Boolean, dan kini 524 00:30:26,650 --> 00:30:29,420 anda memberikan satu vektor Booleans. 525 00:30:29,420 --> 00:30:31,970 Jadi secara lalai, R sahaja akan mengatakan apa yang palang pintu itu, 526 00:30:31,970 --> 00:30:35,440 Saya akan menganggap bahawa anda akan mengambil elemen pertama di sini. 527 00:30:35,440 --> 00:30:38,320 Jadi saya akan say-- saya akan untuk menganggap bahawa ini adalah PALSU. 528 00:30:38,320 --> 00:30:40,890 Jadi ia akan berkata tidak, ini tidak betul. 529 00:30:40,890 --> 00:30:45,246 >> Begitu juga, ia akan menjadi Val sama sama satu. 530 00:30:45,246 --> 00:30:47,244 Tidak, maaf 5. 531 00:30:47,244 --> 00:30:48,910 Dan ia juga akan menjadi palsu juga. 532 00:30:48,910 --> 00:30:52,410 Jadi ia akan mengatakan tidak, ia tidak BENAR dan juga supaya ia 533 00:30:52,410 --> 00:30:53,680 akan kembali terkini ini. 534 00:30:53,680 --> 00:30:56,420 535 00:30:56,420 --> 00:31:01,360 >> Jadi ini adalah sama ada satu perkara yang baik atau buruk perkara, bergantung kepada bagaimana anda melihat ia. 536 00:31:01,360 --> 00:31:05,104 Kerana apabila anda mewujudkan fungsi-fungsi ini, 537 00:31:05,104 --> 00:31:06,770 anda tidak benar-benar tahu apa yang berlaku. 538 00:31:06,770 --> 00:31:10,210 Jadi kadang-kadang anda akan mahu ralat, atau mungkin anda hanya mahu amaran. 539 00:31:10,210 --> 00:31:12,160 Dalam kes ini, R tidak berbuat demikian. 540 00:31:12,160 --> 00:31:14,300 Jadi ia adalah benar-benar sehingga anda berdasarkan kira apa 541 00:31:14,300 --> 00:31:17,310 anda berfikir bahasa perlu dilakukan dalam kes ini 542 00:31:17,310 --> 00:31:22,920 jika anda meninggal dalam vektor Booleans apabila anda lakukan jika keadaan. 543 00:31:22,920 --> 00:31:31,733 >> Jadi mari kita mengatakan bahawa anda mempunyai asal satu dengan lain jika kembali BENAR dan anda 544 00:31:31,733 --> 00:31:34,190 akan kembali PALSU. 545 00:31:34,190 --> 00:31:39,300 Jadi salah satu cara untuk pengabstrakan ini adalah untuk mengatakan saya 546 00:31:39,300 --> 00:31:41,530 tidak perlu perkara ini bersyarat. 547 00:31:41,530 --> 00:31:47,220 Satu lagi perkara yang boleh saya lakukan adalah hanya kembali nilai-nilai diri mereka. 548 00:31:47,220 --> 00:31:53,240 Jadi, jika anda perhatikan, jika anda melakukan Val adalah lebih besar daripada 5, 549 00:31:53,240 --> 00:31:56,350 ini akan mengembalikan vektor SALAH SALAH BETUL. 550 00:31:56,350 --> 00:31:58,850 >> Mungkin ini adalah apa yang anda mahu untuk bounded.compare. 551 00:31:58,850 --> 00:32:02,940 Anda mahu kembali vektor daripada Booleans di mana ia membandingkan setiap satu daripada nilai-nilai 552 00:32:02,940 --> 00:32:04,190 kepada diri mereka sendiri. 553 00:32:04,190 --> 00:32:11,165 Jadi anda hanya boleh jangan bounded.compare fungsi x, yang sama dengan 5. 554 00:32:11,165 --> 00:32:13,322 555 00:32:13,322 --> 00:32:15,363 Dan ketika itu dan bukannya melakukan ini jika keadaan lain, 556 00:32:15,363 --> 00:32:21,430 Saya hanya akan kembali x lebih besar daripada 5. 557 00:32:21,430 --> 00:32:23,620 Jadi, jika ia benar, maka ia akan kembali BENAR. 558 00:32:23,620 --> 00:32:26,830 Dan kemudian jika tidak, ia akan kembali PALSU. 559 00:32:26,830 --> 00:32:30,880 >> Dan ini akan bekerja untuk mana-mana struktur ini. 560 00:32:30,880 --> 00:32:41,450 Jadi saya boleh bounded.compare c 1 6 atau 9 dan kemudian saya akan mengatakan yang sama dengan 6, 561 00:32:41,450 --> 00:32:42,799 sebagai contoh. 562 00:32:42,799 --> 00:32:44,840 Dan kemudian ia akan memberikan anda Boolean yang betul 563 00:32:44,840 --> 00:32:48,240 vektor yang anda mereka bentuk. 564 00:32:48,240 --> 00:32:50,660 >> Jadi mereka hanya fungsi dan sekarang biar saya 565 00:32:50,660 --> 00:32:54,980 menunjukkan beberapa visual interaktif. 566 00:32:54,980 --> 00:32:59,700 Saya tidak fikir saya benar-benar mempunyai Wi-Fi di sini jadi biarlah saya pergi ke hadapan 567 00:32:59,700 --> 00:33:01,970 dan langkau satu ini saya rasa. 568 00:33:01,970 --> 00:33:05,260 >> Tetapi satu perkara yang sejuk walaupun adalah bahawa jika anda hanya 569 00:33:05,260 --> 00:33:09,600 ingin menguji berbagai perintah data yang berbeza, 570 00:33:09,600 --> 00:33:13,320 terdapat sekumpulan set data yang berbeza yang telah pramuat ke R. 571 00:33:13,320 --> 00:33:15,770 Jadi salah seorang daripada mereka adalah dipanggil dataset iris. 572 00:33:15,770 --> 00:33:18,910 Ini adalah salah satu yang paling baik yang diketahui yang dalam pembelajaran mesin. 573 00:33:18,910 --> 00:33:23,350 Anda akan biasanya hanya melakukan beberapa jenis kes-kes ujian untuk melihat jika kod anda berjalan. 574 00:33:23,350 --> 00:33:27,520 Jadi mari kita semak apa iris adalah. 575 00:33:27,520 --> 00:33:33,130 >> Jadi perkara ini akan menjadi bingkai data. 576 00:33:33,130 --> 00:33:36,000 Dan ia jenis panjang kerana Saya hanya dicetak iris. 577 00:33:36,000 --> 00:33:38,810 Ia mencetak perkara keseluruhan. 578 00:33:38,810 --> 00:33:42,830 Oleh itu, ia mempunyai semua nama-nama yang berbeza. 579 00:33:42,830 --> 00:33:45,505 Jadi iris adalah koleksi Bunga-bunga yang berbeza. 580 00:33:45,505 --> 00:33:48,830 Dalam kes ini, Ia memberitahu anda spesies itu, 581 00:33:48,830 --> 00:33:54,760 semua ini lebar yang berbeza dan panjang daripada sepal dan kelopak. 582 00:33:54,760 --> 00:33:58,880 >> Dan jadi biasanya, jika anda ingin mencetak iris, 583 00:33:58,880 --> 00:34:03,680 sebagai contoh, anda tidak mahu untuk memilikinya melakukan semua ini kerana yang boleh mengambil alih 584 00:34:03,680 --> 00:34:05,190 keseluruhan konsol anda. 585 00:34:05,190 --> 00:34:09,280 Jadi satu perkara yang benar-benar bagus adalah fungsi kepala. 586 00:34:09,280 --> 00:34:12,929 Jadi jika anda hanya melakukan kepala iris, ini akan memberikan anda 587 00:34:12,929 --> 00:34:17,389 lima baris pertama, atau enam saya rasa. 588 00:34:17,389 --> 00:34:19,909 Dan kemudian dengan baik, anda hanya boleh menentukan di sini. 589 00:34:19,909 --> 00:34:22,914 Jadi 20-- ini akan memberikan anda 20 baris pertama. 590 00:34:22,914 --> 00:34:24,830 Dan saya sebenarnya adalah jenis daripada terkejut bahawa ini 591 00:34:24,830 --> 00:34:28,770 dia memberi saya enam itu hantarkanlah daku pergi ke hadapan dan memeriksa iris-- atau kepala, maaf. 592 00:34:28,770 --> 00:34:31,699 593 00:34:31,699 --> 00:34:34,960 Dan di sini ia akan memberi anda dokumentasi 594 00:34:34,960 --> 00:34:37,960 apa yang ketua nilai tidak. 595 00:34:37,960 --> 00:34:40,839 Jadi ia mengembalikan pertama atau lepas objek. 596 00:34:40,839 --> 00:34:42,630 Dan kemudian saya akan melihat 'default'. 597 00:34:42,630 --> 00:34:47,340 Dan kemudian ia berkata lalai kaedah kepala x dan n sama 6L. 598 00:34:47,340 --> 00:34:50,620 Jadi ini mengembalikan pertama enam unsur. 599 00:34:50,620 --> 00:34:55,050 Begitu juga jika anda perhatikan di sini, saya tidak perlu nyatakan n bersamaan 6. 600 00:34:55,050 --> 00:34:56,840 Secara lalai ia menggunakan enam, saya rasa. 601 00:34:56,840 --> 00:35:00,130 Dan kemudian, jika saya ingin nyatakan yang tertentu nilai, maka saya boleh melihat bahawa juga. 602 00:35:00,130 --> 00:35:02,970 603 00:35:02,970 --> 00:35:10,592 >> Supaya adalah beberapa arahan mudah dan di sini adalah satu lagi satu yang just-- baik, 604 00:35:10,592 --> 00:35:12,550 Saya can-- ini sebenarnya kompleks sedikit lebih, 605 00:35:12,550 --> 00:35:17,130 tetapi ini hanya akan mengambil kelas setiap lajur dataset iris. 606 00:35:17,130 --> 00:35:20,910 Jadi ini akan menunjukkan kepada anda apa yang masing-masing ruangan adalah dari segi jenis mereka. 607 00:35:20,910 --> 00:35:23,665 Jadi panjang sepal adalah angka, lebar sepal adalah angka. 608 00:35:23,665 --> 00:35:26,540 Semua nilai-nilai ini hanya angka kerana anda boleh memberitahu dari data ini 609 00:35:26,540 --> 00:35:29,440 struktur ini adalah semua akan angka. 610 00:35:29,440 --> 00:35:34,310 >> Dan Spesies ruangan yang akan menjadi satu faktor. 611 00:35:34,310 --> 00:35:37,270 Jadi biasanya, anda akan berfikir bahawa ini adalah seperti rentetan aksara. 612 00:35:37,270 --> 00:35:48,830 Tetapi jika anda hanya melakukan irisSpecies, dan kemudian saya akan melakukan kepala 5, 613 00:35:48,830 --> 00:35:51,820 dan ini akan mencetak daripada lima nilai pertama. 614 00:35:51,820 --> 00:35:54,150 >> Dan kemudian melihat tahap ini. 615 00:35:54,150 --> 00:35:58,870 Jadi ini adalah saying-- ini adalah cara R mempunyai pembolehubah berkategori. 616 00:35:58,870 --> 00:36:03,765 Jadi, daripada hanya mempunyai rentetan aksara, 617 00:36:03,765 --> 00:36:06,740 ia mempunyai tahap dengan menjelaskan yang mana perkara-perkara ini. 618 00:36:06,740 --> 00:36:12,450 >> Jadi katakan irisSpecies 1. 619 00:36:12,450 --> 00:36:17,690 Jadi apa yang anda mahu lakukan di sini adalah saya subsetting hingga ruangan Spesies ini. 620 00:36:17,690 --> 00:36:21,480 Jadi ini mengambil Ruangan spesies dan kemudian 621 00:36:21,480 --> 00:36:23,820 ia indeks untuk mendapatkan elemen pertama. 622 00:36:23,820 --> 00:36:27,140 Jadi ini harus memberi anda setosa. 623 00:36:27,140 --> 00:36:28,710 Dan ia juga memberikan anda tahap sini. 624 00:36:28,710 --> 00:36:32,812 >> Oleh itu, anda juga boleh membandingkan ini untuk setosa watak 625 00:36:32,812 --> 00:36:34,645 dan ini tidak akan menjadi BETUL kerana satu 626 00:36:34,645 --> 00:36:37,940 adalah jenis yang berbeza dari yang lain. 627 00:36:37,940 --> 00:36:40,590 Atau saya rasa ia adalah benar kerana R adalah lebih bijak daripada itu. 628 00:36:40,590 --> 00:36:45,420 Dan ia kelihatan pada ini dan kemudian kata, mungkin ini adalah apa yang anda mahu. 629 00:36:45,420 --> 00:36:51,860 Jadi ia akan berkata watak rentetan setosa adalah yang sama dengan yang ini. 630 00:36:51,860 --> 00:37:01,290 Kemudian juga, anda boleh juga hanya merebut ini seperti sebagainya. 631 00:37:01,290 --> 00:37:05,580 >> Supaya hanya semacam perintah cepat dataset yang. 632 00:37:05,580 --> 00:37:08,030 Jadi di sini adalah beberapa penerokaan data. 633 00:37:08,030 --> 00:37:11,360 Jadi ini adalah lebih sedikit terlibat dengan analisis data. 634 00:37:11,360 --> 00:37:18,340 Dan ini diambil dari beberapa Bootcamp di R untuk di Berkeley. 635 00:37:18,340 --> 00:37:20,790 >> Jadi perpustakaan asing. 636 00:37:20,790 --> 00:37:24,880 Jadi saya akan memuatkan satu perpustakaan yang dinamakan asing. 637 00:37:24,880 --> 00:37:32,460 Jadi ini akan memberikan saya read.dta jadi menganggap bahawa saya mempunyai dataset ini. 638 00:37:32,460 --> 00:37:39,000 Ini disimpan dalam semasa Direktori konsol saya bekerja. 639 00:37:39,000 --> 00:37:42,190 Jadi mari kita lihat apa yang direktori kerja adalah. 640 00:37:42,190 --> 00:37:44,620 >> Jadi di sini adalah direktori kerja saya. 641 00:37:44,620 --> 00:37:50,040 Dan membaca data dot, ini perkara, mengatakan gambar ini 642 00:37:50,040 --> 00:37:54,650 terletak dalam folder data daripada ini kerja direktori semasa. 643 00:37:54,650 --> 00:38:00,520 Dan read.dta ini tidak arahan lalai. 644 00:38:00,520 --> 00:38:02,760 Saya rasa saya dimuatkan dalam sudah. 645 00:38:02,760 --> 00:38:04,750 IEI diandaikan saya ini dimuatkan dalam sudah. 646 00:38:04,750 --> 00:38:08,115 >> Tetapi begitu read.dta tidak akan menjadi arahan lalai. 647 00:38:08,115 --> 00:38:11,550 Sebab itulah anda akan mempunyai untuk dimuatkan dalam perpustakaan ini package-- 648 00:38:11,550 --> 00:38:14,500 Pakej ini dipanggil asing. 649 00:38:14,500 --> 00:38:16,690 Dan jika anda tidak mempunyai pakej, saya fikir 650 00:38:16,690 --> 00:38:19,180 asing adalah salah satu yang terbina dalam. 651 00:38:19,180 --> 00:38:31,150 Jika tidak, anda juga boleh melakukan install.packages 652 00:38:31,150 --> 00:38:33,180 dan ini akan memasang pakej. 653 00:38:33,180 --> 00:38:36,878 Dan ini akan memberikan anda R. Uh, tidak. 654 00:38:36,878 --> 00:38:39,830 655 00:38:39,830 --> 00:38:43,140 Dan kemudian saya hanya akan berhenti ini kerana saya sudah mempunyai ia. 656 00:38:43,140 --> 00:38:46,920 >> Tetapi apa yang benar-benar bagus tentang R ialah pengurusan pakej 657 00:38:46,920 --> 00:38:48,510 sistem adalah sangat elegan. 658 00:38:48,510 --> 00:38:52,470 Kerana ia akan menyimpan segala-galanya benar-benar baik untuk anda. 659 00:38:52,470 --> 00:38:59,780 Jadi dalam kes ini, ia akan menyimpan dalam, saya percaya, perpustakaan ini di sini. 660 00:38:59,780 --> 00:39:02,390 >> Jadi bila-bila masa anda mahu memasang pakej baru, 661 00:39:02,390 --> 00:39:04,980 ia hanya semudah melakukan install.packages 662 00:39:04,980 --> 00:39:07,500 dan R akan menguruskan semua pakej untuk anda. 663 00:39:07,500 --> 00:39:12,900 Jadi anda tidak perlu untuk melakukan sesuatu yang di Python, di mana anda mempunyai pakej luar 664 00:39:12,900 --> 00:39:15,330 pengurus seperti kertas Anaconda di mana anda 665 00:39:15,330 --> 00:39:18,310 doing-- anda memasang pakej luar Python 666 00:39:18,310 --> 00:39:20,940 dan kemudian anda cuba untuk menjalankan mereka sendiri. 667 00:39:20,940 --> 00:39:22,210 Jadi ini adalah benar-benar cara yang bagus. 668 00:39:22,210 --> 00:39:25,590 >> Dan install.packages memerlukan internet. 669 00:39:25,590 --> 00:39:31,950 Ia mengambil ia dari pelayan dan repositori yang 670 00:39:31,950 --> 00:39:33,960 mengumpul semua pakej dipanggil Cran. 671 00:39:33,960 --> 00:39:40,690 Dan anda boleh menentukan jenis cermin anda mahu untuk memuat turun pakej dari. 672 00:39:40,690 --> 00:39:43,420 >> Jadi di sini saya mengambil dataset ini. 673 00:39:43,420 --> 00:39:46,240 Saya membacanya dalam menggunakan fungsi ini. 674 00:39:46,240 --> 00:39:49,360 Jadi biarlah saya teruskan niat saya itu. 675 00:39:49,360 --> 00:39:52,900 >> Jadi mari kita andaikan bahawa anda mempunyai dataset ini 676 00:39:52,900 --> 00:39:55,550 dan anda sama sekali tidak tahu apa yang ia adalah. 677 00:39:55,550 --> 00:39:58,560 Dan ini sebenarnya datang agak kerap dalam industri 678 00:39:58,560 --> 00:40:00,910 di mana anda hanya perlu ini tan dan tan perkara tidak kemas 679 00:40:00,910 --> 00:40:02,890 dan mereka sangat tidak berlabel. 680 00:40:02,890 --> 00:40:06,380 Jadi di sini saya mempunyai ini dataset dan saya tidak tahu 681 00:40:06,380 --> 00:40:08,400 apa yang jadi saya hanya menunjukkan kepada website saya. 682 00:40:08,400 --> 00:40:10,620 >> Jadi, saya akan lakukan kepala pertama. 683 00:40:10,620 --> 00:40:14,190 Jadi saya memeriksa enam pertama ruangan apa dataset ini. 684 00:40:14,190 --> 00:40:21,730 Jadi ini adalah negeri, pres04, dan kemudian semua jenis ini berbeza daripada tiang. 685 00:40:21,730 --> 00:40:25,612 Dan apa yang menarik di sini, saya rasa, adalah bahawa anda 686 00:40:25,612 --> 00:40:27,945 akan menganggap bahawa ini kelihatan seperti beberapa jenis pilihan raya. 687 00:40:27,945 --> 00:40:30,482 688 00:40:30,482 --> 00:40:32,190 Dan saya rasa hanya dari melihat fail 689 00:40:32,190 --> 00:40:41,070 menamakan ini adalah beberapa jenis koleksi data mengenai calon-calon atau pengundi 690 00:40:41,070 --> 00:40:44,920 yang mengundi untuk presiden tertentu atau calon Presiden 691 00:40:44,920 --> 00:40:46,550 untuk pilihan raya 2004. 692 00:40:46,550 --> 00:40:52,920 >> Jadi di sini adalah nilai-nilai 1, 2 jadi satu cara untuk menyimpan 693 00:40:52,920 --> 00:40:56,540 calon-calon presiden adalah nama-nama mereka. 694 00:40:56,540 --> 00:40:59,780 Dalam kes ini, ia kelihatan seperti mereka hanya nilai integer. 695 00:40:59,780 --> 00:41:04,030 Jadi tahun 2004, ia adalah Bush versus Kerry saya percaya. 696 00:41:04,030 --> 00:41:09,010 Dan sekarang, mari kita mengatakan anda tidak tahu sama ada 1 sepadan dengan Bush atau 2 697 00:41:09,010 --> 00:41:11,703 sepadan dengan Kerry atau dan sebagainya dan sebagainya, bukan? 698 00:41:11,703 --> 00:41:15,860 >> Dan ini adalah, hanya kepada-Ku, satu masalah yang agak biasa. 699 00:41:15,860 --> 00:41:18,230 Jadi apa yang boleh anda lakukan dalam kes ini? 700 00:41:18,230 --> 00:41:20,000 Jadi mari kita semak semua perkara ini lain. 701 00:41:20,000 --> 00:41:22,790 >> negeri, saya menganggap ini berasal dari negeri yang berlainan. 702 00:41:22,790 --> 00:41:25,100 partyid, pendapatan. 703 00:41:25,100 --> 00:41:27,710 Mari kita lihat partyid. 704 00:41:27,710 --> 00:41:32,800 Jadi mungkin satu perkara yang anda boleh lakukan ialah melihat setiap satu daripada pemerhatian 705 00:41:32,800 --> 00:41:36,250 yang mempunyai partyid daripada Republikan atau Demokrat atau sesuatu. 706 00:41:36,250 --> 00:41:38,170 Jadi mari kita melihat apa yang partyid adalah. 707 00:41:38,170 --> 00:41:41,946 >> Jadi, saya akan mengambil dat dan kemudian saya akan 708 00:41:41,946 --> 00:41:47,960 untuk melakukan tanda dolar ini Pengendali yang saya lakukan sebelum ini 709 00:41:47,960 --> 00:41:50,770 dan ini akan subset kepada lajur tersebut. 710 00:41:50,770 --> 00:41:57,760 Dan kemudian saya akan mengetuai ini dalam 20, hanya untuk melihat apa yang kelihatan seperti ini. 711 00:41:57,760 --> 00:42:00,170 >> Jadi ini adalah hanya sekumpulan nas. 712 00:42:00,170 --> 00:42:02,800 Jadi dalam erti kata lain, anda mempunyai hilang data mengenai lelaki ini. 713 00:42:02,800 --> 00:42:08,100 Tetapi anda juga perasan ini partyid dat adalah faktor yang 714 00:42:08,100 --> 00:42:10,030 jadi ini memberikan anda kategori yang berbeza. 715 00:42:10,030 --> 00:42:14,170 Jadi dalam erti kata lain, partyid boleh mengambil Demokrat, Republikan, Bebas, 716 00:42:14,170 --> 00:42:16,640 atau sesuatu yang lain. 717 00:42:16,640 --> 00:42:23,940 >> Jadi mari kita pergi ke depan dan mari kita lihat yang ini is-- oh, OK. 718 00:42:23,940 --> 00:42:28,480 Jadi saya akan subset untuk partyid dan kemudian 719 00:42:28,480 --> 00:42:32,780 melihat mana yang Demokrat, sebagai contoh. 720 00:42:32,780 --> 00:42:37,150 Ini akan memberi anda Boolean, Boolean yang besar TRUEs dan FALSEs. 721 00:42:37,150 --> 00:42:41,630 >> Dan sekarang, mari kita berkata saya mahu untuk subset kepada lelaki ini. 722 00:42:41,630 --> 00:42:47,260 Jadi ini akan mengambil dat saya dan subset kepada mana pemerhatian 723 00:42:47,260 --> 00:42:48,910 mempunyai setaraf partyid sama Demokrat. 724 00:42:48,910 --> 00:42:52,830 725 00:42:52,830 --> 00:42:55,180 Dan ini adalah agak panjang kerana terdapat begitu banyak daripada mereka. 726 00:42:55,180 --> 00:42:59,060 Jadi sekarang, saya akan mengetuai ini dalam 20. 727 00:42:59,060 --> 00:43:05,690 728 00:43:05,690 --> 00:43:11,270 >> Dan seperti yang anda perhatikan, sama setaraf adalah menarik, kerana anda 729 00:43:11,270 --> 00:43:13,250 already-- anda juga termasuk nas. 730 00:43:13,250 --> 00:43:19,010 Jadi dalam kes ini, anda masih tidak boleh mendapatkan apa-apa maklumat kerana sekarang anda mempunyai Nas 731 00:43:19,010 --> 00:43:22,650 dan anda hanya mahu melihat yang mana satu di pemerhatian sesuai dengan Demokrat 732 00:43:22,650 --> 00:43:24,670 dan tidak hilang ini menghargai diri mereka sendiri. 733 00:43:24,670 --> 00:43:27,680 Jadi bagaimana anda akan menghilangkan nas ini? 734 00:43:27,680 --> 00:43:36,410 >> Jadi di sini saya hanya menggunakan kekunci di atas saya Kursor dan kemudian berkata bergerak di sekitar. 735 00:43:36,410 --> 00:43:39,778 Dan maka di sini saya hanya akan untuk mengatakan datpartyid is.na. 736 00:43:39,778 --> 00:43:48,970 737 00:43:48,970 --> 00:43:52,720 Jadi ini dan dan akan mengambil dua vektor Boolean berbeza 738 00:43:52,720 --> 00:43:57,160 dan mengatakan ia akan menjadi BETUL dan SALAH contohnya. 739 00:43:57,160 --> 00:43:59,190 Jadi ia akan lakukan komponen-bijak ini. 740 00:43:59,190 --> 00:44:02,910 Jadi di sini saya berkata pengambilalihan bingkai data, subset 741 00:44:02,910 --> 00:44:10,170 kepada orang-orang yang sesuai dengan Demokrat, dan mengeluarkan apa-apa daripada mereka yang tidak NA. 742 00:44:10,170 --> 00:44:13,540 >> Jadi will-- ini perlu memberikan anda sesuatu. 743 00:44:13,540 --> 00:44:16,540 744 00:44:16,540 --> 00:44:17,600 Mari kita lihat is.na. 745 00:44:17,600 --> 00:44:24,670 746 00:44:24,670 --> 00:44:27,690 Mari kita cuba datpartyid is.na. 747 00:44:27,690 --> 00:44:36,290 748 00:44:36,290 --> 00:44:45,290 Dan ini perlu memberi you-- sorry-- hanya vektor Boolean. 749 00:44:45,290 --> 00:44:49,260 Dan kemudian, kerana ia begitu lama, Saya akan subset kepada 20. 750 00:44:49,260 --> 00:44:49,760 OK. 751 00:44:49,760 --> 00:44:51,570 Jadi ini harus bekerja. 752 00:44:51,570 --> 00:44:54,700 >> Dan yang satu ini juga akan TRUEs. 753 00:44:54,700 --> 00:45:01,830 Ah, jadi kesilapan saya di sini adalah bahawa I'm-- saya menggunakan C ++ dan R silih berganti supaya saya membuat 754 00:45:01,830 --> 00:45:03,590 kesilapan ini sepanjang masa. 755 00:45:03,590 --> 00:45:05,807 Dan pengendali adalah sebenarnya yang anda mahu. 756 00:45:05,807 --> 00:45:08,140 Anda tidak mahu menggunakan dua ampersands, hanya satu daripadanya. 757 00:45:08,140 --> 00:45:14,970 758 00:45:14,970 --> 00:45:17,010 OK. 759 00:45:17,010 --> 00:45:18,140 >> Jadi mari kita lihat. 760 00:45:18,140 --> 00:45:20,930 761 00:45:20,930 --> 00:45:23,920 Oleh itu, kita subsetted kepada partyid mana mereka Demokrat 762 00:45:23,920 --> 00:45:25,300 dan mereka tidak hilang nilai. 763 00:45:25,300 --> 00:45:27,690 Dan sekarang mari kita lihat yang mana mereka mengundi. 764 00:45:27,690 --> 00:45:31,530 Oleh itu, ia seolah-olah seperti kebanyakan daripada mereka mengundi untuk 1. 765 00:45:31,530 --> 00:45:36,090 Jadi, saya akan pergi ke depan dan mengatakan bahawa adalah Kerry. 766 00:45:36,090 --> 00:45:39,507 >> Begitu juga, anda boleh juga pergi ke Republik 767 00:45:39,507 --> 00:45:41,090 dan mudah-mudahan, ini harus memberi anda 2. 768 00:45:41,090 --> 00:45:49,730 769 00:45:49,730 --> 00:45:51,770 Ia hanya mempunyai banyak ruangan yang berbeza. 770 00:45:51,770 --> 00:45:53,070 Dan sesungguhnya, itu 2. 771 00:45:53,070 --> 00:45:55,750 Jadi partyid semua Republikan, kebanyakan mereka mengundi 2. 772 00:45:55,750 --> 00:45:58,390 >> Oleh itu, ia seolah-olah seperti, hanya dengan melihat ini, 773 00:45:58,390 --> 00:46:00,600 Republikan akan menjadi yang very-- atau partyid yang 774 00:46:00,600 --> 00:46:02,790 akan menjadi sangat faktor besar dalam menentukan 775 00:46:02,790 --> 00:46:05,420 yang calon mereka akan mengundi. 776 00:46:05,420 --> 00:46:07,120 Dan ini adalah jelas benar secara umum. 777 00:46:07,120 --> 00:46:10,139 Dan ini perlawanan anda gerak hati, sudah tentu. 778 00:46:10,139 --> 00:46:11,930 Oleh itu, ia seolah-olah seperti saya kesuntukan masa jadi 779 00:46:11,930 --> 00:46:17,040 biar saya perlu pergi ke depan dan menunjukkan sesetengah imej cepat. 780 00:46:17,040 --> 00:46:21,120 Jadi di sini adalah sesuatu yang sedikit lebih rumit dengan visualisasi. 781 00:46:21,120 --> 00:46:26,450 Jadi dalam kes ini, ini adalah sangat analisis mudah hanya memeriksa apa 782 00:46:26,450 --> 00:46:28,500 Presiden '04 adalah. 783 00:46:28,500 --> 00:46:33,920 >> Jadi dalam kes ini, katakan anda mahu untuk menjawab soalan ini. 784 00:46:33,920 --> 00:46:38,540 Jadi sekiranya kita ingin tahu mengundi tingkah laku dalam pilihan raya presiden 2004 785 00:46:38,540 --> 00:46:41,170 dan bagaimana yang berbeza mengikut kaum. 786 00:46:41,170 --> 00:46:44,380 Jadi bukan sahaja yang anda mahu melihat tingkah laku pengundian, 787 00:46:44,380 --> 00:46:47,860 tetapi anda mahu setiap subset bangsa dan jenis merumuskan bahawa. 788 00:46:47,860 --> 00:46:50,770 Dan anda hanya boleh memberitahu oleh tatatanda ini kompleks 789 00:46:50,770 --> 00:46:52,580 bahawa ini adalah jenis mendapat berjerebu. 790 00:46:52,580 --> 00:46:56,390 >> Jadi salah satu R yang lebih maju pakej itu juga jenis baru-baru ini 791 00:46:56,390 --> 00:47:00,070 dipanggil dplyr. 792 00:47:00,070 --> 00:47:03,060 Jadi ia adalah salah satu ini di sini. 793 00:47:03,060 --> 00:47:08,080 Dan ggplot2 ggg-- hanya bagus cara melakukan visualisasi lebih baik 794 00:47:08,080 --> 00:47:09,400 daripada yang terbina dalam. 795 00:47:09,400 --> 00:47:11,108 >> Jadi saya akan memuatkan kedua-dua perpustakaan. 796 00:47:11,108 --> 00:47:13,200 797 00:47:13,200 --> 00:47:16,950 Dan kemudian, saya akan pergi hadapan dan jalankan arahan ini. 798 00:47:16,950 --> 00:47:19,050 Anda hanya boleh merawat ini sebagai kotak hitam. 799 00:47:19,050 --> 00:47:23,460 >> Apa yang berlaku ialah paip ini Pengendali berlalu dalam hujah ini 800 00:47:23,460 --> 00:47:24,110 ke sini. 801 00:47:24,110 --> 00:47:28,070 Jadi, saya berkata kumpulan oleh dat bangsa dan kemudian presiden 04. 802 00:47:28,070 --> 00:47:31,530 Dan kemudian, semua perintah lain yang menapis dan kemudian merumuskan 803 00:47:31,530 --> 00:47:34,081 di mana yang saya lakukan kiraan dan maka saya merancang di sini. 804 00:47:34,081 --> 00:47:39,980 805 00:47:39,980 --> 00:47:42,500 OK sejuk. 806 00:47:42,500 --> 00:47:44,620 Jadi mari kita pergi ke depan dan melihat apa yang kelihatan seperti ini. 807 00:47:44,620 --> 00:47:52,280 808 00:47:52,280 --> 00:47:57,290 >> Jadi apa yang berlaku di sini adalah saya yang hanya diplotkan setiap kaum dan kemudian 809 00:47:57,290 --> 00:47:59,670 yang mana mereka mengundi. 810 00:47:59,670 --> 00:48:03,492 Dan kedua-dua yang berbeza sesuai dengan nilai-nilai 2 dan 1. 811 00:48:03,492 --> 00:48:05,325 Jika anda mahu menjadi lebih elegan, anda juga boleh 812 00:48:05,325 --> 00:48:11,770 hanya menyatakan bahawa 2 adalah Kerry-- atau 2 adalah Bush, dan kemudian 1 adalah Kerry. 813 00:48:11,770 --> 00:48:13,700 Dan anda juga boleh mempunyai yang dalam legenda anda. 814 00:48:13,700 --> 00:48:17,410 >> Dan anda juga boleh berpecah ini graf bar. 815 00:48:17,410 --> 00:48:19,480 Oleh kerana satu perkara yang bahawa, jika anda perhatikan, 816 00:48:19,480 --> 00:48:24,560 ini tidak adalah sangat mudah untuk mengenal pasti yang kedua-dua nilai adalah lebih besar. 817 00:48:24,560 --> 00:48:27,920 Jadi satu perkara yang anda akan mahu lakukan adalah mengambil kawasan biru ini 818 00:48:27,920 --> 00:48:31,855 dan hanya bergerak di sini supaya anda boleh membandingkan kedua-dua sebelah menyebelah. 819 00:48:31,855 --> 00:48:34,480 Dan saya rasa itu sesuatu yang saya tidak mempunyai masa untuk lakukan sekarang, 820 00:48:34,480 --> 00:48:36,660 tetapi itu juga sangat mudah untuk dilakukan. 821 00:48:36,660 --> 00:48:40,310 Anda hanya boleh melihat ke dalam halaman abdi ggplot. 822 00:48:40,310 --> 00:48:47,170 Jadi anda hanya boleh jangan ggplot seperti itu dan membaca ke halaman orang ini. 823 00:48:47,170 --> 00:48:51,920 >> Maka biarlah saya dengan cepat menunjukkan kepada anda beberapa perkara yang sejuk. 824 00:48:51,920 --> 00:48:57,610 Mari kita pergi ke depan dan pergi hanya kepada- permohonan pengajian mesin. 825 00:48:57,610 --> 00:49:02,450 Jadi mari kita mengatakan bahawa kita mempunyai tiga pakej jadi saya akan memuatkan ini dalam. 826 00:49:02,450 --> 00:49:05,500 827 00:49:05,500 --> 00:49:09,170 Jadi ini hanya mencetak beberapa maklumat selepas saya dimuatkan dalam perkara itu. 828 00:49:09,170 --> 00:49:15,220 Jadi saya katakan read.csv ini, dataset ini, dan kini 829 00:49:15,220 --> 00:49:18,940 Saya akan pergi ke depan dan melihat dan melihat apa yang di dalam dataset ini. 830 00:49:18,940 --> 00:49:22,080 >> Jadi 20 pemerhatian pertama. 831 00:49:22,080 --> 00:49:27,190 Jadi saya hanya mempunyai X1, X2, dan Y. Jadi seolah-olah seperti sekumpulan nilai-nilai ini 832 00:49:27,190 --> 00:49:31,640 adalah terdiri daripada mungkin 20 hingga 80 atau lebih. 833 00:49:31,640 --> 00:49:37,700 Dan kemudian juga untuk X2 dan kemudian Y ini seolah-olah menjadi label 0 dan 1. 834 00:49:37,700 --> 00:49:49,500 >> Untuk mengesahkan ini, saya boleh hanya melakukan ringkasan data X1. 835 00:49:49,500 --> 00:49:51,660 Dan kemudian juga untuk semua ruangan lain. 836 00:49:51,660 --> 00:49:55,300 Jadi ringkasan adalah jalan pantas hanya menunjukkan anda nilai cepat. 837 00:49:55,300 --> 00:49:56,330 Oh, maaf. 838 00:49:56,330 --> 00:49:58,440 Yang ini harus Y. 839 00:49:58,440 --> 00:50:03,420 >> Jadi dalam kes ini, memberikan quantiles, median, maxes juga. 840 00:50:03,420 --> 00:50:07,130 Dalam kes ini, dataY, anda boleh melihat bahawa ia hanya akan menjadi 0 dan 1. 841 00:50:07,130 --> 00:50:10,100 Juga min mengatakan 0.6, hanya bermaksud bahawa ia 842 00:50:10,100 --> 00:50:13,380 seolah-olah seperti saya mempunyai lebih daripada 1s 0-an. 843 00:50:13,380 --> 00:50:16,160 >> Jadi biarlah saya pergi ke depan dan pameran anda apa ini kelihatan seperti. 844 00:50:16,160 --> 00:50:17,470 Jadi, saya hanya akan reka ini. 845 00:50:17,470 --> 00:50:22,852 846 00:50:22,852 --> 00:50:24,636 Mari kita lihat bagaimana untuk membersihkan ini. 847 00:50:24,636 --> 00:50:30,492 848 00:50:30,492 --> 00:50:31,468 Oh OK. 849 00:50:31,468 --> 00:50:35,840 850 00:50:35,840 --> 00:50:36,340 OK. 851 00:50:36,340 --> 00:50:37,590 >> Jadi ini adalah apa yang ia kelihatan seperti. 852 00:50:37,590 --> 00:50:46,310 Oleh itu, ia seolah-olah seperti kuning saya dinyatakan sebagai 0, dan kemudian merah saya dinyatakan sebagai 1s. 853 00:50:46,310 --> 00:50:52,190 Jadi di sini ia kelihatan seperti titik label dan ia 854 00:50:52,190 --> 00:50:56,410 seolah-olah seperti anda hanya mahu beberapa semacam pengelompokan pada ini. 855 00:50:56,410 --> 00:51:01,020 >> Dan biarlah saya pergi ke depan dan pameran anda beberapa fungsi-fungsi terbina dalam. 856 00:51:01,020 --> 00:51:03,580 Jadi di sini adalah lm. 857 00:51:03,580 --> 00:51:06,060 Jadi ini hanya cuba untuk muat garis untuk ini. 858 00:51:06,060 --> 00:51:08,640 Jadi apakah cara terbaik bahawa saya boleh muat garis itu 859 00:51:08,640 --> 00:51:14,020 yang terbaik ia akan memisahkan seperti ini kelompok. 860 00:51:14,020 --> 00:51:21,790 Dan ideal, anda hanya boleh melihat bahawa saya hanya menjalankan semua perintah ini 861 00:51:21,790 --> 00:51:25,450 dan kemudian, saya akan hadapan dan menambah baris. 862 00:51:25,450 --> 00:51:28,970 >> Jadi ini seolah-olah seperti tekaan yang terbaik. 863 00:51:28,970 --> 00:51:34,150 Ia mengambil yang terbaik yang mengurangkan kesilapan dalam cuba untuk muat baris ini. 864 00:51:34,150 --> 00:51:40,000 Jelas sekali, ini kelihatan jenis baik, tetapi ia bukan yang terbaik. 865 00:51:40,000 --> 00:51:43,130 Dan model linear, dalam umum, akan menjadi 866 00:51:43,130 --> 00:51:46,811 benar-benar hebat untuk teori dan hanya semacam asas pembinaan mesin 867 00:51:46,811 --> 00:51:47,310 pembelajaran. 868 00:51:47,310 --> 00:51:50,330 Tetapi dalam amalan, anda akan mahu melakukan sesuatu yang lebih umum. 869 00:51:50,330 --> 00:51:54,280 >> Jadi anda hanya boleh cuba berjalan sesuatu yang dipanggil rangkaian neural. 870 00:51:54,280 --> 00:51:57,110 Perkara-perkara ini adalah semakin lebih biasa. 871 00:51:57,110 --> 00:52:00,530 Dan mereka hanya bekerja fantastically untuk set data yang besar. 872 00:52:00,530 --> 00:52:07,080 Jadi dalam kes ini, kita hanya have-- mari kita see-- kita mempunyai nrow. 873 00:52:07,080 --> 00:52:09,010 Jadi nrow hanya berkata beberapa baris. 874 00:52:09,010 --> 00:52:11,790 Jadi dalam kes ini, saya mempunyai 100 pemerhatian. 875 00:52:11,790 --> 00:52:15,010 >> Jadi biarlah saya pergi ke depan dan membuat rangkaian neural. 876 00:52:15,010 --> 00:52:18,620 Jadi ini adalah benar-benar bagus kerana saya hanya boleh mengatakan nnet 877 00:52:18,620 --> 00:52:21,767 dan kemudian saya merosot Y. Jadi Y adalah lajur tersebut. 878 00:52:21,767 --> 00:52:23,850 Dan kemudian merosot pada yang lain dua pembolehubah. 879 00:52:23,850 --> 00:52:27,360 Jadi ini adalah lebih pendek notasi untuk X1 dan X2. 880 00:52:27,360 --> 00:52:29,741 >> Jadi mari kita pergi ke depan dan menjalankan ini. 881 00:52:29,741 --> 00:52:30,240 Oh, maaf. 882 00:52:30,240 --> 00:52:32,260 Saya perlukan untuk menjalankan perkara ini keseluruhan. 883 00:52:32,260 --> 00:52:37,500 Dan ini adalah hanya mencetak notasi untuk berapa cepat atau tidak dengan cepat ia 884 00:52:37,500 --> 00:52:38,460 bertumpu. 885 00:52:38,460 --> 00:52:41,420 Jadi ia kelihatan seperti ia berkumpul. 886 00:52:41,420 --> 00:52:44,970 Jadi biarlah saya pergi ke depan dan cetak apa ini kelihatan seperti. 887 00:52:44,970 --> 00:52:51,260 >> Lihat di sini adalah gambar dan di sini adalah kontur menunjukkan bagaimana ia sesuai. 888 00:52:51,260 --> 00:52:56,380 Dan ini adalah just-- anda boleh melihat ini bahawa ini adalah sangat, sangat bagus. 889 00:52:56,380 --> 00:52:59,400 Ia juga boleh menjadi overfitting, tetapi anda boleh juga 890 00:52:59,400 --> 00:53:03,390 akaun untuk ini dengan lain teknik seperti merentas pengesahan. 891 00:53:03,390 --> 00:53:06,180 Dan ini juga dibina ke R. 892 00:53:06,180 --> 00:53:09,170 >> Dan biarlah saya menunjukkan menyokong mesin vektor. 893 00:53:09,170 --> 00:53:12,470 Ini merupakan satu lagi benar-benar biasa teknik dalam pembelajaran mesin. 894 00:53:12,470 --> 00:53:18,550 Ia adalah hampir sama dengan model linear, tetapi ia menggunakan apa yang dipanggil kaedah kernel. 895 00:53:18,550 --> 00:53:22,790 Dan mari kita lihat seberapa baik yang tidak. 896 00:53:22,790 --> 00:53:26,430 Jadi satu ini adalah sangat serupa dengan bagaimana dan rangkaian neural melaksanakan, 897 00:53:26,430 --> 00:53:27,900 tetapi ia lebih lancar. 898 00:53:27,900 --> 00:53:35,740 Dan ini adalah berdasarkan off daripada what-- bagaimana SVMs kerja. 899 00:53:35,740 --> 00:53:40,250 >> Jadi ini adalah hanya yang sangat gambaran keseluruhan cepat beberapa 900 00:53:40,250 --> 00:53:43,822 fungsi terbina dalam yang anda boleh lakukan dan juga beberapa penerokaan data. 901 00:53:43,822 --> 00:53:45,905 Maka biarlah saya pergi ke hadapan dan kembali ke slaid. 902 00:53:45,905 --> 00:53:50,290 903 00:53:50,290 --> 00:53:53,670 >> Jadi jelas, ini adalah tidak begitu menyeluruh. 904 00:53:53,670 --> 00:53:57,140 Dan ini adalah benar-benar hanya penggoda yang menunjukkan anda apa yang anda benar-benar boleh buat di R. 905 00:53:57,140 --> 00:53:59,100 Jadi jika anda ingin seperti untuk mengetahui lebih lanjut di sini 906 00:53:59,100 --> 00:54:01,210 adalah sekumpulan sumber yang berbeza. 907 00:54:01,210 --> 00:54:06,890 >> Jadi, jika anda suka buku teks atau anda hanya gemar membaca bahan dalam talian 908 00:54:06,890 --> 00:54:09,670 maka ini adalah hebat satu oleh Hadley Wickham, 909 00:54:09,670 --> 00:54:13,010 yang juga mencipta semua ini pakej benar-benar sejuk. 910 00:54:13,010 --> 00:54:17,420 Jika anda suka video, kemudian Berkeley mempunyai Bootcamp awesome 911 00:54:17,420 --> 00:54:21,060 itulah several-- itulah jenis panjang. 912 00:54:21,060 --> 00:54:24,210 Dan ia akan mengajar anda hampir semua yang anda ingin tahu tentang R. 913 00:54:24,210 --> 00:54:27,770 >> Begitu juga, ada Codeacademy dan semua jenis lain 914 00:54:27,770 --> 00:54:29,414 laman web interaktif. 915 00:54:29,414 --> 00:54:31,580 Mereka juga mendapat common-- lebih dan lebih biasa. 916 00:54:31,580 --> 00:54:33,749 Jadi ini adalah hampir sama dengan Codeacademy. 917 00:54:33,749 --> 00:54:35,790 Dan akhirnya, jika anda hanya Komuniti dan ingin membantu, 918 00:54:35,790 --> 00:54:38,800 ini adalah sekumpulan perkara yang anda boleh pergi ke. 919 00:54:38,800 --> 00:54:40,880 Jelas sekali, kita masih menggunakan senarai mel, hanya 920 00:54:40,880 --> 00:54:44,860 seperti hampir setiap lain masyarakat bahasa pengaturcaraan. 921 00:54:44,860 --> 00:54:47,880 Dan #rstats, ini adalah masyarakat kita Twitter. 922 00:54:47,880 --> 00:54:49,580 Itulah sebenarnya perkara biasa. 923 00:54:49,580 --> 00:54:50,850 Dan kemudian pengguna! 924 00:54:50,850 --> 00:54:52,340 Hanya persidangan kami. 925 00:54:52,340 --> 00:54:55,390 >> Dan kemudian, sudah tentu, anda boleh menggunakan semua Q & A lain perkara ini, 926 00:54:55,390 --> 00:54:57,680 seperti Stack Limpahan, Google, dan kemudian GitHub. 927 00:54:57,680 --> 00:55:00,490 Oleh kerana sebahagian besar daripada pakej-pakej ini dan banyak masyarakat 928 00:55:00,490 --> 00:55:03,420 akan tertumpu kepada membangunkan kod kerana ia adalah sumber terbuka. 929 00:55:03,420 --> 00:55:05,856 Dan ia hanya benar-benar baik pada GitHub. 930 00:55:05,856 --> 00:55:08,730 Dan akhirnya, anda boleh menghubungi saya jika anda hanya mempunyai apa-apa soalan cepat. 931 00:55:08,730 --> 00:55:13,530 Oleh itu, anda boleh mencari saya di Twitter di sini, laman web saya, dan hanya e-mel saya. 932 00:55:13,530 --> 00:55:17,840 Jadi mudah-mudahan, yang something-- hanya teaser pendek 933 00:55:17,840 --> 00:55:20,900 apa R adalah benar-benar mampu melakukan. 934 00:55:20,900 --> 00:55:23,990 Dan mudah-mudahan, anda hanya semak tiga pautan 935 00:55:23,990 --> 00:55:25,760 dan melihat apa yang anda boleh lakukan lebih. 936 00:55:25,760 --> 00:55:28,130 Dan saya rasa itu hanya mengenainya. 937 00:55:28,130 --> 00:55:28,630 Terima kasih. 938 00:55:28,630 --> 00:55:30,780 >> [Tepuk tangan] 939 00:55:30,780 --> 00:55:31,968