1 00:00:00,000 --> 00:00:00,750 2 00:00:00,750 --> 00:00:09,800 >> [Музички] 3 00:00:09,800 --> 00:00:13,014 4 00:00:13,014 --> 00:00:13,680 DUSTIN TRAN: Здраво. 5 00:00:13,680 --> 00:00:14,980 Дастин Моето име. 6 00:00:14,980 --> 00:00:18,419 Затоа јас ќе се презентира Анализа на податоци во Р. 7 00:00:18,419 --> 00:00:19,710 Само малку за себе. 8 00:00:19,710 --> 00:00:24,320 Јас сум во моментов дипломиран студент во на инженерство и применети науки. 9 00:00:24,320 --> 00:00:28,330 Учам испреплетувале машина за учење и статистики 10 00:00:28,330 --> 00:00:31,375 па анализа на податоци во R е навистина фундаментално значење за она што 11 00:00:31,375 --> 00:00:33,790 Јас се направи на дневна основа. 12 00:00:33,790 --> 00:00:35,710 >> И R е особено добро за анализа на податоци 13 00:00:35,710 --> 00:00:39,310 бидејќи тоа е многу добро за Текара. 14 00:00:39,310 --> 00:00:43,590 И обично, кога правиш некој вид анализа на податоците, многу од проблемите 15 00:00:43,590 --> 00:00:44,920 се случува да се когнитивно. 16 00:00:44,920 --> 00:00:48,700 И така само сакаат да имаат некои навистина добри јазик 17 00:00:48,700 --> 00:00:53,770 е само добар за правење вградена во функциите, што е спротивно 18 00:00:53,770 --> 00:00:57,430 да се има да се справи со ниско ниво на работите. 19 00:00:57,430 --> 00:01:01,040 Така, во почетокот, јас сум само ќе да се воведе она што е R, зошто би 20 00:01:01,040 --> 00:01:04,540 сакате да го користите, и потоа оди преку во некои демо, 21 00:01:04,540 --> 00:01:07,060 и само одат од таму. 22 00:01:07,060 --> 00:01:08,150 >> Значи она што е R? 23 00:01:08,150 --> 00:01:11,180 Р е само јазик развиен за статистички компјутери 24 00:01:11,180 --> 00:01:12,450 и визуелизација. 25 00:01:12,450 --> 00:01:16,000 Значи она што ова значи е дека тоа е многу одлични јазик 26 00:01:16,000 --> 00:01:22,400 за секој вид на нешто што се занимава со несигурност или визуелизација на податоците. 27 00:01:22,400 --> 00:01:24,850 Па имате сите овие распределба на веројатностите. 28 00:01:24,850 --> 00:01:27,140 Таму се случува да биде вградена во функциите. 29 00:01:27,140 --> 00:01:31,650 Вие исто така ќе имаат одлична заговор пакети. 30 00:01:31,650 --> 00:01:34,110 >> Пајтон е уште еден конкурентски јазик за податоци. 31 00:01:34,110 --> 00:01:40,020 И една работа која сметам дека R е многу подобро е визуелизација. 32 00:01:40,020 --> 00:01:45,200 Па што ќе видите во демо како добро е само многу интуитивен јазик 33 00:01:45,200 --> 00:01:48,050 кој едноставно работи исклучително добро. 34 00:01:48,050 --> 00:01:53,140 Исто така е слободен и софтвер со отворен код, како е секој добар јазик претпоставувам. 35 00:01:53,140 --> 00:01:55,440 >> И тука, еден куп на само клучни зборови фрлени во вас. 36 00:01:55,440 --> 00:02:00,450 Тоа е динамичен, што значи дека ако имате посебен вид доделен на објект 37 00:02:00,450 --> 00:02:02,025 од тоа само ќе го промени на мува. 38 00:02:02,025 --> 00:02:05,670 Тоа е мрзелив, па тоа е паметен за како го прави пресметки. 39 00:02:05,670 --> 00:02:12,250 Функционален што значи тоа навистина може да работи базирана на функции, па anything-- 40 00:02:12,250 --> 00:02:16,910 било вид на манипулација сте Притоа, тој ќе биде базирана на функции. 41 00:02:16,910 --> 00:02:20,162 >> Значи бинарни оператори, на пример, се само инхерентно функции. 42 00:02:20,162 --> 00:02:21,870 И сето она што сте ќе треба да направите е да се 43 00:02:21,870 --> 00:02:24,690 ќе треба да се избега себе функции. 44 00:02:24,690 --> 00:02:27,140 И тогаш објектно ориентирано, како и. 45 00:02:27,140 --> 00:02:30,930 >> Значи тука е XKCD заговор. 46 00:02:30,930 --> 00:02:34,350 Не само затоа што се чувствувам како да XKCD е од фундаментално значење за било кој вид 47 00:02:34,350 --> 00:02:37,770 на презентација, туку затоа што Се чувствувам како тоа навистина 48 00:02:37,770 --> 00:02:42,160 чекани поентата дека многу од време кога правиш некој вид на податоци 49 00:02:42,160 --> 00:02:46,570 анализа, не е проблемот толку многу колку брзо бега, 50 00:02:46,570 --> 00:02:49,850 но колку долго тоа ќе се ве однесе да се програмира на задачата. 51 00:02:49,850 --> 00:02:54,112 Значи тука е само анализирањето на тоа дали стратегија a или b е поефикасен. 52 00:02:54,112 --> 00:02:55,820 Ова се случува да биде нешто што сте 53 00:02:55,820 --> 00:02:58,290 случува да се справи со нив, во многу вид на ниско ниво јазици 54 00:02:58,290 --> 00:03:03,440 кога си имаш работа со СКГ грешки, распределбата на меморија, initializations, 55 00:03:03,440 --> 00:03:05,270 дури и правење на вградена во функциите. 56 00:03:05,270 --> 00:03:09,920 И овој материјал се ракува со сите многу, многу елегантно во Р. 57 00:03:09,920 --> 00:03:12,839 >> Па само да ги нападне овој точка, најголемиот тесно грло 58 00:03:12,839 --> 00:03:13,880 ќе биде когнитивни. 59 00:03:13,880 --> 00:03:17,341 Значи, анализа на податоци е многу тешко проблем. 60 00:03:17,341 --> 00:03:19,340 Без разлика дали ви се прави машина за учење или сте 61 00:03:19,340 --> 00:03:22,550 го прават само некој вид на основните истражување на податоци, 62 00:03:22,550 --> 00:03:25,290 не сакате да има да се донесе документ 63 00:03:25,290 --> 00:03:27,440 а потоа ги собира нешто што секој пат кога ќе 64 00:03:27,440 --> 00:03:31,010 сакаат да видат што колона изгледа, она што особено записите во матрица 65 00:03:31,010 --> 00:03:32,195 изгледа како. 66 00:03:32,195 --> 00:03:34,320 Така да само сакаат да имаат некои навистина убав интерфејс 67 00:03:34,320 --> 00:03:37,740 можете да го извршите едноставна функција дека индексите на она што 68 00:03:37,740 --> 00:03:41,870 сакате и само ја стартувате од таму. 69 00:03:41,870 --> 00:03:44,190 И ви треба домен специфични јазици за ова. 70 00:03:44,190 --> 00:03:51,750 И Р навистина ќе ви помогнат да се дефинираат проблемот и да го реши тоа на овој начин. 71 00:03:51,750 --> 00:03:58,690 >> Значи тука е заговор покажува програмирање Популарноста на R како што тоа го нема текот на времето. 72 00:03:58,690 --> 00:04:04,060 Па како што можете да видите, како 2013 или така што само разнесено неверојатно. 73 00:04:04,060 --> 00:04:09,570 И ова е само поради тоа огромен тренд во индустријата на технологијата 74 00:04:09,570 --> 00:04:10,590 за големи податоци. 75 00:04:10,590 --> 00:04:13,010 Исто така, не само на технологијата индустрија, но, навистина 76 00:04:13,010 --> 00:04:16,490 било која индустрија that-- бидејќи голем број на индустрии 77 00:04:16,490 --> 00:04:20,589 се вид на фундаментално значење за се обидува да ги реши овие проблеми. 78 00:04:20,589 --> 00:04:24,590 И обично, може да има некои добри начин на мерење на овие проблеми 79 00:04:24,590 --> 00:04:29,720 или дури и да ги дефинира или решавање на нив со користење на податоци. 80 00:04:29,720 --> 00:04:35,430 Па мислам дека во моментов R е 11-ти најпопуларните јазик на TIOBE 81 00:04:35,430 --> 00:04:38,200 и тоа е во пораст, бидејќи тогаш. 82 00:04:38,200 --> 00:04:40,740 83 00:04:40,740 --> 00:04:43,080 >> Па еве некои повеќе карактеристики на Р. Таа има 84 00:04:43,080 --> 00:04:46,900 огромен број на пакети и за сите овие различни нешта. 85 00:04:46,900 --> 00:04:52,470 Затоа, секој пат кога ќе имаат некој проблем, повеќето 86 00:04:52,470 --> 00:04:55,060 времето R ќе има таа функција за вас. 87 00:04:55,060 --> 00:04:58,520 Значи без разлика дали сакате да изгради некој вид на машина 88 00:04:58,520 --> 00:05:02,770 учење алгоритам наречен Случајни шума или одлуката на дрва, 89 00:05:02,770 --> 00:05:07,530 или дури и се обидува да ги средната вредност на функција или било кој од овие работи, 90 00:05:07,530 --> 00:05:10,000 R ќе го имаат тоа. 91 00:05:10,000 --> 00:05:14,190 >> И ако не ти е гајле за тоа оптимизација, едно нешто што е заедничко 92 00:05:14,190 --> 00:05:17,430 е дека откако ќе завршиш Текара некој вид на високо ниво јазик, 93 00:05:17,430 --> 00:05:19,810 ќе фрли дека in-- Вие само ќе портот на кој над 94 00:05:19,810 --> 00:05:21,550 на некои ниско ниво јазик. 95 00:05:21,550 --> 00:05:26,090 Што е добро за R е дека некогаш сте Текара направи тоа, можете да го извршите C ++, 96 00:05:26,090 --> 00:05:29,510 или FORTRAN, или било која од овие пониско ниво оние директно во Р. 97 00:05:29,510 --> 00:05:32,320 Значи тоа е еден навистина кул особина за истражување, 98 00:05:32,320 --> 00:05:35,930 ако навистина се грижат за оптимизација точка. 99 00:05:35,930 --> 00:05:39,490 >> И тоа е, исто така, навистина добро за веб визуализации. 100 00:05:39,490 --> 00:05:43,530 Значи D3.js, на пример, Претпоставувам друг семинар 101 00:05:43,530 --> 00:05:45,130 што ние денес го презентираше. 102 00:05:45,130 --> 00:05:48,510 И ова е навистина страшно за прави интерактивна визуелизација. 103 00:05:48,510 --> 00:05:54,460 И D3.js се претпоставува дека имаат некој вид на податоци за да се црта 104 00:05:54,460 --> 00:05:58,080 и R е одличен начин да се биде во можност да го стори анализа на податоците пред да го изнесете 105 00:05:58,080 --> 00:06:04,220 во текот на D3.js или дури и само стартувајте D3.js команди во R себе, 106 00:06:04,220 --> 00:06:08,240 како и сите овие други библиотеки, како и. 107 00:06:08,240 --> 00:06:13,041 >> Па тоа беше само воведувањето на она што е R и зошто би го користите. 108 00:06:13,041 --> 00:06:14,790 Па се надевам, јас сум сте убедени нешто 109 00:06:14,790 --> 00:06:18,460 за само се обидува да видиме што тоа е како. 110 00:06:18,460 --> 00:06:23,930 Па јас одам да се оди напред и да си одат преку некои основи за R објекти 111 00:06:23,930 --> 00:06:26,150 и она што навистина може да се направи. 112 00:06:26,150 --> 00:06:29,690 >> Значи тука е само еден куп на математика команди. 113 00:06:29,690 --> 00:06:35,000 Така велат you're-- сакате да се изгради јазик себе и едноставно сакате 114 00:06:35,000 --> 00:06:38,080 да имаат еден куп на различни алатки. 115 00:06:38,080 --> 00:06:42,520 Било кој вид на работа мислите дека би сакам е доста ќе биде во Р. 116 00:06:42,520 --> 00:06:44,150 >> Значи тука е 2 плус 2. 117 00:06:44,150 --> 00:06:46,090 Тука е 2 пати ПИ. 118 00:06:46,090 --> 00:06:51,870 R има еден куп на вградениот константи кои честопати ќе се користи како пи, е. 119 00:06:51,870 --> 00:06:56,230 >> А потоа, тука е 7 плус runif, така runif од 1. 120 00:06:56,230 --> 00:07:02,450 Ова е функција која е генерира еден случаен подеднакво од 0 до 1. 121 00:07:02,450 --> 00:07:04,400 А потоа, тука е 3 на моќта на 4. 122 00:07:04,400 --> 00:07:06,430 Има квадратни корени. 123 00:07:06,430 --> 00:07:07,270 >> Има логирате. 124 00:07:07,270 --> 00:07:14,500 Значи најавите ќе направи база експоненцијална од себе. 125 00:07:14,500 --> 00:07:18,337 И тогаш, ако се определи база, а потоа можете да правите што сакате база. 126 00:07:18,337 --> 00:07:19,920 А потоа, тука се и некои други команди. 127 00:07:19,920 --> 00:07:22,180 Па имате 23 мод 2. 128 00:07:22,180 --> 00:07:24,910 Потоа мора остатокот. 129 00:07:24,910 --> 00:07:27,110 Потоа мора научни нотација ако вие исто така 130 00:07:27,110 --> 00:07:34,060 сакате да се направи нешто повеќе и повеќе комплицирани работи. 131 00:07:34,060 --> 00:07:37,320 >> Па овде е задача. 132 00:07:37,320 --> 00:07:40,830 Така типични задачи во R е направено со стрелка 133 00:07:40,830 --> 00:07:43,440 така што е помалку отколку, а потоа и цртичка. 134 00:07:43,440 --> 00:07:47,250 Па еве јас сум само давање 3 на променлива вал. 135 00:07:47,250 --> 00:07:50,160 >> И тогаш јас сум печатење Вал и тогаш тоа отпечатоци од три. 136 00:07:50,160 --> 00:07:53,920 По дифолт во R преведувач, тоа ќе печати работи за вас 137 00:07:53,920 --> 00:07:57,280 така да не треба да се наведе печати Вал секој пат кога ќе сакате да се печати нешто. 138 00:07:57,280 --> 00:08:00,200 Вие само може да го направи Вал и тогаш тоа ќе го направи тоа за вас. 139 00:08:00,200 --> 00:08:04,380 >> Исто така, можете да го користите еднаква на технички како задача оператор. 140 00:08:04,380 --> 00:08:07,190 Постојат мали суптилностите помеѓу користење на стрелките 141 00:08:07,190 --> 00:08:10,730 оператор и еднаквите оператор за задачи. 142 00:08:10,730 --> 00:08:15,470 Претежно од Конвенцијата, секој само ќе го користи на стрелките на операторот. 143 00:08:15,470 --> 00:08:21,850 >> И тука, јас сум давање на оваа дијагонална нотација наречена 1 дебелото црево 6. 144 00:08:21,850 --> 00:08:26,010 Оваа генерира вектор од 1 до 6. 145 00:08:26,010 --> 00:08:29,350 И тоа е навистина убаво, бидејќи тогаш вие само му ја додели на вектор на Вал 146 00:08:29,350 --> 00:08:34,270 и дека работи само по себе. 147 00:08:34,270 --> 00:08:37,799 >> Значи ова веќе се случува од single-- многу интуитивен податоци 148 00:08:37,799 --> 00:08:41,070 структура на само двојно некои од типот на видот во вектор 149 00:08:41,070 --> 00:08:45,670 и кој ќе ги собира сите скаларен вредности за вас. 150 00:08:45,670 --> 00:08:50,770 Значи, откако ќе од скаларен, можете имаат Р објекти и ова е вектор. 151 00:08:50,770 --> 00:08:55,610 А вектор е било кој вид на наплата на истиот тип. 152 00:08:55,610 --> 00:08:58,150 Значи тука се и еден куп на вектори. 153 00:08:58,150 --> 00:08:59,800 >> Значи ова е нумеричка. 154 00:08:59,800 --> 00:09:02,440 Нумерички е начин да се каже двојно Р. 155 00:09:02,440 --> 00:09:07,390 И така, по дифолт, секој бројот ќе биде двојно. 156 00:09:07,390 --> 00:09:13,150 >> Значи, ако имате в од 1,1, 3, негативни 5.7, на c е функција. 157 00:09:13,150 --> 00:09:16,760 Ова concatenates сите три броеви во вектор. 158 00:09:16,760 --> 00:09:19,619 И ова ќе be-- па ако Ако забележите 3 сама по себе, 159 00:09:19,619 --> 00:09:21,910 Нормално дека ќе ги преземе дека ова е како цел број, 160 00:09:21,910 --> 00:09:25,050 туку затоа што сите вектори може да бидат исти тип, 161 00:09:25,050 --> 00:09:28,660 ова е вектор на двојки или нумерички во овој случај. 162 00:09:28,660 --> 00:09:34,920 >> rnorm е функција која генерира стандард нормално variables-- 163 00:09:34,920 --> 00:09:36,700 или стандард нормални вредности. 164 00:09:36,700 --> 00:09:38,360 И јас сум специфицирање на две од нив. 165 00:09:38,360 --> 00:09:43,840 Па јас го правам rnorm 2, доделување дека за да devs, и тогаш јас сум печатење devs. 166 00:09:43,840 --> 00:09:47,350 Значи овие се само две случаен нормални вредности. 167 00:09:47,350 --> 00:09:50,060 >> И тогаш ints ако не вие се грижите за цели броеви. 168 00:09:50,060 --> 00:09:54,650 Значи ова е само за меморија распределба и заштеда на големината на меморијата. 169 00:09:54,650 --> 00:10:01,460 Значи, вие ќе треба да се додаде вашите броеви од главниот град Л. 170 00:10:01,460 --> 00:10:04,170 >> Во принцип, ова е Историски нотација Р 171 00:10:04,170 --> 00:10:06,940 за нешто што се нарекува долги цел број. 172 00:10:06,940 --> 00:10:09,880 Така, поголемиот дел од времето, ќе се занимаваат со двојки. 173 00:10:09,880 --> 00:10:15,180 И ако некогаш ќе подоцна за да се оптимизира вашиот код, 174 00:10:15,180 --> 00:10:18,110 можете само да ги додадете овие L's потоа или за време на тоа 175 00:10:18,110 --> 00:10:22,280 ако сте како precognitive за тоа што си оди за да се направи овие променливи. 176 00:10:22,280 --> 00:10:25,340 177 00:10:25,340 --> 00:10:26,890 >> Значи тука е лик вектор. 178 00:10:26,890 --> 00:10:31,440 Значи, повторно, јас сум concatenating три жици тоа време. 179 00:10:31,440 --> 00:10:36,230 Забележете дека двојно жици и еден низи се исти во Р. 180 00:10:36,230 --> 00:10:41,000 Значи имам Артур и Марвин и така кога јас сум таа печатење, сите од нив 181 00:10:41,000 --> 00:10:43,210 се случува да се покаже двојно жици. 182 00:10:43,210 --> 00:10:45,880 И ако вие исто така сакаат да се вклучат двојни или за еден стринг 183 00:10:45,880 --> 00:10:50,070 во вашите карактери, тогаш може да се или го менува вашиот жици. 184 00:10:50,070 --> 00:10:53,540 >> Значи Марвин е проект за втор елемент, ова е 185 00:10:53,540 --> 00:10:56,380 ќе ви show-- само треба двојно жици 186 00:10:56,380 --> 00:10:59,050 а потоа еден стринг па ова е наизменични. 187 00:10:59,050 --> 00:11:04,040 Во спротивно, ако сакате да користите двојно низа оператор во двојна низа 188 00:11:04,040 --> 00:11:07,090 и кога го прогласи, а потоа само користење на бегство оператор. 189 00:11:07,090 --> 00:11:10,600 Така да се направи обратна коса црта двојно стринг. 190 00:11:10,600 --> 00:11:13,330 >> И на крај, ние, исто така, имаат логички вектори. 191 00:11:13,330 --> 00:11:15,890 Значи logical-- толку точно и лажни, и тие се 192 00:11:15,890 --> 00:11:18,880 случува да бидат сите големи букви. 193 00:11:18,880 --> 00:11:22,370 А потоа, повторно, јас сум concatenating нив, а потоа ги доделуват на bools. 194 00:11:22,370 --> 00:11:24,590 Значи bools ќе сака да покаже можете точно, неточно, и вистински. 195 00:11:24,590 --> 00:11:28,280 196 00:11:28,280 --> 00:11:31,620 >> Па овде е векторизација индексирање. 197 00:11:31,620 --> 00:11:34,870 Така, во почетокот, сум преземање на function-- 198 00:11:34,870 --> 00:11:39,230 ова се нарекува sequence-- секвенца од 2 до 12. 199 00:11:39,230 --> 00:11:42,490 И јас сум преземање на низа од 2. 200 00:11:42,490 --> 00:11:46,660 Значи, тоа се случува да се направи 2, 4, 6, 8, 10 и 12. 201 00:11:46,660 --> 00:11:50,080 И тогаш, јас сум индексирање да се добие третиот елемент. 202 00:11:50,080 --> 00:11:55,770 >> Значи, една работа да се има предвид е дека R индекси почнувајќи од 1. 203 00:11:55,770 --> 00:12:00,550 Значи VALS 3 се случува да им даде можете третиот елемент. 204 00:12:00,550 --> 00:12:04,580 Ова е вид на различен од другите јазици, каде што почнува од нула. 205 00:12:04,580 --> 00:12:09,780 Значи во C или C ++, на пример, ти си ќе се добие четвртиот елемент. 206 00:12:09,780 --> 00:12:13,280 >> И тука е VALS од 3 до 5. 207 00:12:13,280 --> 00:12:16,030 Значи, едно нешто што е навистина кул е тоа што вие 208 00:12:16,030 --> 00:12:20,410 може да генерира привремени променливи внатре а потоа само ги користат на мува. 209 00:12:20,410 --> 00:12:21,960 Значи тука е 3 до 5. 210 00:12:21,960 --> 00:12:25,070 Затоа, јас сум генерирање вектор 3, 4 и 5, а потоа 211 00:12:25,070 --> 00:12:29,700 Јас сум индексирање да се добие трета, четвртиот, петтиот и елементи. 212 00:12:29,700 --> 00:12:32,280 >> Така, на сличен начин, можете да Апстракт Овој само да се направи 213 00:12:32,280 --> 00:12:35,280 било вид на вектор кој ви дава индексирање. 214 00:12:35,280 --> 00:12:40,050 Па овде е VALS а потоа првиот, третиот и шестиот елементи. 215 00:12:40,050 --> 00:12:42,800 И тогаш, ако сакате да се направи дополнување, 216 00:12:42,800 --> 00:12:45,210 така што само го прават минус потоа, а на кој ќе 217 00:12:45,210 --> 00:12:48,600 ти даде сè што не е прво, трето или шестиот елемент. 218 00:12:48,600 --> 00:12:51,590 Значи ова ќе биде 4, 8 и 10. 219 00:12:51,590 --> 00:12:54,380 >> И ако сакате да се добие дури и повеќе напредни, 220 00:12:54,380 --> 00:12:57,610 можете да concatenate Булова вектори. 221 00:12:57,610 --> 00:13:05,210 Значи овој индекс се случува да ви даде ова Булова вектор со должина од 6. 222 00:13:05,210 --> 00:13:07,280 Значи претставник ТОЧНО запирка 3. 223 00:13:07,280 --> 00:13:09,680 Ова ќе се повтори ТОЧНО три пати. 224 00:13:09,680 --> 00:13:12,900 Значи ова ќе ви даде вектор ТОЧНО, тоа е вистина, тоа е вистина. 225 00:13:12,900 --> 00:13:17,470 >> претставник НЕТОЧНО 4-- тоа се случува да ви даде вектор на лажни, неточни, погрешни, лажни. 226 00:13:17,470 --> 00:13:21,280 И тогаш в се случува да concatenate овие две Booleans заедно. 227 00:13:21,280 --> 00:13:24,090 Така да си оди за да се добие три TRUEs а потоа четири FALSEs. 228 00:13:24,090 --> 00:13:28,460 >> Така што кога ќе индекс VALS, ти си ќе се добие вистинската, тоа е вистина, тоа е вистина. 229 00:13:28,460 --> 00:13:31,420 Значи тоа се случува да се каже ДА, Сакам овие три елементи. 230 00:13:31,420 --> 00:13:33,520 И тогаш лажни, неточни, НЕТОЧНО, лажно се случува 231 00:13:33,520 --> 00:13:37,140 да кажеме не, не сакам оние елементи па тоа не се случува да ги врати. 232 00:13:37,140 --> 00:13:41,490 >> И претпоставувам дека има всушност е печатна грешка тука бидејќи ова е велејќи повтори ТОЧНО 3 233 00:13:41,490 --> 00:13:47,990 и да го повтори FALSE, 4, и технички, имаат само шест елементи па повторете лажни, 234 00:13:47,990 --> 00:13:50,470 тоа треба да биде повторување НЕТОЧНО 3. 235 00:13:50,470 --> 00:13:55,260 Мислам R е исто така доволно такви паметни дека ако само 4 наведете тука, а потоа 236 00:13:55,260 --> 00:13:56,630 Тоа дури и не ќе грешки надвор. 237 00:13:56,630 --> 00:13:58,480 Тоа само ќе ви даде оваа вредност. 238 00:13:58,480 --> 00:14:00,970 Па тоа само ќе го игнорираат тоа четвртиот лажни. 239 00:14:00,970 --> 00:14:05,310 240 00:14:05,310 --> 00:14:09,270 >> Па овде е векторизација задача. 241 00:14:09,270 --> 00:14:15,480 Значи set.seed-- ова само ги поставува семе за pseudorandom броеви. 242 00:14:15,480 --> 00:14:20,110 Затоа, јас сум поставување на семето да 42, што значи дека ако јас генерира 243 00:14:20,110 --> 00:14:22,950 три случајни нормално вредности, а потоа, ако 244 00:14:22,950 --> 00:14:27,400 set.seed кандидира на вашиот сопствен компјутер со користење на иста вредност 42, 245 00:14:27,400 --> 00:14:30,990 тогаш можете исто така да добијат истите три случаен нормални. 246 00:14:30,990 --> 00:14:33,411 >> Значи ова е навистина добра за репродуктивност. 247 00:14:33,411 --> 00:14:35,910 Обично, кога правиш некои вид на научна анализа, 248 00:14:35,910 --> 00:14:37,230 и вие ќе сакате да го поставите на семе. 249 00:14:37,230 --> 00:14:41,270 На тој начин, другите научници да се само репродуцира точно истиот код сте 250 00:14:41,270 --> 00:14:44,790 направи, бидејќи тие ќе имаат точната исто случајни променливи that-- или случајни 251 00:14:44,790 --> 00:14:47,270 вредности кои сте ги направиле исто така. 252 00:14:47,270 --> 00:14:49,870 253 00:14:49,870 --> 00:14:53,910 >> И така на векторизација задача тука се покажува на VALS 1 до 2. 254 00:14:53,910 --> 00:14:59,290 Па тоа го зема првиот два елементи на VALS и потоа да ги доделува на 0. 255 00:14:59,290 --> 00:15:03,940 И тогаш, исто така можете да го направите само на Слична работа со Booleans. 256 00:15:03,940 --> 00:15:09,340 >> Значи VALS не е еднаков на 0-- оваа волја ви даде вектор лажни, неточни, ТОЧНО 257 00:15:09,340 --> 00:15:10,350 во овој случај. 258 00:15:10,350 --> 00:15:13,770 И тогаш, тоа се случува да се каже било од тие индекси кои беа вистински, 259 00:15:13,770 --> 00:15:15,270 тогаш тоа се случува да се додели дека до 5. 260 00:15:15,270 --> 00:15:18,790 Па го зема третиот елемент тука, а потоа го доделува на 5. 261 00:15:18,790 --> 00:15:22,300 >> И ова е навистина убаво во однос на јазиците на ниско ниво 262 00:15:22,300 --> 00:15:25,560 каде што треба да се користи за петелки да се направи сето ова векторизација работи 263 00:15:25,560 --> 00:15:30,281 затоа што тоа е само многу интуитивен и тоа е само еден-постелка. 264 00:15:30,281 --> 00:15:32,030 И, што е одлично за векторизација нотација 265 00:15:32,030 --> 00:15:37,020 е дека во R, овие се вид на вграден така што тие се речиси исто толку брзо 266 00:15:37,020 --> 00:15:42,490 што се прави во ниско ниво јазик за разлика од правење на за телефонска линија во R 267 00:15:42,490 --> 00:15:46,317 и потоа таа да се направи динамиката себе индексирање. 268 00:15:46,317 --> 00:15:48,900 И тоа ќе биде побавно од тоа овој вид на векторизација работа 269 00:15:48,900 --> 00:15:55,950 каде што може да го направи тоа во паралела, каде тоа е тоа го правам во нишките основа. 270 00:15:55,950 --> 00:15:58,650 >> Значи тука е векторизација операции. 271 00:15:58,650 --> 00:16:04,920 Затоа, јас сум генерирање на вредност од 1 до 3, назначување дека за да vec1, од 3 до 5, vec2, 272 00:16:04,920 --> 00:16:05,950 додавање на нив заедно. 273 00:16:05,950 --> 00:16:11,490 Тоа им додава компонента-мудар па тоа е 1 плус 3, 2 и 4, и така натаму. 274 00:16:11,490 --> 00:16:13,330 >> vec1 пати vec2. 275 00:16:13,330 --> 00:16:16,110 Ова се размножува двете вредности компонента мудар. 276 00:16:16,110 --> 00:16:21,830 Така, тоа е 1 пати 3, 2 пати 4, а потоа и 3 пати 5. 277 00:16:21,830 --> 00:16:28,250 >> И тогаш, на сличен начин можете исто така да се направи comparisons-- логички споредби. 278 00:16:28,250 --> 00:16:33,640 Така, тоа е НЕТОЧНО Неточно Вистински во оваа случај, бидејќи 1 не е поголем од 3, 279 00:16:33,640 --> 00:16:35,920 2 не е поголем од 4. 280 00:16:35,920 --> 00:16:41,160 Ова е, претпоставувам, уште една печатна грешка, 3 дефинитивно не е поголема од 5. 281 00:16:41,160 --> 00:16:41,660 Да. 282 00:16:41,660 --> 00:16:45,770 И така, вие само може да се направи сите овие едноставни операции 283 00:16:45,770 --> 00:16:48,350 поради наследените од самите класи. 284 00:16:48,350 --> 00:16:51,110 285 00:16:51,110 --> 00:16:52,580 >> Па тоа беше само на вектор. 286 00:16:52,580 --> 00:16:56,530 И тоа е вид на најфундаменталните Р објект, бидејќи со оглед на вектор, 287 00:16:56,530 --> 00:16:59,170 може да се изгради повеќе напредни објекти. 288 00:16:59,170 --> 00:17:00,560 >> Па еве матрица. 289 00:17:00,560 --> 00:17:05,030 Ова е суштина на апстракција на она што матрица е себе. 290 00:17:05,030 --> 00:17:10,099 Значи во овој случај, тоа е три различни вектори, каде што секој од нив е колона, 291 00:17:10,099 --> 00:17:12,710 или можете да го разгледа како секој од нив е ред. 292 00:17:12,710 --> 00:17:18,250 >> Затоа, јас сум чување матрица од 1 до 9 и тогаш јас сум специфицирање 3 реда. 293 00:17:18,250 --> 00:17:23,364 Значи, 1 до 9 ќе ви даде вектор 1, 2, 3, 4, 5, 6, и сите на патот до 9. 294 00:17:23,364 --> 00:17:29,250 >> Една работа е да, исто така, имајте на ум е дека Р продавници вредности во колона голем формат. 295 00:17:29,250 --> 00:17:34,160 Значи со други зборови, кога ќе видите 1 до 9, тоа се случува да се сместат them-- 296 00:17:34,160 --> 00:17:36,370 тоа се случува да биде 1, 2, 3 во првата колона, 297 00:17:36,370 --> 00:17:38,510 и тогаш тоа ќе го стори 4, 5, 6 во втората колона, 298 00:17:38,510 --> 00:17:41,440 а потоа и 7, 8, 9 во третата колона. 299 00:17:41,440 --> 00:17:45,570 >> И тука се и некои други заеднички функции можете да го користите. 300 00:17:45,570 --> 00:17:49,650 Значи темни МАТ, ова ќе ви даде димензиите на матрицата. 301 00:17:49,650 --> 00:17:52,620 Тоа се случува да ви се врати вектор на димензија. 302 00:17:52,620 --> 00:17:55,580 Значи во овој случај, бидејќи нашите матрица е 3 од 3, 303 00:17:55,580 --> 00:18:01,900 тоа се случува да ви даде вектор нумерички тоа е 3 3. 304 00:18:01,900 --> 00:18:05,270 >> И тука е само покажува матрица множење. 305 00:18:05,270 --> 00:18:11,970 Па обично, само ако се направи asterisk-- така МАТ ѕвездичка mat-- 306 00:18:11,970 --> 00:18:15,380 ова ќе биде компонента-мудар работа 307 00:18:15,380 --> 00:18:17,300 или она што се нарекува производот Hadamard. 308 00:18:17,300 --> 00:18:21,310 Значи, тоа се случува да се направи секој елемент компонента-мудрец. 309 00:18:21,310 --> 00:18:23,610 Сепак, ако сакате матрица multiplication-- 310 00:18:23,610 --> 00:18:29,380 така множење на првиот ред пати Првата колона на втората матрицата 311 00:18:29,380 --> 00:18:34,510 и така on-- ќе се користи овој процент операција. 312 00:18:34,510 --> 00:18:38,110 >> И т на МАТ е само еден операција за транспонира. 313 00:18:38,110 --> 00:18:42,590 Значи сакам да кажам дека ги преземе транспонира во матрица, тоа се размножуваат од страна на матрица 314 00:18:42,590 --> 00:18:43,090 себе. 315 00:18:43,090 --> 00:18:45,006 И тогаш тоа се случува да врати за вас уште 3 316 00:18:45,006 --> 00:18:50,700 3 матрица прикажување производ што би сакале. 317 00:18:50,700 --> 00:18:53,750 >> И така тоа беше матрица. 318 00:18:53,750 --> 00:18:56,020 Тука е она што се нарекува податочна рамка. 319 00:18:56,020 --> 00:19:00,780 А податоците рамка можете да мислам на како матрица, но секоја колона се 320 00:19:00,780 --> 00:19:02,990 се случува да бидат од различен тип. 321 00:19:02,990 --> 00:19:07,320 >> Значи она што е навистина кул за податоци рамки е дека во анализа на податоци себе, 322 00:19:07,320 --> 00:19:11,260 ви се случува да имаат сите на овој хетерогени податоци и сите овие навистина 323 00:19:11,260 --> 00:19:15,640 каде неуредна нешта секоја од колоните самите можат да бидат од различен тип. 324 00:19:15,640 --> 00:19:21,460 Па еве јас велам создаде податоци рамка, дали ints од 1 до 3, 325 00:19:21,460 --> 00:19:24,750 а потоа, исто така, имаат карактер вектор. 326 00:19:24,750 --> 00:19:28,470 Па јас може да индексира преку секоја од овие колони 327 00:19:28,470 --> 00:19:30,930 а потоа јас ќе го добиете самите вредности. 328 00:19:30,930 --> 00:19:34,370 И ти исто така може да се направи некој вид на работењето на податоци рамки. 329 00:19:34,370 --> 00:19:38,040 И поголемиот дел од времето кога сте прави анализа на податоци или некој вид 330 00:19:38,040 --> 00:19:42,042 на препроцесирачка, ќе биде работа со овие структури на податоци 331 00:19:42,042 --> 00:19:44,250 каде што секоја колона се случува да бидат од различен тип. 332 00:19:44,250 --> 00:19:47,880 333 00:19:47,880 --> 00:19:52,970 >> На крај, па тие се во суштина само Од четирите значајни објекти во Р. Листа 334 00:19:52,970 --> 00:19:55,820 само ќе се соберат сите други објекти што сакате. 335 00:19:55,820 --> 00:20:00,130 Значи, тие ќе бидат зачувани во една променлива која лесно можете да пристапите. 336 00:20:00,130 --> 00:20:02,370 >> Па еве, јас сум преземање на листата. 337 00:20:02,370 --> 00:20:04,460 Сакам да кажам дека е еднакво на 3 нешта. 338 00:20:04,460 --> 00:20:08,060 Значи, јас ќе одам да имаат еден елемент во листата, и ова се нарекува работи, 339 00:20:08,060 --> 00:20:10,570 и тоа се случува да имаат вредност 3. 340 00:20:10,570 --> 00:20:13,140 >> Јас, исто така може да се создаде матрица. 341 00:20:13,140 --> 00:20:17,970 Значи ова е од 1 до 4 и ставање крај на расправијата изнесува 2, па на 2 од 2 матрица. 342 00:20:17,970 --> 00:20:20,270 Исто така во листата и се вика МАТ. 343 00:20:20,270 --> 00:20:24,690 moreStuff, карактер стринг, па дури и уште еден список во себе. 344 00:20:24,690 --> 00:20:27,710 >> Значи, ова е листата што е 5 и мечка. 345 00:20:27,710 --> 00:20:30,990 Така што има вредност 5 и тоа има карактер стринг мечка 346 00:20:30,990 --> 00:20:32,710 и тоа е една листа во листата. 347 00:20:32,710 --> 00:20:35,965 Така може да имаат овие рекурзивен работи каде 348 00:20:35,965 --> 00:20:38,230 имате another-- на тип во рамките на видот. 349 00:20:38,230 --> 00:20:41,420 Така, на сличен начин, може да имаат матрица во друга матрица и така натаму. 350 00:20:41,420 --> 00:20:44,264 И листа е само добар начин на собирање и Собирање 351 00:20:44,264 --> 00:20:45,430 сите овие различни предмети. 352 00:20:45,430 --> 00:20:50,210 353 00:20:50,210 --> 00:20:57,150 >> И на крај, тука е само помогне во случај Ова беше само качил над многу брзо. 354 00:20:57,150 --> 00:21:01,350 Значи, во секое време ви се збунети за некој вид на функција, 355 00:21:01,350 --> 00:21:03,510 можете да го направите помош на таа функција. 356 00:21:03,510 --> 00:21:07,120 Така што можете да направите помош матрица или знак прашалник матрица. 357 00:21:07,120 --> 00:21:11,430 И помош и прашалник се само кратенка за истото 358 00:21:11,430 --> 00:21:13,040 па тие се псевдоними. 359 00:21:13,040 --> 00:21:16,820 >> LM е функција која само го прави еден линеарен модел. 360 00:21:16,820 --> 00:21:20,340 Но, ако само немаат идеја како тоа дела, вие само може да се направи помош на lm 361 00:21:20,340 --> 00:21:24,610 и тоа ќе ви даде некои вид на документација која 362 00:21:24,610 --> 00:21:27,960 изгледа нешто како човек страница во Unix, каде 363 00:21:27,960 --> 00:21:34,210 имате краток опис на она што го прави тоа, исто така, она што нејзините аргументи се, 364 00:21:34,210 --> 00:21:38,850 што тој се враќа, и само совети за тоа како да го користат, а некои примери, како и. 365 00:21:38,850 --> 00:21:41,680 366 00:21:41,680 --> 00:21:52,890 >> Значи, дозволете ми да оди напред и да го покаже некои демо за користење на Р. ред. 367 00:21:52,890 --> 00:21:55,470 Па отидов многу брзо само на податоците 368 00:21:55,470 --> 00:21:59,440 структури и некој вид на op-- некои од операции. 369 00:21:59,440 --> 00:22:02,960 Еве некои функции. 370 00:22:02,960 --> 00:22:06,750 >> Па еве јас сум само ќе за да се дефинира функција. 371 00:22:06,750 --> 00:22:09,970 Затоа, јас сум исто така со користење задача оператор тука, 372 00:22:09,970 --> 00:22:12,610 а потоа сакам да кажам дека ја прогласи како функција. 373 00:22:12,610 --> 00:22:14,140 И тоа трае вредноста х. 374 00:22:14,140 --> 00:22:18,210 Значи ова е било вредноста што сакате а јас ќе одам да се врати x себе. 375 00:22:18,210 --> 00:22:20,840 Значи ова е идентитетот функција. 376 00:22:20,840 --> 00:22:23,670 >> И, што е кул за ова во споредба со други јазици 377 00:22:23,670 --> 00:22:26,330 и уште на ниско ниво јазици е дека x 378 00:22:26,330 --> 00:22:29,350 може да биде на било која самата тип и тоа ќе се врати тој тип. 379 00:22:29,350 --> 00:22:35,251 Така може да се imagine-- па ајде ми го изврши овој брзо. 380 00:22:35,251 --> 00:22:35,750 Жал ми е. 381 00:22:35,750 --> 00:22:40,300 >> Значи, една работа што треба да се спомене е дека овој уредувач Јас сум со користење 382 00:22:40,300 --> 00:22:41,380 се нарекува rstudio. 383 00:22:41,380 --> 00:22:44,389 Ова е она што се нарекува еден IDE. 384 00:22:44,389 --> 00:22:46,180 И едно нешто што е навистина убаво за ова 385 00:22:46,180 --> 00:22:51,500 е тоа што во неа се опфатени многу од работите што сакате да го направите во R сама по себе 386 00:22:51,500 --> 00:22:53,180 само многу интуитивно. 387 00:22:53,180 --> 00:22:55,550 >> Па овде е преведувач конзола. 388 00:22:55,550 --> 00:23:02,160 Така, на сличен начин, можете, исто така, може да добие оваа конзола суровини само со правење на главниот град Р. 389 00:23:02,160 --> 00:23:05,630 И токму тоа е истото како конзола. 390 00:23:05,630 --> 00:23:12,210 Па јас само може да се направи проект функција x, x, x. 391 00:23:12,210 --> 00:23:16,130 И then-- и тогаш тоа ќе биде во ред себе. 392 00:23:16,130 --> 00:23:19,200 393 00:23:19,200 --> 00:23:21,740 >> Значи rstudio е одлично затоа што има конзола. 394 00:23:21,740 --> 00:23:25,360 Таа, исто така има документи што би сакале да работат на. 395 00:23:25,360 --> 00:23:28,629 И тогаш таа има неколку променливи што може да се види во средини. 396 00:23:28,629 --> 00:23:30,420 И тогаш, ако имате да се направи парцели, тогаш ќе 397 00:23:30,420 --> 00:23:33,730 само може да го видите тука, што е спротивно на управувањето со сите овие различни прозорци 398 00:23:33,730 --> 00:23:35,940 сами по себе. 399 00:23:35,940 --> 00:23:40,530 >> Јас всушност лично користење vim, но јас се чувствувам како rstudio е одлична само 400 00:23:40,530 --> 00:23:44,640 за добивање на добра идеја како да се користи Р. Обично, 401 00:23:44,640 --> 00:23:47,040 кога ќе се обидуваш да научат некои нови задачи, 402 00:23:47,040 --> 00:23:49,590 вие не сакате да се справи со премногу работи одеднаш. 403 00:23:49,590 --> 00:23:53,120 Значи R е само very-- rstudio е многу добар начин за учење R 404 00:23:53,120 --> 00:23:56,760 без да се справи со сите овие други работи. 405 00:23:56,760 --> 00:23:58,600 >> Па еве јас се кандидирам проект здраво. 406 00:23:58,600 --> 00:24:00,090 Ова се враќа здраво. 407 00:24:00,090 --> 00:24:01,740 id 123. 408 00:24:01,740 --> 00:24:04,610 Тука е вектор на цели броеви. 409 00:24:04,610 --> 00:24:08,620 Така, на сличен начин, затоа што може да преземат какви било некој вид на вредност, 410 00:24:08,620 --> 00:24:16,060 можете да направите за да се врати на проект x така се враќа на 1234 и 5. 411 00:24:16,060 --> 00:24:22,210 >> И дозволете ми да ви покаже дека ова навистина е цел број. 412 00:24:22,210 --> 00:24:28,800 И слично на тоа, ако го направите класа проект X, тоа се случува да биде цел број. 413 00:24:28,800 --> 00:24:34,170 И тогаш, можете исто така да споредба на двете и тоа е вистина. 414 00:24:34,170 --> 00:24:38,350 Затоа, јас сум проверка дали проект на x еднаква еднаква на x и известување 415 00:24:38,350 --> 00:24:39,760 тоа што ви дава два TRUEs. 416 00:24:39,760 --> 00:24:44,280 Значи ова не е велејќи дека се два објекти идентични, 417 00:24:44,280 --> 00:24:46,845 но секој од влезовите во рамките на вектори идентични. 418 00:24:46,845 --> 00:24:50,000 419 00:24:50,000 --> 00:24:52,090 >> Еве bounded.compare. 420 00:24:52,090 --> 00:24:58,470 Значи ова е малку покомплицирано со тоа, што има ако состојба и друго 421 00:24:58,470 --> 00:25:00,960 а потоа се потребни двајца аргументи во исто време. 422 00:25:00,960 --> 00:25:02,640 Значи x е од било кој тип. 423 00:25:02,640 --> 00:25:06,280 И јас велам дека ова Вториот аргумент е. 424 00:25:06,280 --> 00:25:08,380 Ова може да биде ништо како добро. 425 00:25:08,380 --> 00:25:12,490 Но, по дифолт, тоа се случува да се земе 5 Ако не наведете ништо. 426 00:25:12,490 --> 00:25:16,730 >> Па еве јас ќе одам да се каже ако x е поголема од. 427 00:25:16,730 --> 00:25:19,220 Значи, ако јас не одредите, тоа вели дека ако x е поголема од 5, 428 00:25:19,220 --> 00:25:20,470 тогаш јас ќе одам да се врати ТОЧНО. 429 00:25:20,470 --> 00:25:23,230 друго, јас ќе одам да се врати лажни. 430 00:25:23,230 --> 00:25:24,870 Значи, дозволете ми да оди напред и да ги дефинира ова. 431 00:25:24,870 --> 00:25:30,600 432 00:25:30,600 --> 00:25:34,550 >> И сега јас ќе одам да работи bounded.compare 3. 433 00:25:34,550 --> 00:25:39,150 Така вели дека е 3 помалку than-- е 3 поголема од 5. 434 00:25:39,150 --> 00:25:41,830 Не, тоа не е толку неточно. 435 00:25:41,830 --> 00:25:46,550 >> И bounded.compare 3 и Одам за да го споредат со користење на изнесува 2. 436 00:25:46,550 --> 00:25:50,700 Па сега јас велам да, сега јас сакаат да бидат нешто друго. 437 00:25:50,700 --> 00:25:52,750 Па јас одам да се каже, треба да биде 2. 438 00:25:52,750 --> 00:25:56,640 >> Јас или може да се направи овој вид на нотација или велам изнесува 2. 439 00:25:56,640 --> 00:25:58,720 Ова е да се чита повеќе со тоа што кога сте 440 00:25:58,720 --> 00:26:01,450 гледајќи ги овие навистина сложени функции кои 441 00:26:01,450 --> 00:26:08,110 се повеќекратни arguments-- и ова може да има десетици oftentimes-- само велејќи: 442 00:26:08,110 --> 00:26:11,140 еден изнесува 2 е уште читлив за вас, така што подоцна во иднината 443 00:26:11,140 --> 00:26:13,020 ќе се знае она што го правиш. 444 00:26:13,020 --> 00:26:17,120 >> Значи во овој случај, јас сум Точно е тоа 3 поголема од 2. 445 00:26:17,120 --> 00:26:18,270 Да тоа е. 446 00:26:18,270 --> 00:26:22,350 И слично, јас само може да се отстрани ова и велат, е 3 поголем од 2 447 00:26:22,350 --> 00:26:23,440 каде што изнесува 2. 448 00:26:23,440 --> 00:26:26,230 И тоа е така е точно. 449 00:26:26,230 --> 00:26:26,730 Да? 450 00:26:26,730 --> 00:26:29,670 >> ПУБЛИКАТА: Дали сте извршување линија по линија? 451 00:26:29,670 --> 00:26:30,670 >> DUSTIN TRAN: Да, јас сум. 452 00:26:30,670 --> 00:26:33,900 Значи она што го правам тука е преземање на овој текст document-- 453 00:26:33,900 --> 00:26:39,825 и што е одлично за rstudio е дека Јас само може да работи на short-- кратенка. 454 00:26:39,825 --> 00:26:41,820 Па јас го правам контрола-Enter. 455 00:26:41,820 --> 00:26:44,850 >> И тогаш, јас сум преземање на линија во текст документ 456 00:26:44,850 --> 00:26:46,710 и потоа да се стави во конзола. 457 00:26:46,710 --> 00:26:50,800 Па еве јас велам, bounded.compare и јас го правам Контрола-X. 458 00:26:50,800 --> 00:26:52,540 Па јас само може да се кандидира и тука. 459 00:26:52,540 --> 00:26:54,920 И тогаш таа ќе ги преземе линија, а потоа го стави тука. 460 00:26:54,920 --> 00:26:57,900 И тогаш слично на тоа, можам да го стартувате тука. 461 00:26:57,900 --> 00:27:04,630 И тогаш тоа само ќе го задржи дефинирање линии во конзола како тоа. 462 00:27:04,630 --> 00:27:10,690 >> И ако вие исто така забележуваат кадрава протези се таму исто како и во C синтакса. 463 00:27:10,690 --> 00:27:13,910 x-- ако ако состојбата е, исто така, случува да го користите загради, а потоа 464 00:27:13,910 --> 00:27:15,350 можете да го користите друг. 465 00:27:15,350 --> 00:27:17,496 Уште еден е друго, ако. 466 00:27:17,496 --> 00:27:21,440 Значи ова се случува да биде X еднаква еднакво на, на пример. 467 00:27:21,440 --> 00:27:24,190 468 00:27:24,190 --> 00:27:26,350 И тогаш јас ќе одам да врати нешто тука. 469 00:27:26,350 --> 00:27:29,490 >> Забележете дека постојат два различни работи тука што се случува. 470 00:27:29,490 --> 00:27:34,360 Една од нив е дека овде сум специфицирање се врати вредноста е TRUE. 471 00:27:34,360 --> 00:27:35,950 Еве јас сум само велејќи х. 472 00:27:35,950 --> 00:27:39,970 Значи R ќе обично стандардно преземат последните arguments-- 473 00:27:39,970 --> 00:27:43,510 или да се последната линија на кодот, и дека ќе биде она што е се врати. 474 00:27:43,510 --> 00:27:46,920 Значи тука се работи за иста нешто што се прави враќање х. 475 00:27:46,920 --> 00:27:49,450 476 00:27:49,450 --> 00:27:50,540 >> И само да ви покаже. 477 00:27:50,540 --> 00:27:54,000 478 00:27:54,000 --> 00:27:57,052 И тогаш, тој ќе работи само како тоа. 479 00:27:57,052 --> 00:27:58,260 Значи, дозволете ми да продолжи со тоа. 480 00:27:58,260 --> 00:28:00,630 >> Па што друго ако. 481 00:28:00,630 --> 00:28:04,060 И, навистина, можат да се вратат ништо што би сакале. 482 00:28:04,060 --> 00:28:06,680 Па јас дури и не мора да враќање Booleans цело време, 483 00:28:06,680 --> 00:28:08,410 Јас само може да се врати нешто друго. 484 00:28:08,410 --> 00:28:10,670 Значи можам да направам враќање мечка. 485 00:28:10,670 --> 00:28:12,989 >> Значи, ако x е еднаква еднакво, тоа се случува да се врати мечка. 486 00:28:12,989 --> 00:28:14,530 Инаку, тоа се случува да се вратите ТОЧНО. 487 00:28:14,530 --> 00:28:19,310 Јас, исто така може да се направи вектор или навистина ништо. 488 00:28:19,310 --> 00:28:22,210 >> И нормално, во статички отчукува јазици, 489 00:28:22,210 --> 00:28:23,840 ќе треба да наведете еден вид тука. 490 00:28:23,840 --> 00:28:25,750 И ќе забележите дека тоа само може да биде ништо. 491 00:28:25,750 --> 00:28:32,400 И R е доволно интелигентен дека само ќе го направи тоа и тоа ќе работи добро. 492 00:28:32,400 --> 00:28:33,620 >> Значи, дозволете ми да го дефинираат ова. 493 00:28:33,620 --> 00:28:39,460 494 00:28:39,460 --> 00:28:41,230 Unexpected-- ох ми е жал. 495 00:28:41,230 --> 00:28:44,336 Тоа треба да биде кадрава голема заграда тука. 496 00:28:44,336 --> 00:28:44,836 OK. 497 00:28:44,836 --> 00:28:45,336 Кул. 498 00:28:45,336 --> 00:28:52,580 499 00:28:52,580 --> 00:28:54,530 Во ред. 500 00:28:54,530 --> 00:28:58,250 Па сега ајде да се споредат 3 и е еднаква на 3. 501 00:28:58,250 --> 00:29:01,860 Значи таа треба да return-- yeah-- вредноста мечка. 502 00:29:01,860 --> 00:29:06,740 >> Па сега една поопшта работа е како Што е со другите структури на податоци. 503 00:29:06,740 --> 00:29:09,110 Па имате оваа функција. 504 00:29:09,110 --> 00:29:15,360 Ова се случува да работат на било кој вид од вредност како 3 или било нумерички, 505 00:29:15,360 --> 00:29:17,500 со други зборови, двојно. 506 00:29:17,500 --> 00:29:19,330 >> Но, она што за нешто како вектор. 507 00:29:19,330 --> 00:29:27,750 Значи она што се случува ако do-- па јас сум ќе додели Вал, да речеме, од 4 до 6. 508 00:29:27,750 --> 00:29:31,640 Значи, ако јас го вратите ова е вектор од 4, 5, 6. 509 00:29:31,640 --> 00:29:34,935 >> Сега да видиме што ќе се случи ако го направам bounded.compare разл. 510 00:29:34,935 --> 00:29:37,680 511 00:29:37,680 --> 00:29:42,450 Значи ова се случува да ви даде 15 1251. 512 00:29:42,450 --> 00:29:46,440 Значи со други зборови, тоа е велејќи ако се погледне на оваа состојба 513 00:29:46,440 --> 00:29:50,040 тоа што го кажува x е помалку од една или нешто слично. 514 00:29:50,040 --> 00:29:51,880 Значи ова е малку збунувачки, бидејќи сега 515 00:29:51,880 --> 00:29:53,379 само не знам што се случува. 516 00:29:53,379 --> 00:29:58,690 Па претпоставувам дека едно нешто што е навистина добро за само се обидува да debug 517 00:29:58,690 --> 00:30:04,600 е дека само може да го направи Вал е поголема од една и да видиме што се случува таму. 518 00:30:04,600 --> 00:30:09,720 >> Значи val-- на е стандардно 5 па ајде да се Вал поголема од 5. 519 00:30:09,720 --> 00:30:14,280 Значи ова е вектор НЕТОЧНО Неточно Вистински. 520 00:30:14,280 --> 00:30:17,206 Па сега кога сте во потрага на ова, тоа се случува да се каже дали, 521 00:30:17,206 --> 00:30:20,080 а потоа тоа се случува да ви даде оваа е вектор на лажни Неточно Вистински. 522 00:30:20,080 --> 00:30:23,450 >> Значи, кога ќе помине оваа во R, R не знае она што го правиш. 523 00:30:23,450 --> 00:30:26,650 Поради тоа се очекува еден вредност, која е Булова, а сега 524 00:30:26,650 --> 00:30:29,420 сте го дава векторот на Booleans. 525 00:30:29,420 --> 00:30:31,970 Значи, по дифолт, R е само одам да се каже она што е грижам, 526 00:30:31,970 --> 00:30:35,440 Одам да се претпостави дека сте случува да се земе првиот елемент тука. 527 00:30:35,440 --> 00:30:38,320 Значи, јас ќе одам да say-- Одам да се претпостави дека ова е неточно. 528 00:30:38,320 --> 00:30:40,890 Значи, тоа се случува да се каже Не, ова не е во право. 529 00:30:40,890 --> 00:30:45,246 >> Слично на тоа, тоа се случува да биде Вал еднаква еднакво. 530 00:30:45,246 --> 00:30:47,244 Не, жал 5. 531 00:30:47,244 --> 00:30:48,910 И тоа е, исто така, ќе биде неточно, како и. 532 00:30:48,910 --> 00:30:52,410 Значи, тоа се случува да се каже не, тоа не е точно, како и тоа е 533 00:30:52,410 --> 00:30:53,680 случува да се врати овој последен. 534 00:30:53,680 --> 00:30:56,420 535 00:30:56,420 --> 00:31:01,360 >> Значи ова е или добро или лошо работа, во зависност од тоа како ќе ја видите. 536 00:31:01,360 --> 00:31:05,104 Затоа што кога ќе се креирање на овие функции, 537 00:31:05,104 --> 00:31:06,770 што всушност не знаат што се случува. 538 00:31:06,770 --> 00:31:10,210 Така понекогаш ќе сакате грешка, Или можеби само сакаат предупредување. 539 00:31:10,210 --> 00:31:12,160 Во овој случај, Р тоа не го стори. 540 00:31:12,160 --> 00:31:14,300 Така, тоа е навистина до можете базирана на она што 541 00:31:14,300 --> 00:31:17,310 мислите дека јазикот треба да се направи во овој случај 542 00:31:17,310 --> 00:31:22,920 ако поминете на векторот на Booleans кога правите ако состојба. 543 00:31:22,920 --> 00:31:31,733 >> Па да речеме дека сте имале оригиналот Ако еден со друг се врати вистина и вие сте 544 00:31:31,733 --> 00:31:34,190 случува да се врати лажни. 545 00:31:34,190 --> 00:31:39,300 Значи еден начин на црпење Ова е да се каже дека 546 00:31:39,300 --> 00:31:41,530 не ни треба овој условен работа. 547 00:31:41,530 --> 00:31:47,220 Друга работа е што можете да направите е само враќање на самите вредности. 548 00:31:47,220 --> 00:31:53,240 Значи ако забележите дека, ако направи Вал е поголем од 5, 549 00:31:53,240 --> 00:31:56,350 тоа се случува да се врати вектор НЕТОЧНО Неточно Вистински. 550 00:31:56,350 --> 00:31:58,850 >> Можеби тоа е она што сакате за bounded.compare. 551 00:31:58,850 --> 00:32:02,940 Сакате да се врати на векторот на Booleans каде што ја споредува секоја од вредностите 552 00:32:02,940 --> 00:32:04,190 за себе. 553 00:32:04,190 --> 00:32:11,165 Значи, вие само може да се bounded.compare функција x, на еднакво на 5. 554 00:32:11,165 --> 00:32:13,322 555 00:32:13,322 --> 00:32:15,363 И наместо да се прави ова ако друг услов, 556 00:32:15,363 --> 00:32:21,430 Јас сум само се случува да се врати x е поголема од 5. 557 00:32:21,430 --> 00:32:23,620 Значи, ако тоа е точно, тогаш тоа се случува да се вратите ТОЧНО. 558 00:32:23,620 --> 00:32:26,830 А потоа, ако тоа не е, тоа е случува да се врати лажни. 559 00:32:26,830 --> 00:32:30,880 >> И ова ќе работат за било која од овие структури. 560 00:32:30,880 --> 00:32:41,450 Значи можам да bounded.compare в 1 6 или 9 а потоа јас ќе одам да се каже изнесува 6, 561 00:32:41,450 --> 00:32:42,799 на пример. 562 00:32:42,799 --> 00:32:44,840 И тогаш тоа се случува да ви даде право Булова 563 00:32:44,840 --> 00:32:48,240 вектор дека сте дизајнирање. 564 00:32:48,240 --> 00:32:50,660 >> Значи, тие се само функции и сега ме пушти само 565 00:32:50,660 --> 00:32:54,980 ви покаже некои интерактивни визуелни елементи. 566 00:32:54,980 --> 00:32:59,700 Јас не мислам дека, всушност, имаат Wi-Fi тука, па дозволете ми да оди напред 567 00:32:59,700 --> 00:33:01,970 и прескокнете овој претпоставувам. 568 00:33:01,970 --> 00:33:05,260 >> Но, едно нешто што е кул иако е тоа што ако само 569 00:33:05,260 --> 00:33:09,600 сакаат да се тестираат еден куп различни податоци команди, 570 00:33:09,600 --> 00:33:13,320 има еден куп на различни бази на податоци кои се веќе во пакет во Р. 571 00:33:13,320 --> 00:33:15,770 Еден од нив е наречен ирис базата. 572 00:33:15,770 --> 00:33:18,910 Ова е една од најпознатите оние во машина за учење. 573 00:33:18,910 --> 00:33:23,350 Вие ќе обично само се направи некој вид на тест случаи да се види дали вашиот код бега. 574 00:33:23,350 --> 00:33:27,520 Значи, ајде да се провери што ирис е. 575 00:33:27,520 --> 00:33:33,130 >> Значи ова нешто се случува за да биде податоци рамка. 576 00:33:33,130 --> 00:33:36,000 И тоа е вид на долго, бидејќи Јас само отпечатени ирисот. 577 00:33:36,000 --> 00:33:38,810 Тоа е печатење на целата работа. 578 00:33:38,810 --> 00:33:42,830 Значи таа ги има сите овие различни имиња. 579 00:33:42,830 --> 00:33:45,505 Значи ирис е збирка на различни цвеќиња. 580 00:33:45,505 --> 00:33:48,830 Во овој случај, тоа е кажувам можете видовите на тоа, 581 00:33:48,830 --> 00:33:54,760 сите овие различни ширини и должините на sepal и венчелистче. 582 00:33:54,760 --> 00:33:58,880 >> И така, нормално, ако сакате да печатите ирис, 583 00:33:58,880 --> 00:34:03,680 На пример, вие не сакате да го имаат направи сето ова, бидејќи тоа може да потрае повеќе 584 00:34:03,680 --> 00:34:05,190 Вашиот целата конзола. 585 00:34:05,190 --> 00:34:09,280 Значи, едно нешто што е навистина убаво е на чело функција. 586 00:34:09,280 --> 00:34:12,929 Значи, ако само го прават глава ирис, ова ќе ви даде 587 00:34:12,929 --> 00:34:17,389 првите пет редови, или шест претпоставувам. 588 00:34:17,389 --> 00:34:19,909 И тогаш добро, ќе само да наведете тука. 589 00:34:19,909 --> 00:34:22,914 Значи 20-- ова ќе им даде ти првите 20 реда. 590 00:34:22,914 --> 00:34:24,830 И јас всушност беше еден вид на изненадени дека овој 591 00:34:24,830 --> 00:34:28,770 ми даде шест, па дозволете ми да оди напред и проверете iris-- или главата, жалам. 592 00:34:28,770 --> 00:34:31,699 593 00:34:31,699 --> 00:34:34,960 И тука ќе даде можете документација 594 00:34:34,960 --> 00:34:37,960 на она што вредност глава го прави тоа. 595 00:34:37,960 --> 00:34:40,839 Значи, таа се враќа на првата или последен на објектот. 596 00:34:40,839 --> 00:34:42,630 И тогаш јас ќе одам да се погледне на стандардно. 597 00:34:42,630 --> 00:34:47,340 И тогаш се вели стандардно метод глава X и n е еднакво на 6L. 598 00:34:47,340 --> 00:34:50,620 Значи ова се враќа на првите шест елементи. 599 00:34:50,620 --> 00:34:55,050 И слично, ако забележите тука, не треба да се наведе n изнесува 6. 600 00:34:55,050 --> 00:34:56,840 Стандардно се користи шест, претпоставувам. 601 00:34:56,840 --> 00:35:00,130 И тогаш, ако сакам да наведете одреден вредност, тогаш можам да ги видите тоа како добро. 602 00:35:00,130 --> 00:35:02,970 603 00:35:02,970 --> 00:35:10,592 >> Па тоа е некои едноставни команди и еве уште еден што е just-- добро, 604 00:35:10,592 --> 00:35:12,550 Јас can-- ова е всушност малку посложени, 605 00:35:12,550 --> 00:35:17,130 Но, ова само ќе земе класа на секоја колона на ирисот базата. 606 00:35:17,130 --> 00:35:20,910 Значи ова ќе ви покаже што секоја од овие столбовите во однос на нивните видови. 607 00:35:20,910 --> 00:35:23,665 Значи sepal должина е нумерирана, sepal ширина е нумеричка. 608 00:35:23,665 --> 00:35:26,540 Сите овие вредности се само нумерички затоа што може да се каже од оваа податоци 609 00:35:26,540 --> 00:35:29,440 структурата на овие се сите ќе нумерички. 610 00:35:29,440 --> 00:35:34,310 >> И видови колона се случува да биде фактор. 611 00:35:34,310 --> 00:35:37,270 Па нормално, ќе помислите дека ова е како карактер стринг. 612 00:35:37,270 --> 00:35:48,830 Но, ако само се направи irisSpecies, а потоа јас ќе одам да направите глава 5, 613 00:35:48,830 --> 00:35:51,820 и тоа се случува да се печати на првите пет вредности. 614 00:35:51,820 --> 00:35:54,150 >> И тогаш го забележуваат тоа ниво. 615 00:35:54,150 --> 00:35:58,870 Значи ова е saying-- ова е начин на Р да има категорични променливи. 616 00:35:58,870 --> 00:36:03,765 Така, наместо на само имаат карактер жици, 617 00:36:03,765 --> 00:36:06,740 тие имаат нивоа специфицирање кој од овие работи. 618 00:36:06,740 --> 00:36:12,450 >> Па да речеме irisSpecies 1. 619 00:36:12,450 --> 00:36:17,690 Значи она што сакате да го направите тука е Јас сум subsetting на овој вид колона. 620 00:36:17,690 --> 00:36:21,480 Значи ова го зема Видови колона, а потоа 621 00:36:21,480 --> 00:36:23,820 индексира да се добие првиот елемент. 622 00:36:23,820 --> 00:36:27,140 Значи ова треба да ви даде setosa. 623 00:36:27,140 --> 00:36:28,710 И тој исто така ви дава нивоа тука. 624 00:36:28,710 --> 00:36:32,812 >> Така да, исто така, може да се спореди ова на ликот setosa 625 00:36:32,812 --> 00:36:34,645 и ова не се случува да биде точно, бидејќи еден 626 00:36:34,645 --> 00:36:37,940 е од различен вид од другата. 627 00:36:37,940 --> 00:36:40,590 Или претпоставувам дека тоа е точно, бидејќи R е поинтелигентен од тоа. 628 00:36:40,590 --> 00:36:45,420 И тоа изгледа во тоа, а потоа вели, можеби тоа е она што го сакате. 629 00:36:45,420 --> 00:36:51,860 Значи, тоа се случува да се каже карактер низа setosa е иста како оваа. 630 00:36:51,860 --> 00:37:01,290 И тогаш слично на тоа, можете да исто така, само го зграби овие, како така натаму. 631 00:37:01,290 --> 00:37:05,580 >> Па тоа е само некој вид на брзо команди на базата. 632 00:37:05,580 --> 00:37:08,030 Па еве некои истражување на податоци. 633 00:37:08,030 --> 00:37:11,360 Значи ова е малку повеќе вклучени во анализата на податоците. 634 00:37:11,360 --> 00:37:18,340 И ова се земени од некои bootcamp во истражување во Беркли. 635 00:37:18,340 --> 00:37:20,790 >> Значи библиотека за надворешни работи. 636 00:37:20,790 --> 00:37:24,880 Па јас одам да се вчита во библиотека со која се вика за надворешни работи. 637 00:37:24,880 --> 00:37:32,460 Значи ова се случува да ми даде read.dta па се претпостави дека имам оваа базата. 638 00:37:32,460 --> 00:37:39,000 Ова се чуваат во тековната работниот директориум на мојот конзола. 639 00:37:39,000 --> 00:37:42,190 Значи, ајде да видиме што работниот директориум е. 640 00:37:42,190 --> 00:37:44,620 >> Па тука е мојот работен директориум. 641 00:37:44,620 --> 00:37:50,040 И да чита податоци точка, ова работа, вели оваа датотека, 642 00:37:50,040 --> 00:37:54,650 се наоѓа во податоците папка на ова тековната работна папка. 643 00:37:54,650 --> 00:38:00,520 И ова не е read.dta на стандардната команда. 644 00:38:00,520 --> 00:38:02,760 Претпоставувам дека тоа што е ставена во веќе. 645 00:38:02,760 --> 00:38:04,750 IEI претпоставуваат Јас подигнат во веќе. 646 00:38:04,750 --> 00:38:08,115 >> Но, тоа не се случува read.dta да се биде стандардната команда. 647 00:38:08,115 --> 00:38:11,550 И тоа е причината зошто ви се случува да имаат да се вчита во оваа библиотека package-- 648 00:38:11,550 --> 00:38:14,500 овој пакет наречен странски. 649 00:38:14,500 --> 00:38:16,690 И ако немате пакетот, мислам дека 650 00:38:16,690 --> 00:38:19,180 странските е еден од вграден во нив. 651 00:38:19,180 --> 00:38:31,150 Инаку, можете исто така да направи install.packages 652 00:38:31,150 --> 00:38:33,180 и тоа ќе го инсталирате пакетот. 653 00:38:33,180 --> 00:38:36,878 И тоа ќе ви даде Р. Ух, бр. 654 00:38:36,878 --> 00:38:39,830 655 00:38:39,830 --> 00:38:43,140 И тогаш јас сум само нема да запре ова, бидејќи јас веќе го имаат. 656 00:38:43,140 --> 00:38:46,920 >> Но она што е навистина убаво за R е дека за управување со пакети 657 00:38:46,920 --> 00:38:48,510 Системот е многу елегантна. 658 00:38:48,510 --> 00:38:52,470 Поради тоа што ќе ги чува се што навистина убаво за вас. 659 00:38:52,470 --> 00:38:59,780 Значи во овој случај, тоа се случува да се сместат во, верувам, оваа библиотека тука. 660 00:38:59,780 --> 00:39:02,390 >> Значи секое време сакате да инсталирате нови пакети, 661 00:39:02,390 --> 00:39:04,980 тоа е само едноставно како прави install.packages 662 00:39:04,980 --> 00:39:07,500 и R ќе управува со сите пакетите за вас. 663 00:39:07,500 --> 00:39:12,900 Значи, вие не треба да се направи нешто во Пајтон, каде што треба надворешен пакет 664 00:39:12,900 --> 00:39:15,330 менаџери како хартија Анаконда каде сте 665 00:39:15,330 --> 00:39:18,310 doing-- ќе се инсталира пакети надвор од Пајтон 666 00:39:18,310 --> 00:39:20,940 а потоа ќе се обидат да ги извршувате себе. 667 00:39:20,940 --> 00:39:22,210 Значи ова е навистина убав начин. 668 00:39:22,210 --> 00:39:25,590 >> И install.packages бара интернет. 669 00:39:25,590 --> 00:39:31,950 Тоа е потребно од сервер и складиштето 670 00:39:31,950 --> 00:39:33,960 собира сите пакети се нарекува CRAN. 671 00:39:33,960 --> 00:39:40,690 И можете да наведете кој вид на огледалото сакате да ја преземете пакети од. 672 00:39:40,690 --> 00:39:43,420 >> Па еве јас сум преземање на CCD ова. 673 00:39:43,420 --> 00:39:46,240 Јас сум тоа и читањето за користење на оваа функција. 674 00:39:46,240 --> 00:39:49,360 Значи, дозволете ми да оди напред и да го направи тоа. 675 00:39:49,360 --> 00:39:52,900 >> Значи, да се претпостави дека имаш овој на CCD 676 00:39:52,900 --> 00:39:55,550 и имаш апсолутно не знам што е тоа. 677 00:39:55,550 --> 00:39:58,560 И тоа, всушност, доаѓа до доста често во индустријата 678 00:39:58,560 --> 00:40:00,910 каде што само имаат овие тони и тони на неуредна нешта 679 00:40:00,910 --> 00:40:02,890 и тие се неверојатно Етикетата LABEL. 680 00:40:02,890 --> 00:40:06,380 Па еве јас ја имаат оваа Средување на податоци и не знам 681 00:40:06,380 --> 00:40:08,400 што е тоа, па јас сум само покажувајќи да го провериш. 682 00:40:08,400 --> 00:40:10,620 >> Па јас ќе одам да направите главата во прв план. 683 00:40:10,620 --> 00:40:14,190 Па јас се провери првите шест колони од она што тоа е на CCD. 684 00:40:14,190 --> 00:40:21,730 Значи, ова е држава, pres04, а потоа сите овие различни вид на колони. 685 00:40:21,730 --> 00:40:25,612 И она што е интересно тука, претпоставувам, е дека 686 00:40:25,612 --> 00:40:27,945 би се претпостави дека ова изгледа како некој вид на изборите. 687 00:40:27,945 --> 00:40:30,482 688 00:40:30,482 --> 00:40:32,190 И претпоставувам само од гледање на датотеката 689 00:40:32,190 --> 00:40:41,070 именува ова е некој вид на наплата на податоци за кандидатите или гласачите 690 00:40:41,070 --> 00:40:44,920 кои гласаа за одредени претседатели или претседателот кандидати 691 00:40:44,920 --> 00:40:46,550 за изборите во 2004 година. 692 00:40:46,550 --> 00:40:52,920 >> Па овде е вредностите 1, 2 така еден начин на складирање 693 00:40:52,920 --> 00:40:56,540 претседателот кандидати се нивните имиња. 694 00:40:56,540 --> 00:40:59,780 Во овој случај, тоа личи тие се само целобројни вредности. 695 00:40:59,780 --> 00:41:04,030 Значи, 2004 година, тоа беше Буш наспроти Кери верувам. 696 00:41:04,030 --> 00:41:09,010 А сега, ајде да речеме дека само не знам 1 дали одговара на Буш или 2 697 00:41:09,010 --> 00:41:11,703 одговара на Кери или и така натаму и така натаму, нели? 698 00:41:11,703 --> 00:41:15,860 >> И ова е само за мене, прилично заеднички проблем. 699 00:41:15,860 --> 00:41:18,230 Така што можете да направите во овој случај? 700 00:41:18,230 --> 00:41:20,000 Значи, да се провери сите овие други работи. 701 00:41:20,000 --> 00:41:22,790 >> држава, јас сум под претпоставка дека ова доаѓа од различни држави. 702 00:41:22,790 --> 00:41:25,100 partyid, приход. 703 00:41:25,100 --> 00:41:27,710 Ајде да погледнеме во partyid. 704 00:41:27,710 --> 00:41:32,800 Па можеби една работа што можете да направите е осврнам на секој од набљудувањата 705 00:41:32,800 --> 00:41:36,250 кои имаат partyid на Републиканската или демократ или нешто. 706 00:41:36,250 --> 00:41:38,170 Па ајде да погледнеме во она што е partyid. 707 00:41:38,170 --> 00:41:41,946 >> Па јас одам да се земе DAT, а потоа јас ќе одам 708 00:41:41,946 --> 00:41:47,960 да го направите тоа знак за долар операторот што го направив порано 709 00:41:47,960 --> 00:41:50,770 и тоа се случува да се подмножество на таа колона. 710 00:41:50,770 --> 00:41:57,760 И тогаш јас ќе одам да се упатат во овој 20, само да видам што ова изгледа како. 711 00:41:57,760 --> 00:42:00,170 >> Значи ова е само еден куп на NAS. 712 00:42:00,170 --> 00:42:02,800 Значи со други зборови, имаш недостасуваат податоци за овие момци. 713 00:42:02,800 --> 00:42:08,100 Но, исто така забележуваат тоа DAT partyid е фактор 714 00:42:08,100 --> 00:42:10,030 така што ова ви дава различни категории. 715 00:42:10,030 --> 00:42:14,170 Значи со други зборови, може да се земе partyid Демократите, републиканците, Индипендант, 716 00:42:14,170 --> 00:42:16,640 или нешто друго. 717 00:42:16,640 --> 00:42:23,940 >> Па ајде да одиме напред и ајде види кои од овие is-- О, во ред. 718 00:42:23,940 --> 00:42:28,480 Па јас ќе одам да се подмножество да partyid и потоа 719 00:42:28,480 --> 00:42:32,780 погледнете кои од нив се Демократ, на пример. 720 00:42:32,780 --> 00:42:37,150 Ова ќе ви даде Булова, огромен Булова на TRUEs и FALSEs. 721 00:42:37,150 --> 00:42:41,630 >> А сега, ајде да се каже сакам на подмножество на овие момци. 722 00:42:41,630 --> 00:42:47,260 Значи, тоа се случува да се земе мојата dat и подмножество линија до кој и забелешки 723 00:42:47,260 --> 00:42:48,910 имаат partyid еднаквите еднакво на демократите. 724 00:42:48,910 --> 00:42:52,830 725 00:42:52,830 --> 00:42:55,180 И ова е прилично долга, бидејќи Има толку многу од нив. 726 00:42:55,180 --> 00:42:59,060 Па сега, јас ќе одам да го предводи овој во 20. 727 00:42:59,060 --> 00:43:05,690 728 00:43:05,690 --> 00:43:11,270 >> И како што можете да забележите, е еднаква на еднаквите Интересно е во тоа што сте 729 00:43:11,270 --> 00:43:13,250 already-- сте, исто така, вклучувајќи ги и NAS. 730 00:43:13,250 --> 00:43:19,010 Значи во овој случај, се уште може да се добие каква било информација, бидејќи сега имате Национални агенции 731 00:43:19,010 --> 00:43:22,650 а вие само сакате да видите кои од набљудување одговараат на демократите 732 00:43:22,650 --> 00:43:24,670 а не овие исчезнати вредности себе. 733 00:43:24,670 --> 00:43:27,680 Па, како ќе се ослободи од овие Национални? 734 00:43:27,680 --> 00:43:36,410 >> Па еве јас сум само со користење на Up копчето на мојот курсорот и да кажат за движење наоколу. 735 00:43:36,410 --> 00:43:39,778 А потоа, тука јас сум само ќе да се каже is.na datpartyid. 736 00:43:39,778 --> 00:43:48,970 737 00:43:48,970 --> 00:43:52,720 Значи ова и и ќе се две различни Булова вектори 738 00:43:52,720 --> 00:43:57,160 и велат дека тоа нема да биде Вистински и лажни, на пример. 739 00:43:57,160 --> 00:43:59,190 Значи, тоа се случува да се направи оваа компонента-мудрец. 740 00:43:59,190 --> 00:44:02,910 Па еве јас велам преземање податоците рамка, подмножество 741 00:44:02,910 --> 00:44:10,170 на оние кои одговараат на демократите, и да ги отстраните било кој од нив кои не се Н.А.. 742 00:44:10,170 --> 00:44:13,540 >> Значи ова will-- треба ти даде нешто. 743 00:44:13,540 --> 00:44:16,540 744 00:44:16,540 --> 00:44:17,600 Ајде да видиме is.na. 745 00:44:17,600 --> 00:44:24,670 746 00:44:24,670 --> 00:44:27,690 Ајде да се обидеме is.na datpartyid. 747 00:44:27,690 --> 00:44:36,290 748 00:44:36,290 --> 00:44:45,290 И тоа треба да се даде you-- sorry-- само Булова вектор. 749 00:44:45,290 --> 00:44:49,260 И тогаш, бидејќи тоа е толку долго, Одам да се подмножество на 20. 750 00:44:49,260 --> 00:44:49,760 OK. 751 00:44:49,760 --> 00:44:51,570 Значи ова треба да работат. 752 00:44:51,570 --> 00:44:54,700 >> А таа една, исто така, ќе биде TRUEs. 753 00:44:54,700 --> 00:45:01,830 Ах, па мојата грешка е дека јас I'm-- ги користат C ++ и R мешаат па јас се направи 754 00:45:01,830 --> 00:45:03,590 оваа грешка цело време. 755 00:45:03,590 --> 00:45:05,807 На и оператор е всушност оној што го сакате. 756 00:45:05,807 --> 00:45:08,140 Вие не сакате да го користите двете ampersands, само еден. 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 >> Па ајде да видиме. 760 00:45:18,140 --> 00:45:20,930 761 00:45:20,930 --> 00:45:23,920 Значи ние subsetted на partyid каде што тие се демократ 762 00:45:23,920 --> 00:45:25,300 и тие не се како исчезнати вредности. 763 00:45:25,300 --> 00:45:27,690 А сега да ги погледнеме кои од нив гласале за. 764 00:45:27,690 --> 00:45:31,530 Така ми се чини дека повеќето од нив гласаа за 1. 765 00:45:31,530 --> 00:45:36,090 Па јас одам да се оди напред и велат дека е Кери. 766 00:45:36,090 --> 00:45:39,507 >> И слично, можете да исто така оди на републиканците 767 00:45:39,507 --> 00:45:41,090 и се надевам, ова треба да ви даде 2. 768 00:45:41,090 --> 00:45:49,730 769 00:45:49,730 --> 00:45:51,770 Тоа е само еден куп на различни колони. 770 00:45:51,770 --> 00:45:53,070 И навистина, тоа е 2. 771 00:45:53,070 --> 00:45:55,750 Значи partyid сите републиканците, повеќето од нив се гласа за 2. 772 00:45:55,750 --> 00:45:58,390 >> Така ми се чини, само од страна гледајќи во ова, 773 00:45:58,390 --> 00:46:00,600 Републиканскиот ќе биде на very-- или partyid 774 00:46:00,600 --> 00:46:02,790 се случува да биде многу голем фактор во одредувањето 775 00:46:02,790 --> 00:46:05,420 кој кандидат тие се ќе гласаат за. 776 00:46:05,420 --> 00:46:07,120 И ова е очигледно точно во целина. 777 00:46:07,120 --> 00:46:10,139 И ова се поклопува со вашиот интуиција, се разбира. 778 00:46:10,139 --> 00:46:11,930 Така, се чини како да сум работи надвор од времето, па за 779 00:46:11,930 --> 00:46:17,040 дозволете ми само треба да оди напред и да покаже некои брзи слики. 780 00:46:17,040 --> 00:46:21,120 Па еве нешто што е малку покомплицирана со визуелизација. 781 00:46:21,120 --> 00:46:26,450 Значи во овој случај, тоа е многу едноставна анализа на само проверка на она што 782 00:46:26,450 --> 00:46:28,500 претседателот на '04 е. 783 00:46:28,500 --> 00:46:33,920 >> Значи во овој случај, ајде да речеме сакаше да одговори на ова прашање. 784 00:46:33,920 --> 00:46:38,540 Значи да претпоставиме што сакавте да знаете за гласање однесување во претседател на изборите во 2004 година 785 00:46:38,540 --> 00:46:41,170 и како таа се разликува од трката. 786 00:46:41,170 --> 00:46:44,380 Затоа, не само што ќе сакаат да види однесувањето на гласање, 787 00:46:44,380 --> 00:46:47,860 но сакате да подгрупа на секој трка и вид на резимираме дека. 788 00:46:47,860 --> 00:46:50,770 А ти само може да се каже од комплексот нотација 789 00:46:50,770 --> 00:46:52,580 дека ова е вид на добивање на маглива. 790 00:46:52,580 --> 00:46:56,390 >> Значи еден од повеќе напредни R пакети и тоа е, исто така, вид на неодамнешниот 791 00:46:56,390 --> 00:47:00,070 се нарекува dplyr. 792 00:47:00,070 --> 00:47:03,060 Значи тоа е еден токму тука. 793 00:47:03,060 --> 00:47:08,080 И ggg-- ggplot2 е едно убаво начин на вршење на подобро визуализации 794 00:47:08,080 --> 00:47:09,400 од вграден во едно. 795 00:47:09,400 --> 00:47:11,108 >> Па јас одам да се вчита овие две библиотеки. 796 00:47:11,108 --> 00:47:13,200 797 00:47:13,200 --> 00:47:16,950 И тогаш, јас ќе одам да се оди напред и да ја извршите оваа команда. 798 00:47:16,950 --> 00:47:19,050 Вие само може да се третираат ова како црна кутија. 799 00:47:19,050 --> 00:47:23,460 >> Што се случува е дека оваа цевка операторот поминува во овој аргумент 800 00:47:23,460 --> 00:47:24,110 во тука. 801 00:47:24,110 --> 00:47:28,070 Значи сакам да кажам дека група од DAT трка и тогашниот претседател 04. 802 00:47:28,070 --> 00:47:31,530 И тогаш, сите овие други команди се филтрираат и потоа сумирањето 803 00:47:31,530 --> 00:47:34,081 каде јас го правам слика и тогаш јас сум го планирале тука. 804 00:47:34,081 --> 00:47:39,980 805 00:47:39,980 --> 00:47:42,500 Добро кул. 806 00:47:42,500 --> 00:47:44,620 Па ајде да одиме напред и види она што ова изгледа како. 807 00:47:44,620 --> 00:47:52,280 808 00:47:52,280 --> 00:47:57,290 >> Значи она што се случува овде е дека јас само црта секоја од трките, а потоа 809 00:47:57,290 --> 00:47:59,670 кои од нив гласале за. 810 00:47:59,670 --> 00:48:03,492 И овие две различни вредности одговараат на 2 и 1. 811 00:48:03,492 --> 00:48:05,325 Ако сакате да бидете повеќе домот, можете исто така 812 00:48:05,325 --> 00:48:11,770 само да се каже дека 2 е Kerry-- или 2 е на Буш, а потоа 1 е Кери. 813 00:48:11,770 --> 00:48:13,700 И ти исто така може да има дека во вашиот легенда. 814 00:48:13,700 --> 00:48:17,410 >> И ти исто така може да се подели на овие бар графикони. 815 00:48:17,410 --> 00:48:19,480 Затоа што едно е дека, ако забележите, 816 00:48:19,480 --> 00:48:24,560 ова не е многу лесно да се идентификуваат која од овие две вредности се поголеми. 817 00:48:24,560 --> 00:48:27,920 Па едно нешто што би сакале да го однесам синото поле 818 00:48:27,920 --> 00:48:31,855 и само да го придвижат тука, па можат да се споредуваат овие две рамо до рамо. 819 00:48:31,855 --> 00:48:34,480 И претпоставувам дека тоа е нешто што јас немаат време да го направите токму сега, 820 00:48:34,480 --> 00:48:36,660 но тоа е исто така многу лесно да се направи. 821 00:48:36,660 --> 00:48:40,310 Вие само може да се погледне во на man-страници на ggplot. 822 00:48:40,310 --> 00:48:47,170 Значи, вие само може да се ggplot како што и да прочитате во овој човек страница. 823 00:48:47,170 --> 00:48:51,920 >> Значи ми го дозволуваат само брзо ви покаже некои кул работи. 824 00:48:51,920 --> 00:48:57,610 Ајде да одиме напред и да одат to-- само примена на машина за учење. 825 00:48:57,610 --> 00:49:02,450 Па да речеме имаме овие три пакети, па ќе одам да се вчита во овие. 826 00:49:02,450 --> 00:49:05,500 827 00:49:05,500 --> 00:49:09,170 Значи ова е само отпечатоци од некои информации, откако јас натоварени во нешто. 828 00:49:09,170 --> 00:49:15,220 Па јас го кажувам ова read.csv, ова на CCD, а сега 829 00:49:15,220 --> 00:49:18,940 Одам да се оди напред и да се погледне и види она што е внатре во овој базата. 830 00:49:18,940 --> 00:49:22,080 >> Па првите 20 забелешки. 831 00:49:22,080 --> 00:49:27,190 Па јас само имаат X1, X2 и Y. Така е тоа изгледа како еден куп на овие вредности 832 00:49:27,190 --> 00:49:31,640 се движат од можеби 20 до 80 или така. 833 00:49:31,640 --> 00:49:37,700 И тогаш слично за X2 и тогаш ова Y се чини дека етикети 0 и 1. 834 00:49:37,700 --> 00:49:49,500 >> За да се потврди ова, можам да само го направи резиме на податоците X1. 835 00:49:49,500 --> 00:49:51,660 И тогаш слично за сите овие други колумни. 836 00:49:51,660 --> 00:49:55,300 Значи резиме е брз начин на само ви покажува брз вредности. 837 00:49:55,300 --> 00:49:56,330 Ох, извинете. 838 00:49:56,330 --> 00:49:58,440 Ова треба да биде Ј 839 00:49:58,440 --> 00:50:03,420 >> Значи во овој случај, дава quantiles, медиани, maxes, како и. 840 00:50:03,420 --> 00:50:07,130 Во овој случај, dataY, можете да видите дека таа само се случува да биде 0 и 1. 841 00:50:07,130 --> 00:50:10,100 Исто така, значи е велејќи дека 0,6, само значи дека 842 00:50:10,100 --> 00:50:13,380 се чини дека имам повеќе 1s од 0-ти. 843 00:50:13,380 --> 00:50:16,160 >> Значи, дозволете ми да оди напред и да го покаже вас она што ова изгледа како. 844 00:50:16,160 --> 00:50:17,470 Па јас сум само ќе да заговор ова. 845 00:50:17,470 --> 00:50:22,852 846 00:50:22,852 --> 00:50:24,636 Ајде да видиме како да ја избришете оваа. 847 00:50:24,636 --> 00:50:30,492 848 00:50:30,492 --> 00:50:31,468 О, во ред. 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 >> Значи ова е она што изгледа како. 852 00:50:37,590 --> 00:50:46,310 Така ми се чини дека сум посочи дрва како 0, а потоа црвени јас наведен како 1S. 853 00:50:46,310 --> 00:50:52,190 Па еве како изгледа етикета поени и тоа 854 00:50:52,190 --> 00:50:56,410 се чини дека само сакав некои вид на групирање на оваа тема. 855 00:50:56,410 --> 00:51:01,020 >> И дозволете ми да оди напред и да го покаже што некои од овие вградена во функциите. 856 00:51:01,020 --> 00:51:03,580 Па овде е LM. 857 00:51:03,580 --> 00:51:06,060 Значи ова е само се обидува да одговара на линија за ова. 858 00:51:06,060 --> 00:51:08,640 Значи она што е најдобар начин што може да се вклопат линија, како 859 00:51:08,640 --> 00:51:14,020 дека најдобро ќе ги разделиме овој вид на групирање. 860 00:51:14,020 --> 00:51:21,790 И идеално, вие само може да се види дека само што работи на сите овие команди 861 00:51:21,790 --> 00:51:25,450 и тогаш, јас ќе одам напред и да додадете линија. 862 00:51:25,450 --> 00:51:28,970 >> Значи, ова изгледа како најдобра претпоставка. 863 00:51:28,970 --> 00:51:34,150 Тоа е преземање на најдобар оној кој го минимизира грешка во обидот да одговара на оваа линија. 864 00:51:34,150 --> 00:51:40,000 Очигледно, ова изгледа вид на добро, но тоа не е најдобар. 865 00:51:40,000 --> 00:51:43,130 И линеарни модели, Генерално, се случува да бидат 866 00:51:43,130 --> 00:51:46,811 навистина одлично за теорија и само вид на градење на основите на машина 867 00:51:46,811 --> 00:51:47,310 учење. 868 00:51:47,310 --> 00:51:50,330 Но, во пракса, си оди за да сакате да направите нешто повеќе воопшто. 869 00:51:50,330 --> 00:51:54,280 >> Значи, вие само може да се обидете работи нешто што се нарекува нервните мрежа. 870 00:51:54,280 --> 00:51:57,110 Овие нешта се се повеќе и повеќе заеднички. 871 00:51:57,110 --> 00:52:00,530 И тие само работат фантастично за големи бази на податоци. 872 00:52:00,530 --> 00:52:07,080 Значи во овој случај, ние само have-- ајде see-- имаме nrow. 873 00:52:07,080 --> 00:52:09,010 Значи nrow е само велејќи дека бројот на редови. 874 00:52:09,010 --> 00:52:11,790 Значи во овој случај, има 100 забелешки. 875 00:52:11,790 --> 00:52:15,010 >> Значи, дозволете ми да оди напред и направи нервните мрежа. 876 00:52:15,010 --> 00:52:18,620 Значи ова е навистина убаво бидејќи јас само може да се каже nnet 877 00:52:18,620 --> 00:52:21,767 и тогаш јас сум назадување Ј Значи Y е таа колона. 878 00:52:21,767 --> 00:52:23,850 И тогаш тоа регресирање на другите две променливи. 879 00:52:23,850 --> 00:52:27,360 Значи ова е пократка нотација за X1 и X2. 880 00:52:27,360 --> 00:52:29,741 >> Значи, да оди напред и да ја извршите оваа. 881 00:52:29,741 --> 00:52:30,240 Ох, извинете. 882 00:52:30,240 --> 00:52:32,260 Јас треба да се кандидира на целата оваа работа. 883 00:52:32,260 --> 00:52:37,500 И ова е само за печатење нотација за тоа колку брзо или не брзо го 884 00:52:37,500 --> 00:52:38,460 обединети. 885 00:52:38,460 --> 00:52:41,420 Па изгледа како тоа го правеше се спојуваат. 886 00:52:41,420 --> 00:52:44,970 Значи, дозволете ми да оди напред и печатење што ова изгледа како. 887 00:52:44,970 --> 00:52:51,260 >> Видете, тука е слика и тука е контура покажува колку добро се вклопува. 888 00:52:51,260 --> 00:52:56,380 И ова е just-- може да се види ова дека тоа е многу, многу убаво. 889 00:52:56,380 --> 00:52:59,400 Тоа дури може да биде overfitting, но исто така можете да 890 00:52:59,400 --> 00:53:03,390 сметка за тоа со другите техники како крос-валидација. 891 00:53:03,390 --> 00:53:06,180 И овие се исто така изграден во Р. 892 00:53:06,180 --> 00:53:09,170 >> И дозволете ми да ви покаже поддршка вектор машина. 893 00:53:09,170 --> 00:53:12,470 Ова е уште еден навистина заеднички техника во машина за учење. 894 00:53:12,470 --> 00:53:18,550 Тоа е многу слично на линеарни модели, но го користи она што се нарекува кернелот метод. 895 00:53:18,550 --> 00:53:22,790 И ајде да видиме колку добро што го прави тоа. 896 00:53:22,790 --> 00:53:26,430 Значи ова е многу слично на тоа како и нервните мрежа врши, 897 00:53:26,430 --> 00:53:27,900 но тоа е многу здодевна. 898 00:53:27,900 --> 00:53:35,740 И ова е базирана на what-- како SVMs работа. 899 00:53:35,740 --> 00:53:40,250 >> Значи ова е само еден многу брз преглед на некои 900 00:53:40,250 --> 00:53:43,822 на вградена во функциите што можете да направите а исто така и некои од податоците од истражувањето. 901 00:53:43,822 --> 00:53:45,905 Значи, дозволете ми само напред и да се вратиме на слајдови. 902 00:53:45,905 --> 00:53:50,290 903 00:53:50,290 --> 00:53:53,670 >> Значи очигледно, ова е не многу содржајна. 904 00:53:53,670 --> 00:53:57,140 И ова е навистина само навестување ви покажува она што навистина може да се направи во Р. 905 00:53:57,140 --> 00:53:59,100 Па ако сакате само како за да дознаете повеќе, тука 906 00:53:59,100 --> 00:54:01,210 се еден куп на различни ресурси. 907 00:54:01,210 --> 00:54:06,890 >> Значи, ако сте љубител на книги или сте само убави за читање на работи на интернет, 908 00:54:06,890 --> 00:54:09,670 тогаш ова е фантастичен еден по Хедли Wickham, 909 00:54:09,670 --> 00:54:13,010 кој исто така, создаде сите овие навистина кул пакети. 910 00:54:13,010 --> 00:54:17,420 Ако сте љубител на видеа, тогаш Беркли има страшни Bootcamp 911 00:54:17,420 --> 00:54:21,060 тоа е several-- тоа е вид на долго. 912 00:54:21,060 --> 00:54:24,210 И тоа ќе ве научи на речиси сè што сакате да знаете за Р. 913 00:54:24,210 --> 00:54:27,770 >> И слично, има Codeacademy и сите други вид 914 00:54:27,770 --> 00:54:29,414 на интерактивни веб-сајтови. 915 00:54:29,414 --> 00:54:31,580 Тие се исто така common-- повеќе и повеќе заеднички. 916 00:54:31,580 --> 00:54:33,749 Значи ова е многу слична на Codeacademy. 917 00:54:33,749 --> 00:54:35,790 И конечно, ако само сакате заедницата и ќе помогне, 918 00:54:35,790 --> 00:54:38,800 тие се еден куп на работи што можете да одат. 919 00:54:38,800 --> 00:54:40,880 Очигледно, ние се уште користите листи, само 920 00:54:40,880 --> 00:54:44,860 како речиси секоја друга програмски јазик заедницата. 921 00:54:44,860 --> 00:54:47,880 И #rstats, ова е нашата заедница Твитер. 922 00:54:47,880 --> 00:54:49,580 Тоа е всушност прилично честа. 923 00:54:49,580 --> 00:54:50,850 И тогаш корисник! 924 00:54:50,850 --> 00:54:52,340 Е само нашата конференција. 925 00:54:52,340 --> 00:54:55,390 >> И тогаш, се разбира, може да ги користат сите овие други прашања и работи, 926 00:54:55,390 --> 00:54:57,680 како Стак прелевање, Google, а потоа GitHub. 927 00:54:57,680 --> 00:55:00,490 Бидејќи повеќето од овие пакети и многу заедницата 928 00:55:00,490 --> 00:55:03,420 ќе биде центрирана околу развојот кодот затоа што тоа е со отворен код. 929 00:55:03,420 --> 00:55:05,856 И тоа е само навистина убаво на GitHub. 930 00:55:05,856 --> 00:55:08,730 И на крај, можете да ме контактирате доколку вие само треба било брз прашања. 931 00:55:08,730 --> 00:55:13,530 Така можете да ме најдете на Твитер тука, мојот вебсајт, и само мојата е-маил. 932 00:55:13,530 --> 00:55:17,840 Па се надевам дека тоа беше something-- само краток вовед 933 00:55:17,840 --> 00:55:20,900 на она што R е навистина способни да прават. 934 00:55:20,900 --> 00:55:23,990 И се надевам дека, само проверете ги овие три линкови 935 00:55:23,990 --> 00:55:25,760 и да видиме што може да направи повеќе. 936 00:55:25,760 --> 00:55:28,130 И претпоставувам дека тоа е само за тоа. 937 00:55:28,130 --> 00:55:28,630 Ви благодариме. 938 00:55:28,630 --> 00:55:30,780 >> [Аплауз] 939 00:55:30,780 --> 00:55:31,968