1 00:00:00,000 --> 00:00:05,691 2 00:00:05,691 --> 00:00:07,690 ЦОННОР Харрис: И даље сам Мислим неке узбудљиве видео 3 00:00:07,690 --> 00:00:12,570 произведени од стране професионалних консултантских који користи Р пуно у свом раду. 4 00:00:12,570 --> 00:00:16,329 >> НАРАТОР: Шта је иза статистике, аналитичари, и визуелизације 5 00:00:16,329 --> 00:00:19,770 да су данашњи научници најпаметнији података и пословни лидери се ослањају на 6 00:00:19,770 --> 00:00:22,012 да моћне одлуке? 7 00:00:22,012 --> 00:00:23,540 Ви не можете увек видети. 8 00:00:23,540 --> 00:00:24,790 Али то је тамо. 9 00:00:24,790 --> 00:00:29,460 То се зове Р Опен Соурце р-- статистички програмски језик 10 00:00:29,460 --> 00:00:32,630 да стручњаци дата тхе ворлд преко употребе за све 11 00:00:32,630 --> 00:00:35,350 од мапирање широког социјалног и маркетинг трендови на мрежи 12 00:00:35,350 --> 00:00:39,210 развоју финансијског и климу модели који помажу возе наше економије 13 00:00:39,210 --> 00:00:40,780 и заједнице. 14 00:00:40,780 --> 00:00:44,910 >> Али, шта је Р и где је Р почети? 15 00:00:44,910 --> 00:00:48,620 Па првобитно Р почела овде са два професора 16 00:00:48,620 --> 00:00:51,950 који је желео бољи статистички платформа за своје студенте. 17 00:00:51,950 --> 00:00:56,030 Тако су створили једну по узору након статистичке језику С. 18 00:00:56,030 --> 00:01:00,480 Они су, заједно са многим другима, Стално ради и помоћу Р, 19 00:01:00,480 --> 00:01:05,489 стварање алате за проналажење и Р Нове апликације за Р сваки дан. 20 00:01:05,489 --> 00:01:07,750 >> Захваљујући овоме је широм света напор заједница, 21 00:01:07,750 --> 00:01:11,850 Р расла са хиљадама корисничких-цреатед библиотека изграђених 22 00:01:11,850 --> 00:01:15,500 за побољшање Р функционалност и Публика-соурце валидација квалитета 23 00:01:15,500 --> 00:01:19,740 и подршка од најпознатијих индустрија лидери у свим областима које 24 00:01:19,740 --> 00:01:25,040 користи Р. Што је супер, јер Р је најбољи у ономе што ради. 25 00:01:25,040 --> 00:01:28,540 Брзо пупи стручњаке и лако тумаче, у интеракцији са, 26 00:01:28,540 --> 00:01:33,790 и визуелизацију података показује њихов брз расте број корисника широм света Р 27 00:01:33,790 --> 00:01:36,380 па да видимо како опен соурце Р наставља да обликује 28 00:01:36,380 --> 00:01:39,340 будућност статистичка Анализа и наука података. 29 00:01:39,340 --> 00:01:44,660 30 00:01:44,660 --> 00:01:47,710 >> ЦОННОР Харрис: ОК, супер. 31 00:01:47,710 --> 00:01:50,360 Дакле, мог излагања ће бити мало више трезан. 32 00:01:50,360 --> 00:01:54,380 То неће укључивати много да узбудљиво позадинска музика. 33 00:01:54,380 --> 00:01:59,160 Али, као што сте видели на снимку, Р је врста опште намене програмском језику. 34 00:01:59,160 --> 00:02:03,720 Али то је углавном створена за статистичког рада. 35 00:02:03,720 --> 00:02:07,980 >> Тако је дизајниран за статистику, за анализу података, за дата мининг. 36 00:02:07,980 --> 00:02:12,420 И тако можете видети у многим избори дизајн да креатори Р 37 00:02:12,420 --> 00:02:13,320 маде. 38 00:02:13,320 --> 00:02:15,472 То је дизајниран за углавном, људи који нису 39 00:02:15,472 --> 00:02:17,930 стручњаци у програмирању, који су само покупити програмирање 40 00:02:17,930 --> 00:02:23,460 на страни тако да могу да раде свој посао у друштвеним наукама или у статистици 41 00:02:23,460 --> 00:02:25,440 или шта год. 42 00:02:25,440 --> 00:02:27,850 >> Има много веома значајне разлике из Ц. 43 00:02:27,850 --> 00:02:33,200 Али, синтакса и парадигме да користи су углавном исти. 44 00:02:33,200 --> 00:02:36,830 И требало би да осећате прилично као код куће десно ван палицом. 45 00:02:36,830 --> 00:02:38,520 То је императив језика. 46 00:02:38,520 --> 00:02:40,260 >> Не брините превише о томе ако не знате термин. 47 00:02:40,260 --> 00:02:42,676 Али постоји разлика између императив, декларативно, 48 00:02:42,676 --> 00:02:43,810 и функционална. 49 00:02:43,810 --> 00:02:47,600 Императив само значи да се изјаве које су у основи команде. 50 00:02:47,600 --> 00:02:52,340 А онда је преводилац или рачунар их прати једну по једну. 51 00:02:52,340 --> 00:02:56,630 То је слабо откуцао, постоје Тип декларације у Р. 52 00:02:56,630 --> 00:02:59,130 >> И онда је линија између различитих врста 53 00:02:59,130 --> 00:03:03,920 су мало више него лабава су у Ц, на пример. 54 00:03:03,920 --> 00:03:06,450 И као што сам рекао постоје веома обимне објекти 55 00:03:06,450 --> 00:03:15,610 за графикона, за статистичко анализа, за рударство података. 56 00:03:15,610 --> 00:03:19,540 Они су оба уграђена у језика и, као што је видео рекао, 57 00:03:19,540 --> 00:03:23,680 хиљаде библиотека трећих лица која можете преузети и користити бесплатно 58 00:03:23,680 --> 00:03:25,340 са врло лабаве условима лиценце. 59 00:03:25,340 --> 00:03:28,800 60 00:03:28,800 --> 00:03:31,500 >> Дакле, у принципу, ја бих вам препоручио да погледате ове две књиге 61 00:03:31,500 --> 00:03:34,610 ако ћеш радити на Р. Оне од њих је званични Р почетнике 62 00:03:34,610 --> 00:03:35,110 гуиде. 63 00:03:35,110 --> 00:03:38,660 То је одржавана од стране цоре програмери Р. 64 00:03:38,660 --> 00:03:42,400 Можете га преузети опет, без пунити и правно на том линку тамо. 65 00:03:42,400 --> 00:03:45,430 66 00:03:45,430 --> 00:03:49,869 Сви ови слајдови ће ићи на интернету, на сајту ЦС50 67 00:03:49,869 --> 00:03:50,660 Након тога се врши. 68 00:03:50,660 --> 00:03:53,690 Дакле, нема потребе да копирате ствари доле махнито. 69 00:03:53,690 --> 00:03:56,800 >> Други један је уџбеник за Цосма Схализи, 70 00:03:56,800 --> 00:04:00,100 који је професор на статистике Карнеги Мелон, под називом Напредна података 71 00:04:00,100 --> 00:04:02,160 Анализа фром ан Основна Поинт оф Виев. 72 00:04:02,160 --> 00:04:04,010 Ово није првенствено један Р књига. 73 00:04:04,010 --> 00:04:07,130 То је статистика књига и то је анализа података књига. 74 00:04:07,130 --> 00:04:11,990 Али је врло приступачна људима који имају најмању руку статистичког знања. 75 00:04:11,990 --> 00:04:13,750 >> Ја никада нисам узео формално курс. 76 00:04:13,750 --> 00:04:17,269 Знам само делове из разних савезничких предмета 77 00:04:17,269 --> 00:04:18,579 да сам се курсеве у. 78 00:04:18,579 --> 00:04:21,839 И био сам у стању да разумем савршено добро. 79 00:04:21,839 --> 00:04:25,630 >> Сви подаци су дати у Р. Они су направљени у Р 80 00:04:25,630 --> 00:04:30,280 и они такође имају кода огласа испод сваког цифра која вам кажем 81 00:04:30,280 --> 00:04:33,270 како правите сваки лик са Р кода. 82 00:04:33,270 --> 00:04:37,400 А то је врло корисно ако покушавате да имитирају 83 00:04:37,400 --> 00:04:38,650 нека цифра видиш у књизи. 84 00:04:38,650 --> 00:04:47,840 >> И опет фрее довнлоад стат.цму.еду/цсхализи/ Жао нам је, 85 00:04:47,840 --> 00:04:50,230 да се смање Тилде цсхализи. 86 00:04:50,230 --> 00:04:53,150 Ја ћу се побринути да исправите када је званични слајдове ићи горе. 87 00:04:53,150 --> 00:04:57,000 / АДАфаЕПоВ који је само акроним од наслова књиге. 88 00:04:57,000 --> 00:04:59,850 89 00:04:59,850 --> 00:05:02,500 >> Дакле, уопште цавеатс--: Р има много могућности. 90 00:05:02,500 --> 00:05:05,331 Само ћу бити у стању да покрије површина пуно ствари. 91 00:05:05,331 --> 00:05:08,580 Такође први део семинара ће бити нешто од депоније података. 92 00:05:08,580 --> 00:05:11,437 Ја сам сасвим ми је због тога. 93 00:05:11,437 --> 00:05:13,770 У суштини, ја ћу уводе вас у многим стварима 94 00:05:13,770 --> 00:05:15,350 право искључити шишмиш, иде što je brže moguće. 95 00:05:15,350 --> 00:05:17,058 И онда долазимо до забаван део, који је 96 00:05:17,058 --> 00:05:20,570 демо где могу вам показати све да смо разговарали о на екрану. 97 00:05:20,570 --> 00:05:23,321 И ви можете играти сами. 98 00:05:23,321 --> 00:05:26,070 Тако да ће бити доста техничке ствари бачена горе овде. 99 00:05:26,070 --> 00:05:28,060 Не брините о копирању све то. 100 00:05:28,060 --> 00:05:31,740 Јер, А можете добити све ствари на сајту ЦС50 касније. 101 00:05:31,740 --> 00:05:37,780 И Б, није толико важно да запамтите ово са слајдовима. 102 00:05:37,780 --> 00:05:40,462 То је важније да добијете неки интуитивно објекат са њом 103 00:05:40,462 --> 00:05:44,220 и која долази из само зезање. 104 00:05:44,220 --> 00:05:45,720 >> Зашто користити Р? 105 00:05:45,720 --> 00:05:49,440 У основи, ако имате пројекат који укључује рударство велике скупове података, подаци 106 00:05:49,440 --> 00:05:52,664 визуелизација, ви треба да користе Р. Ако сте 107 00:05:52,664 --> 00:05:55,830 ради компликоване статистичке анализе, то би било тешко у Екцел, 108 00:05:55,830 --> 00:05:58,010 На пример, било би такође може зликовца-- такође 109 00:05:58,010 --> 00:06:00,506 ако радите статистичка анализа која је аутоматизован. 110 00:06:00,506 --> 00:06:02,130 Рецимо да сте одржавање сајт. 111 00:06:02,130 --> 00:06:06,320 И желите да прочитате дневник сервер сваки дан и саставити неки списак, 112 00:06:06,320 --> 00:06:10,320 као првих земаља које су ваши корисници долазе из, 113 00:06:10,320 --> 00:06:15,100 неки резиме статистике о томе колико дуго они троше на Вашем сајту или слично. 114 00:06:15,100 --> 00:06:16,910 И желите да покренете сваки дан. 115 00:06:16,910 --> 00:06:20,280 >> Сада, ако ви то радите у Екцелу, морао би да иде на ваш лог сервер, 116 00:06:20,280 --> 00:06:23,490 увоз је у један Екцел табеле података, 117 00:06:23,490 --> 00:06:24,910 покренути све анализе ручно. 118 00:06:24,910 --> 00:06:27,100 Са Р, можете само да напишем један сценарио. 119 00:06:27,100 --> 00:06:29,520 Распоред је да ради сваки дан из оперативног система. 120 00:06:29,520 --> 00:06:33,657 А онда свако вече у 2:00 часова, или кад год је распоред да покренете, 121 00:06:33,657 --> 00:06:35,990 она ће изгледати кроз своје Интернет саобраћај за тај дан. 122 00:06:35,990 --> 00:06:39,010 А затим следећег дана, ти ћеш имају овај сјајан, нови извештај 123 00:06:39,010 --> 00:06:41,710 или шта год са свим информације сте тражили. 124 00:06:41,710 --> 00:06:44,960 125 00:06:44,960 --> 00:06:50,217 >> Дакле, у основи Р Цисцо програмирање у односу на Цисцо анализе. 126 00:06:50,217 --> 00:06:51,050 Прелиминарни се ради. 127 00:06:51,050 --> 00:06:53,104 Идемо у реалним стварима. 128 00:06:53,104 --> 00:06:55,020 Дакле, постоје три реална врсте у језику. 129 00:06:55,020 --> 00:06:56,120 Постоји нумерички тип. 130 00:06:56,120 --> 00:07:01,250 Постоји нека врста разлике између цели бројеви и плутајући тачке, 131 00:07:01,250 --> 00:07:02,769 али не и стварно. 132 00:07:02,769 --> 00:07:04,560 Ту је лик тип, који је жице. 133 00:07:04,560 --> 00:07:07,100 А ту је логичан тип, који је боолеанс. 134 00:07:07,100 --> 00:07:11,080 >> И ви можете претворити између типова коришћењем ове функције као нумерички, 135 00:07:11,080 --> 00:07:15,220 као знак, као логична. 136 00:07:15,220 --> 00:07:17,510 Ако зовете, на пример, као нумеричка на стринг, 137 00:07:17,510 --> 00:07:20,030 она ће покушати да прочитате тај стринг као број, на исти начин 138 00:07:20,030 --> 00:07:25,897 да а2и и сцанф уради, и Ц. Ако зовете као нумеричка на тачно или нетачно 139 00:07:25,897 --> 00:07:26,980 она ће претворити 1 или 0. 140 00:07:26,980 --> 00:07:29,110 Ако зовете као лик на било шта што ћу 141 00:07:29,110 --> 00:07:32,550 цонверт то у један ниска заступљеност. 142 00:07:32,550 --> 00:07:34,990 >> А онда су вектори и матрице. 143 00:07:34,990 --> 00:07:37,580 Дакле, вектори су у основи 1 дименсионал низови. 144 00:07:37,580 --> 00:07:40,600 Они су оно што зовемо низова у Ц матрице, 2 дименсионал низови. 145 00:07:40,600 --> 00:07:42,350 А онда више дименсионал низови иоу цан 146 00:07:42,350 --> 00:07:48,560 Имам 3, 4, 5 димензије или како год нумеричких вредности, жица, 147 00:07:48,560 --> 00:07:52,860 логичких вредности. 148 00:07:52,860 --> 00:07:55,380 >> Такође, имате спискове који су нека врста асоцијативног низа. 149 00:07:55,380 --> 00:07:57,390 Ја ћу ући у ту мало. 150 00:07:57,390 --> 00:07:59,390 Дакле, једна важна ствар да путовања људе у Р 151 00:07:59,390 --> 00:08:01,470 је да нема прави, чисти атомске врсте. 152 00:08:01,470 --> 00:08:05,870 Нема стварна разлика између број, као бројчане вредности, 153 00:08:05,870 --> 00:08:07,920 и списак нумеричких вредности. 154 00:08:07,920 --> 00:08:12,370 Нумеричке вредности су заправо исти као вектора дужине 1. 155 00:08:12,370 --> 00:08:14,959 И то има бројне важне импликације. 156 00:08:14,959 --> 00:08:17,500 Један, то значи да можете да урадите ствари врло лако да укључују 157 00:08:17,500 --> 00:08:21,037 као додавање број у вектору. 158 00:08:21,037 --> 00:08:23,120 Р ће у суштини цифра шта сте тиме хтели да кажете. 159 00:08:23,120 --> 00:08:24,610 И ја ћу се на то за секунду. 160 00:08:24,610 --> 00:08:27,930 То такође значи да нема шансе за врсту цхецкер-- у мјери 161 00:08:27,930 --> 00:08:30,530 да је тако нешто постоји у р-- да кажем 162 00:08:30,530 --> 00:08:33,780 када сте прошли у једном вредности када очекује низ или обрнуто. 163 00:08:33,780 --> 00:08:39,159 А то може изазвати неке одд невоље које сам налетео на када 164 00:08:39,159 --> 00:08:42,252 Користио сам Р време мог летњи посао. 165 00:08:42,252 --> 00:08:43,710 И не постоје мешовити типа низови. 166 00:08:43,710 --> 00:08:46,543 Дакле, не можете имати низ били први елементи се, не знам, 167 00:08:46,543 --> 00:08:49,332 стринг "Јован" и Други елемент је број 42. 168 00:08:49,332 --> 00:08:52,540 Ако покушате да то урадите, онда ћете добити све је претворена у стринг. 169 00:08:52,540 --> 00:08:54,760 Дакле, имамо низ Џон, низ 42. 170 00:08:54,760 --> 00:08:58,250 171 00:08:58,250 --> 00:09:02,025 >> Тако необично синтактичка феатурес-- највише Р синтакса је веома сличан Ц 172 00:09:02,025 --> 00:09:04,690 Постоји неколико важних разлика. 173 00:09:04,690 --> 00:09:05,620 Куцање је врло слаб. 174 00:09:05,620 --> 00:09:07,360 Дакле, не постоје променљиви декларације. 175 00:09:07,360 --> 00:09:12,670 Додела користи чудно оператер грешка мање од цртицом. 176 00:09:12,670 --> 00:09:15,340 Коментари су са хасх знак. 177 00:09:15,340 --> 00:09:19,230 Сада претпостављам дана ми то зовемо хаштагот иако то није заиста није аццурате-- 178 00:09:19,230 --> 00:09:21,810 двоструке косе. 179 00:09:21,810 --> 00:09:24,710 >> Модуларни остаци су са знацима %%. 180 00:09:24,710 --> 00:09:30,172 Цео број подела је са% /%, што је веома тешко за читање када је пројектовано 181 00:09:30,172 --> 00:09:30,880 на екрану. 182 00:09:30,880 --> 00:09:34,150 183 00:09:34,150 --> 00:09:37,200 Можете добити опсега цели бројеви са дебелог црева. 184 00:09:37,200 --> 00:09:41,840 Дакле, 2,5 ће вам дати вектор од свих бројева 2. до 5.. 185 00:09:41,840 --> 00:09:44,530 >> Низови су један индексиране, која вијци много људи 186 00:09:44,530 --> 00:09:47,540 се ако су из више типични програмски језици, 187 00:09:47,540 --> 00:09:50,450 као Ц, где је већина ствари су нула-индексирани. 188 00:09:50,450 --> 00:09:54,420 Опет, ово је место где наслеђе Р-ов као језика за као да не 189 00:09:54,420 --> 00:09:56,560 професионални програмери долази у. 190 00:09:56,560 --> 00:09:59,680 Ако сте социолог или економиста или нешто 191 00:09:59,680 --> 00:10:01,980 а ви покушавате да користите Р суштини као помоћно средство 192 00:10:01,980 --> 00:10:03,832 то иоур важнији стручни рад, 193 00:10:03,832 --> 00:10:06,040 ћеш наћи један индексирање мало природније. 194 00:10:06,040 --> 00:10:09,890 Зато што почнете бројање на 1 у свакодневном животу, а не 0. 195 00:10:09,890 --> 00:10:13,260 >> Фор-петље, ово је слично Еогеасп изградити у ПХП, 196 00:10:13,260 --> 00:10:17,090 које ћете доћи до леарн у-- ускоро. 197 00:10:17,090 --> 00:10:22,540 Што је за вредности у вектор и онда можете да урадите ствари са вредношћу. 198 00:10:22,540 --> 00:10:24,040 ПУБЛИКА: То је искрсло у предавању. 199 00:10:24,040 --> 00:10:26,248 ЦОННОР Харрис: Ох, то је дошао предавање, одлично. 200 00:10:26,248 --> 00:10:29,815 ПУБЛИКА: Задатак је она треба да укаже са десна на лево? 201 00:10:29,815 --> 00:10:31,440 ЦОННОР Харрис: с десна на лево, да. 202 00:10:31,440 --> 00:10:34,720 Можете мислити о томе као вредности на право гурнуо у променљивој 203 00:10:34,720 --> 00:10:36,240 levo. 204 00:10:36,240 --> 00:10:36,781 ПУБЛИКА: У реду. 205 00:10:36,781 --> 00:10:39,770 206 00:10:39,770 --> 00:10:42,330 >> ЦОННОР Харрис: И на крају Функција Синтакса је помало чудно. 207 00:10:42,330 --> 00:10:48,460 Имате функцију име Фоо, додељен на овој функцији кључних речи, затим 208 00:10:48,460 --> 00:10:51,530 свим аргументима а затим и Тело функције после тога. 209 00:10:51,530 --> 00:10:53,280 Опет те ствари могу Изгледа помало чудно. 210 00:10:53,280 --> 00:10:57,181 Они ће постати друга природа после радите са језиком за мало. 211 00:10:57,181 --> 00:10:58,930 Тако вектора, начин можете изградити вектор 212 00:10:58,930 --> 00:11:04,550 је ти тип Ц, што је кључна реч, онда сви бројеви желите или жице 213 00:11:04,550 --> 00:11:06,490 или шта год. 214 00:11:06,490 --> 00:11:07,995 Аргументи такође бити вектори. 215 00:11:07,995 --> 00:11:09,620 Али добијени низ бива сравњена са земљом. 216 00:11:09,620 --> 00:11:14,385 Дакле, не можете имати матрице где је неки елементи су појединачни бројеви 217 00:11:14,385 --> 00:11:17,010 а неки елементи су сами низови. 218 00:11:17,010 --> 00:11:20,010 >> Дакле, ако покушате да изгради Арраи су први елемент 4 219 00:11:20,010 --> 00:11:22,370 а други елемент је низ 3,5 ћеш 220 00:11:22,370 --> 00:11:25,890 само добити три елемента низа, 4,3,5. 221 00:11:25,890 --> 00:11:27,760 Они не могу бити мешовитог типа. 222 00:11:27,760 --> 00:11:32,290 Ако покушате да читам и пишем изван граница вектор 223 00:11:32,290 --> 00:11:36,640 ћете добити ову вредност која се зове на А која се залаже за нестале вредности. 224 00:11:36,640 --> 00:11:39,900 А ово је намењена као статистичари који 225 00:11:39,900 --> 00:11:43,080 раде са непотпуним сета података. 226 00:11:43,080 --> 00:11:46,460 >> Ако нанесете функцију која је требало да се само један број у низу 227 00:11:46,460 --> 00:11:49,220 онда оно што ћете добити је, функција ће мап преко низа. 228 00:11:49,220 --> 00:11:52,130 Дакле, ако ваша функција рецимо узима број и враћа га квадратних. 229 00:11:52,130 --> 00:11:58,170 Захтјев да се на низ 2,3,5 Шта ћете добити је низ 4,9,25. 230 00:11:58,170 --> 00:12:00,010 >> А то је врло корисно зато што ти значи 231 00:12:00,010 --> 00:12:03,374 не морају да пишу за петље за раде врло једноставне ствари као што су применом 232 00:12:03,374 --> 00:12:05,040 функција за све чланове сета података. 233 00:12:05,040 --> 00:12:08,557 Који ако радите са великим сетови података, морате да урадите много. 234 00:12:08,557 --> 00:12:10,390 Бинарни функције су примењена унос уписом. 235 00:12:10,390 --> 00:12:12,430 Ја ћу у то. 236 00:12:12,430 --> 00:12:16,750 Можете им приступити са низовима или вектори са заградама. 237 00:12:16,750 --> 00:12:22,300 Дакле, вектор име квадратних заграде 1 ће вам дати први елемент. 238 00:12:22,300 --> 00:12:25,510 Вектор име угласте заграде 2 ће вам дати други елемент. 239 00:12:25,510 --> 00:12:27,530 >> Можете проћи на вектор индекса и ви ћете 240 00:12:27,530 --> 00:12:29,640 се вратим у основи под фактором. 241 00:12:29,640 --> 00:12:34,990 Дакле, можете да урадите вектор име заграде Ц, 2,4 а ви ћете изаћи вектор који садржи 242 00:12:34,990 --> 00:12:38,804 Други и четврти елементи низа. 243 00:12:38,804 --> 00:12:40,720 А ако желите само укратко Статистика 244 00:12:40,720 --> 00:12:47,529 вектора као интеркуартиле опсег, средња, максимум, без обзира, 245 00:12:47,529 --> 00:12:49,820 само да укуцате резиме вектор име и склоним то. 246 00:12:49,820 --> 00:12:52,680 То није стварно корисно у програмирање али ако играте 247 00:12:52,680 --> 00:12:55,990 око сетова података, то је згодно. 248 00:12:55,990 --> 00:12:58,650 >> Матрицес-- основи виши дименсионал низови. 249 00:12:58,650 --> 00:13:01,190 Имају посебном ознаком синтаксу. 250 00:13:01,190 --> 00:13:07,620 Матрица са низом да добије испуњен у-- извињавам се, матрица са подацима, 251 00:13:07,620 --> 00:13:09,780 број редова, број колона. 252 00:13:09,780 --> 00:13:13,180 Када имате неке податке, да попуњава Низ основи ће од врха до дна 253 00:13:13,180 --> 00:13:13,380 Прво. 254 00:13:13,380 --> 00:13:14,190 Онда лева на десно. 255 00:13:14,190 --> 00:13:15,030 Дакле, овако. 256 00:13:15,030 --> 00:13:17,809 257 00:13:17,809 --> 00:13:19,600 И Р је изграђена у матрик множења, 258 00:13:19,600 --> 00:13:24,310 спектралне разлагање, дијагонализација, много ствари. 259 00:13:24,310 --> 00:13:27,785 Ако желите више димензионални Арраис, СО 3, 4, 5, 260 00:13:27,785 --> 00:13:29,410 или шта год димензије можете то да урадите. 261 00:13:29,410 --> 00:13:34,400 Синтакса је низ слабо једнака ц, затим листа димензија. 262 00:13:34,400 --> 00:13:38,620 Дакле, ако желите 4 димензионални низ димензија 4, 7, 8, 9, низ, 263 00:13:38,620 --> 00:13:45,470 Дим једнако ц (4,7,8,9). 264 00:13:45,470 --> 00:13:51,180 >> Приступате појединачних вредности са заградама Први унос зарез други унос. 265 00:13:51,180 --> 00:13:54,870 Можете добити читаве кришке редова или колона. 266 00:13:54,870 --> 00:13:59,900 Са овим непотпуне синтаксе је само ред број зарез или зарез колону 267 00:13:59,900 --> 00:14:00,400 број. 268 00:14:00,400 --> 00:14:02,874 269 00:14:02,874 --> 00:14:04,540 Дакле, спискови су нека врста повезан низ. 270 00:14:04,540 --> 00:14:06,360 Они имају овде своју синтаксу. 271 00:14:06,360 --> 00:14:08,320 Опет не махнито цопи све ово. 272 00:14:08,320 --> 00:14:11,370 Ово је само да људи пролази кроз слајдове касније 273 00:14:11,370 --> 00:14:13,089 има све ово у лепом референце. 274 00:14:13,089 --> 00:14:16,130 И ово ће постати веома природно некада Ја стварно шетња кроз демос. 275 00:14:16,130 --> 00:14:19,295 276 00:14:19,295 --> 00:14:20,920 Тако наводи у основи повезане низове. 277 00:14:20,920 --> 00:14:27,040 Можете приступити вредности са Име листа, знак долара, кључ. 278 00:14:27,040 --> 00:14:31,370 Дакле, ако ваша листа се зове Фоо, онда можете да приступите тако. 279 00:14:31,370 --> 00:14:37,032 Можете добити целу кључ-вредност паровима доношењем у квадратном конзола индекса. 280 00:14:37,032 --> 00:14:39,240 Ако читате из непостојећег тастер, добићете нула. 281 00:14:39,240 --> 00:14:41,150 Неће грешкама. 282 00:14:41,150 --> 00:14:43,590 Ствар је у томе, Р ће учинити како много са нулл колико може. 283 00:14:43,590 --> 00:14:46,580 А то може да значи да ако сте не очекујући да ће добити нула од 284 00:14:46,580 --> 00:14:51,840 неке листе читање, добићеш неке непредвидиве грешке Даље 285 00:14:51,840 --> 00:14:52,620 linija. 286 00:14:52,620 --> 00:14:54,890 >> То ми се десило мом летњи посао када сам користио Р 287 00:14:54,890 --> 00:14:58,410 где сам променио начин одређени Списак је дефинисан на једном месту 288 00:14:58,410 --> 00:15:05,410 али нису променили касније на код које гласе вредности од њега. 289 00:15:05,410 --> 00:15:10,190 И шта се десило сам био читање нулл вредности од ове листе, 290 00:15:10,190 --> 00:15:13,090 пролази их у функције, и веома збуњена 291 00:15:13,090 --> 00:15:16,000 када сам добио свакакве рандом бесконачност обрезивање до 292 00:15:16,000 --> 00:15:16,790 у овој функцији. 293 00:15:16,790 --> 00:15:20,730 Јер, ако примените извесне максималне или минималне функције нулл, 294 00:15:20,730 --> 00:15:22,570 ћете добити бескрајне вредности напоље. 295 00:15:22,570 --> 00:15:26,400 296 00:15:26,400 --> 00:15:29,180 >> Оквири података, они су подкласс листе. 297 00:15:29,180 --> 00:15:31,170 Сваки вредност је вектор исте дужине. 298 00:15:31,170 --> 00:15:34,220 И они користе за представљање, у суштини, табеле са подацима. 299 00:15:34,220 --> 00:15:36,175 Ту је ово иницијализација синтакса. 300 00:15:36,175 --> 00:15:38,800 То ће све, опет, бити много јасније када дођете до демо. 301 00:15:38,800 --> 00:15:42,240 302 00:15:42,240 --> 00:15:44,240 И лепа ствар о оквири података јеси ли то ти 303 00:15:44,240 --> 00:15:49,380 могу да дају имена на свим колонама и имена свих редова. 304 00:15:49,380 --> 00:15:53,890 И то чини приступ их мало пријатније. 305 00:15:53,890 --> 00:15:59,130 Такође, ово је како већина функција која прочитајте у податке из Екцел табеле 306 00:15:59,130 --> 00:16:03,820 или из текстуалних датотека, на пример, ће читати у својим подацима. 307 00:16:03,820 --> 00:16:07,555 Они ће га ставити у нека оквира података. 308 00:16:07,555 --> 00:16:09,680 Тако фунцтионс-- функција синтакса је мало чудно. 309 00:16:09,680 --> 00:16:16,160 Опет је име функције, доделити, ову функцију кључних речи, а затим 310 00:16:16,160 --> 00:16:17,900 листа аргумената. 311 00:16:17,900 --> 00:16:24,080 Дакле, постоје неке лепе ствари о томе како функционише радим овде. 312 00:16:24,080 --> 00:16:28,170 За једну, заправо можете доделити дефаулт вредности за одређене аргументе. 313 00:16:28,170 --> 00:16:32,910 Дакле, можете рећи Р1 екуалс-- можете рећи фоо 314 00:16:32,910 --> 00:16:38,290 је функција којој Р1 једнако нешто по дефаулту ако корисник специфицира 315 00:16:38,290 --> 00:16:39,090 нема аргумената. 316 00:16:39,090 --> 00:16:41,932 Иначе, оно је ставио у. 317 00:16:41,932 --> 00:16:44,140 И то је врло згодан јер много наших функција 318 00:16:44,140 --> 00:16:47,910 често су десетине или стотине аргумената. 319 00:16:47,910 --> 00:16:51,210 На пример, оне за цртање графикони или цртања сцаттер парцела 320 00:16:51,210 --> 00:16:54,430 имају аргументе који контролишу све из наслова и осе 321 00:16:54,430 --> 00:16:59,512 етикете у боји линије регресије. 322 00:16:59,512 --> 00:17:01,470 И тако, ако не желите да се људи одредити 323 00:17:01,470 --> 00:17:04,050 сваки од ових стотине аргумената 324 00:17:04,050 --> 00:17:07,674 контролише сваки аспект плац или регресија или било шта друго, 325 00:17:07,674 --> 00:17:09,299 лепо је имати ове подразумеване вредности. 326 00:17:09,299 --> 00:17:12,700 327 00:17:12,700 --> 00:17:19,146 >> И онда заиста могу Пиши као што вратио видио овдје. 328 00:17:19,146 --> 00:17:22,869 Или наћи бољи пример. 329 00:17:22,869 --> 00:17:28,690 Када позовете функција заправо можете позовите их користите имена аргумент. 330 00:17:28,690 --> 00:17:33,919 Дакле, овде је пример матрица конструктор. 331 00:17:33,919 --> 00:17:34,960 Потребно је три аргумента. 332 00:17:34,960 --> 00:17:36,760 Обично имате податке, која је вектор. 333 00:17:36,760 --> 00:17:38,920 Имате Н ред, који је број редова. 334 00:17:38,920 --> 00:17:41,160 Имате Н цолс-- број колона. 335 00:17:41,160 --> 00:17:43,920 Ствар је у томе да куцате Н ред једнако год 336 00:17:43,920 --> 00:17:46,520 и Н кол износи било шта када је зовеш ову функцију, 337 00:17:46,520 --> 00:17:47,770 заправо можете да их преокрене. 338 00:17:47,770 --> 00:17:51,590 Дакле, можете прво и Н ред ставити Н цол друга и да не прави никакву разлику. 339 00:17:51,590 --> 00:17:54,660 Дакле, то је лепо мало функција. 340 00:17:54,660 --> 00:17:56,260 >> Да ли увоз и извоз. 341 00:17:56,260 --> 00:18:00,010 Ово се може урадити, у основи. 342 00:18:00,010 --> 00:18:03,816 Ту су и објекти за написати произвољно Р објеката у бинарне датотеке 343 00:18:03,816 --> 00:18:05,190 а затим их прочита касније. 344 00:18:05,190 --> 00:18:08,030 Који је згодно ако радите велика интерактивна сесија: Р 345 00:18:08,030 --> 00:18:12,850 и морате да сачувате ствари врло брзо. 346 00:18:12,850 --> 00:18:16,460 По дефаулту Р има радни директоријум да се фајлови написан у 347 00:18:16,460 --> 00:18:19,410 и прочита из. 348 00:18:19,410 --> 00:18:22,350 Можете видети да са гетвг, то променити са сетдв. 349 00:18:22,350 --> 00:18:25,630 Ништа посебно интересантно овде 350 00:18:25,630 --> 00:18:28,270 >> Тако је сада стварне статистике стуфф-- Мултилинеар регресија. 351 00:18:28,270 --> 00:18:30,960 352 00:18:30,960 --> 00:18:34,910 Тако уобичајене синтакси је мало компликовано. 353 00:18:34,910 --> 00:18:37,260 Овај модел је велики објекат у основи. 354 00:18:37,260 --> 00:18:39,910 То бива додељен ЛМ, што је функција позива. 355 00:18:39,910 --> 00:18:43,840 Први елемент, Тхе И Тилде Кс1 плус год. 356 00:18:43,840 --> 00:18:46,574 357 00:18:46,574 --> 00:18:47,990 Мој синтакса овде је мало збуњујуће. 358 00:18:47,990 --> 00:18:49,490 Ја сам сасвим ми је, ово је стандардни начин 359 00:18:49,490 --> 00:18:50,990 да Цомпутер Сциенце књиге ово. 360 00:18:50,990 --> 00:18:54,890 Али то је мало чудно. 361 00:18:54,890 --> 00:18:58,200 >> У основи, то је ЛМ заграде, прва тачка 362 00:18:58,200 --> 00:19:06,730 је вариабле-- је, зависи променљива Тилде Кс1 плус, плус к2 363 00:19:06,730 --> 00:19:10,910 Међутим многи независни варијабле имате. 364 00:19:10,910 --> 00:19:14,240 А онда оне могу бити или вектори, исте дужине. 365 00:19:14,240 --> 00:19:16,220 Или могу бити цолумн заглавља у раму података 366 00:19:16,220 --> 00:19:18,553 који сте управо навести у Други аргумент података оквир. 367 00:19:18,553 --> 00:19:23,270 368 00:19:23,270 --> 00:19:26,380 >> Можете одредити сложенији Формула 369 00:19:26,380 --> 00:19:31,990 тако да не морате да линеарно регреса а један зависну променљиву, 370 00:19:31,990 --> 00:19:34,440 или један вектор на унапред постојеће вектор. 371 00:19:34,440 --> 00:19:38,070 То можете учинити, на пример, вектор компонента година на квадрат плус 1 372 00:19:38,070 --> 00:19:42,100 и регреса да против лог неке друге вектора. 373 00:19:42,100 --> 00:19:45,200 Можете штампати Изводи из модел са овом командом се зове 374 00:19:45,200 --> 00:19:48,607 суммари-- само резиме паренс модел. 375 00:19:48,607 --> 00:19:50,190 Опет нешто што треба разјаснити. 376 00:19:50,190 --> 00:19:55,407 377 00:19:55,407 --> 00:19:58,615 Нешто друго да ће се кориговати када слајдови иду на интернету. 378 00:19:58,615 --> 00:20:01,127 379 00:20:01,127 --> 00:20:03,210 Ако желите само да израчуна једноставна корелација 380 00:20:03,210 --> 00:20:09,170 можете користити корелација вектора 1 вектор 2 функција језгра. 381 00:20:09,170 --> 00:20:11,856 Метода је по дефаулту Пеарсон корелације. 382 00:20:11,856 --> 00:20:13,480 То су стандардне оне које можете да урадите. 383 00:20:13,480 --> 00:20:15,990 Такође Спеарманов и Кенделл корелације 384 00:20:15,990 --> 00:20:19,530 што су неки низ Редослед корелација. 385 00:20:19,530 --> 00:20:23,600 Па они не израчуна производ тренуци између самих вектора, 386 00:20:23,600 --> 00:20:28,511 али обичним налога вектора је. 387 00:20:28,511 --> 00:20:29,510 Ја ћу објаснити касније. 388 00:20:29,510 --> 00:20:30,120 >> ПУБЛИКА: Брзо питање 389 00:20:30,120 --> 00:20:30,360 >> ЦОННЕР Харрис: Наравно. 390 00:20:30,360 --> 00:20:33,151 >> ПУБЛИКА: Дакле, када сте обрачуна Из простог корелације 391 00:20:33,151 --> 00:20:37,655 претпостављате да постоји статистичка значај у корелацији? 392 00:20:37,655 --> 00:20:39,030 ЦОННЕР Харрис: Не мораш. 393 00:20:39,030 --> 00:20:41,840 394 00:20:41,840 --> 00:20:43,960 ЛМ је у основи само машина. 395 00:20:43,960 --> 00:20:47,690 То ће се у двије ствари и да ће испљунути 396 00:20:47,690 --> 00:20:49,770 коефицијенти за најбоље уклапају у линије. 397 00:20:49,770 --> 00:20:52,310 Он такође наводи стандардна Грешке на овим коефицијентима. 398 00:20:52,310 --> 00:20:55,865 И то ће вам рећи, као што је пресретање статистички значајна 399 00:20:55,865 --> 00:20:56,740 или разлика од 0. 400 00:20:56,740 --> 00:20:59,400 Да ли је нагиб од најбољих Фит линија статистички 401 00:20:59,400 --> 00:21:01,510 различит од нуле, и тако даље. 402 00:21:01,510 --> 00:21:06,260 Тако да претпоставља ништа, мислим је најбољи одговор на твоје питање. 403 00:21:06,260 --> 00:21:07,410 OK. 404 00:21:07,410 --> 00:21:14,650 >> Плоттинг-- тако да је главни разлог због којег би користе Р, као Мултилинеар регресије. 405 00:21:14,650 --> 00:21:17,320 У суштини сваки језик има објекат за то. 406 00:21:17,320 --> 00:21:21,365 И искрено Р је синтакса за регресија је мало волшебни. 407 00:21:21,365 --> 00:21:22,990 Али, цртање, где је стварно сија. 408 00:21:22,990 --> 00:21:28,090 >> Радна машина функција је земљиште и потребно је два вектора, Кс и И. 409 00:21:28,090 --> 00:21:33,010 А онда су елипсе се залаже за веома Велики број опционих аргумената који 410 00:21:33,010 --> 00:21:39,190 контролише све од наслова до боја различитих линија или различитим тачкама, 411 00:21:39,190 --> 00:21:40,200 од врсте парцеле. 412 00:21:40,200 --> 00:21:42,250 Можете имати расејања парцеле или линија парцела. 413 00:21:42,250 --> 00:21:47,900 414 00:21:47,900 --> 00:21:49,710 >> [Неразумљиво] 2 вектори исте дужине. 415 00:21:49,710 --> 00:21:53,780 Можете претходити са приложити оквир података у сценарију. 416 00:21:53,780 --> 00:22:01,220 И то ће вам омогућити да користите само колону заглавља уместо одвојених вектора. 417 00:22:01,220 --> 00:22:05,410 Можете додати најбоље уклапају у линије и локални регресија криве то иоур графикона. 418 00:22:05,410 --> 00:22:09,390 >> Ове команде листед Овде, АБ линија и линија, 419 00:22:09,390 --> 00:22:11,640 по дефаулту то гет записано у поп уп прозора 420 00:22:11,640 --> 00:22:15,560 јер претпоставља да користите Р интерактивно. 421 00:22:15,560 --> 00:22:17,310 Ако нисте можеш пишу два датотеке које 422 00:22:17,310 --> 00:22:21,600 су у заиста било ком формату који желите. 423 00:22:21,600 --> 00:22:25,410 Жао ми је, имам куцању Управо сам схватио. 424 00:22:25,410 --> 00:22:30,887 425 00:22:30,887 --> 00:22:32,720 Ако желите да отворите други графички уређај 426 00:22:32,720 --> 00:22:39,200 можете да користите ову функцију која се зове ПНГ или ЈПЕГ или много других формата слике. 427 00:22:39,200 --> 00:22:42,319 И можете писати на графиконе год назив датотеке сте навели. 428 00:22:42,319 --> 00:22:45,110 Да бисте отказали да морате да Користи, Ја нисам писао ово у слиде-- 429 00:22:45,110 --> 00:22:49,650 али је функција зове дев тачка гола која не узима никакве аргументе. 430 00:22:49,650 --> 00:22:51,517 >> Затим, ту су објекти за 3Д цртање 431 00:22:51,517 --> 00:22:53,350 и за цртање контура Ако желите да се 432 00:22:53,350 --> 00:22:55,700 графикони две независне варијабле. 433 00:22:55,700 --> 00:22:57,150 Нећу ући у ово сада. 434 00:22:57,150 --> 00:22:59,130 >> Такође постоје неке објекти за анимацију 435 00:22:59,130 --> 00:23:01,300 они су обично одржава од стране трећих лица. 436 00:23:01,300 --> 00:23:06,330 Учинио сам анимације са графиконима Р, али ја нисам користио ове треће лице 437 00:23:06,330 --> 00:23:06,940 библиотеке. 438 00:23:06,940 --> 00:23:09,929 Дакле, ја не могу да потврдим да колико су добри. 439 00:23:09,929 --> 00:23:12,220 Оно што сам препоручио ако желите да анимације помоћу Р 440 00:23:12,220 --> 00:23:16,480 је можете написати све оквири за анимације 441 00:23:16,480 --> 00:23:18,470 и онда можете користи Трећа страна програм-- 442 00:23:18,470 --> 00:23:23,630 оне типичне називају ФФмпег или ИмагеМагицк-- да ститцх 443 00:23:23,630 --> 00:23:26,540 све своје оквире у једну анимацију. 444 00:23:26,540 --> 00:23:28,380 >> Дакле, време за демо. 445 00:23:28,380 --> 00:23:31,030 446 00:23:31,030 --> 00:23:37,189 Дакле, ако користите било Уник као систем што је Линук БСД али ко користи БСД. 447 00:23:37,189 --> 00:23:39,730 ОС Кс отворите прозор терминала и Типе Р на командној линији. 448 00:23:39,730 --> 00:23:42,820 Ако имате Р Студио или слично, која такође ради. 449 00:23:42,820 --> 00:23:46,270 За кориснике оперативног система Виндовс требало би да стању да пронађе Р у менију Старт. 450 00:23:46,270 --> 00:23:50,390 Треба се назива Нешто као Р к64 3 тачке год. 451 00:23:50,390 --> 00:23:53,110 Отвори то горе. 452 00:23:53,110 --> 00:23:58,850 >> Зато ме сада хајде да отворите прозор терминала. 453 00:23:58,850 --> 00:24:02,562 У реду, претрага. 454 00:24:02,562 --> 00:24:03,520 ПУБЛИКА: Цомманд простор 455 00:24:03,520 --> 00:24:06,675 ЦОННЕР Харрис: Цомманд простор, хвала. 456 00:24:06,675 --> 00:24:10,030 Не обично користе Мац рачунаре. 457 00:24:10,030 --> 00:24:13,310 Терминал, показују нови прозор. 458 00:24:13,310 --> 00:24:18,120 Нови прозор је подешавања Основна Р. Дакле, требало би да 459 00:24:18,120 --> 00:24:22,230 а поздравна порука, овако нешто. 460 00:24:22,230 --> 00:24:31,060 >> Дакле, ја користим Р интерактивно. 461 00:24:31,060 --> 00:24:32,719 Можете писати Р скрипти наравно. 462 00:24:32,719 --> 00:24:34,510 У суштини скрипте рун тачно исти начин као 463 00:24:34,510 --> 00:24:40,250 Ако сте седели на рачунару куцање у свакој линији у исто време. 464 00:24:40,250 --> 00:24:42,660 Почнимо тако што вектор. 465 00:24:42,660 --> 00:24:46,230 Стрелица Ц 1, 2. 466 00:24:46,230 --> 00:24:49,400 1, 2, 4. 467 00:24:49,400 --> 00:24:50,050 У реду, наравно. 468 00:24:50,050 --> 00:24:51,630 Ја могу да чине фонт сизе већа. 469 00:24:51,630 --> 00:24:53,030 >> ПУБЛИКА: Цомманд плус 470 00:24:53,030 --> 00:24:53,650 >> ЦОННЕР Харрис: Командно-плус. 471 00:24:53,650 --> 00:24:54,191 Командно-плус. 472 00:24:54,191 --> 00:24:57,610 473 00:24:57,610 --> 00:25:00,370 У реду, како је то? 474 00:25:00,370 --> 00:25:00,870 Dobro? 475 00:25:00,870 --> 00:25:01,551 OK. 476 00:25:01,551 --> 00:25:03,300 Почнимо од проглашавајући вектор листу. 477 00:25:03,300 --> 00:25:08,710 Да ли је, стрелице, Ц 1,2,4. 478 00:25:08,710 --> 00:25:11,181 Можемо видети. 479 00:25:11,181 --> 00:25:12,680 Не брини за конзоле тамо. 480 00:25:12,680 --> 00:25:18,590 Заграде су тако да ако исписати веома дуге низове, можемо где си. 481 00:25:18,590 --> 00:25:26,987 Један пример би било да сам Само желим опсег 2 до 200. 482 00:25:26,987 --> 00:25:28,820 Ако штампана веома дуго Арраи, заграде 483 00:25:28,820 --> 00:25:31,060 су само тако могу да задржим који индекс стаза 484 00:25:31,060 --> 00:25:33,250 ми смо на ако гледам кроз ово визуелно. 485 00:25:33,250 --> 00:25:36,570 486 00:25:36,570 --> 00:25:38,280 Тако у сваком случају, имамо. 487 00:25:38,280 --> 00:25:43,326 >> Зато сам раније рекао да низови интеракцију веома лепо са, на пример, 488 00:25:43,326 --> 00:25:44,450 унарни операције лике тхис. 489 00:25:44,450 --> 00:25:46,500 Па шта мислиш да ћу добити ако откуцате плус 1? 490 00:25:46,500 --> 00:25:49,630 491 00:25:49,630 --> 00:25:51,140 Да. 492 00:25:51,140 --> 00:25:54,250 У реду, сада ћу направити ово другачије низ. 493 00:25:54,250 --> 00:26:01,650 Рецимо б ц 20,40, 80. 494 00:26:01,650 --> 00:26:03,400 Pa šta ti misliš Ова команда ће урадити? 495 00:26:03,400 --> 00:26:09,962 496 00:26:09,962 --> 00:26:10,670 Додајте елементе. 497 00:26:10,670 --> 00:26:14,950 И тако у суштини то је оно што ради. 498 00:26:14,950 --> 00:26:16,740 Дакле, ово је прилично згодно. 499 00:26:16,740 --> 00:26:23,800 Тако сам како би било да урадим. Ц је, рецимо, 6 пута 1 до 10. 500 00:26:23,800 --> 00:26:26,789 501 00:26:26,789 --> 00:26:28,830 Па шта желим да видим садржао, мислиш? 502 00:26:28,830 --> 00:26:37,110 503 00:26:37,110 --> 00:26:38,110 Дакле дељиви са шест. 504 00:26:38,110 --> 00:26:42,170 Сада, шта мислиш ће се десити ако урадим ово? 505 00:26:42,170 --> 00:26:48,090 Ја ћу направити ово мало јасније, ц, ц. 506 00:26:48,090 --> 00:26:50,365 Дакле, шта се дешава, зар не Мислим, ако урадим ово? 507 00:26:50,365 --> 00:26:51,488 плус Ц. 508 00:26:51,488 --> 00:26:55,550 509 00:26:55,550 --> 00:26:56,050 [Неразумљиво] 510 00:26:56,050 --> 00:26:58,552 511 00:26:58,552 --> 00:27:02,350 >> ПУБЛИКА: Или грешка или само додаје прва три елемента. 512 00:27:02,350 --> 00:27:04,510 >> ЦОННЕР Харрис: Не баш. 513 00:27:04,510 --> 00:27:05,522 То је оно што имамо. 514 00:27:05,522 --> 00:27:08,910 Шта се дешава је краћи низ, а, добио циклус. 515 00:27:08,910 --> 00:27:13,990 Тако смо добили 124, 124, 124. 516 00:27:13,990 --> 00:27:15,710 Да. 517 00:27:15,710 --> 00:27:18,940 У суштини, можете да видите овакво понашање пре, плус 1, 518 00:27:18,940 --> 00:27:22,190 као подкласу оваквог понашања, гдје најкраћи низ је само број 519 00:27:22,190 --> 00:27:25,410 1, који је низа један елемент. 520 00:27:25,410 --> 00:27:27,740 Само се каже вектор све време уместо низа, 521 00:27:27,740 --> 00:27:30,290 јер то је оно што је Р документација обично ради. 522 00:27:30,290 --> 00:27:33,070 То је укорењена Ц навика. 523 00:27:33,070 --> 00:27:37,590 >> У реду, па сада имамо овај низ. 524 00:27:37,590 --> 00:27:38,830 Дакле, имамо овај низ, ц. 525 00:27:38,830 --> 00:27:41,380 Можемо да добијемо резиме Статистика на ц, ц. скраћеном 526 00:27:41,380 --> 00:27:46,920 527 00:27:46,920 --> 00:27:48,280 И то је лепо. 528 00:27:48,280 --> 00:27:51,070 529 00:27:51,070 --> 00:27:52,670 Дакле, хајде да урадимо неке ствари матрице. 530 00:27:52,670 --> 00:27:56,160 Рецимо м је матрица. 531 00:27:56,160 --> 00:27:57,780 Хајде да јој три са три једног. 532 00:27:57,780 --> 00:28:01,630 Дакле, нровс једнако 3, и нцолс износи 3. 533 00:28:01,630 --> 00:28:04,190 534 00:28:04,190 --> 00:28:10,710 И за податке идемо Па-- па шта мислиш да ће да уради? 535 00:28:10,710 --> 00:28:15,310 536 00:28:15,310 --> 00:28:16,580 >> Добро, то је следећи. 537 00:28:16,580 --> 00:28:17,970 То је нров и нцолумн. 538 00:28:17,970 --> 00:28:22,164 539 00:28:22,164 --> 00:28:24,580 Дакле, оно што сам урадио је да сам прогласио три са три матрице 540 00:28:24,580 --> 00:28:26,950 и ја сам прошао у низу од девет елемената. 541 00:28:26,950 --> 00:28:30,530 Дакле логаритмом свих елементи један до девет. 542 00:28:30,530 --> 00:28:33,400 543 00:28:33,400 --> 00:28:37,285 И све те вредности попунити Уп Тхе арраи-- жао? 544 00:28:37,285 --> 00:28:38,660 ПУБЛИКА: То су основе 10 стабла? 545 00:28:38,660 --> 00:28:41,284 ЦОННЕР Харрис: Не, дневник је природне логаритми, тако да база е. 546 00:28:41,284 --> 00:28:44,886 547 00:28:44,886 --> 00:28:47,010 Да, ако сте желели база 10 дневник, мислим да бих 548 00:28:47,010 --> 00:28:51,620 да се улогујете год, подијељена лог 10. 549 00:28:51,620 --> 00:28:56,750 И тако су подаци из [неразумљиво] само пуни низа, тако да од врха до дна, 550 00:28:56,750 --> 00:28:59,490 затим лева на десно. 551 00:28:59,490 --> 00:29:06,890 А ако сте желели да радите неки други Арраи, рецимо н матрица. 552 00:29:06,890 --> 00:29:10,317 Хајде да урадимо, не знам, 2 до 13. 553 00:29:10,317 --> 00:29:11,900 Или ћу урадити нешто више занимљиво. 554 00:29:11,900 --> 00:29:13,770 Ја ћу од 2 до 4. 555 00:29:13,770 --> 00:29:15,780 нров једнако, рецимо, 3. 556 00:29:15,780 --> 00:29:18,992 нцол једнако 4. 557 00:29:18,992 --> 00:29:20,360 н. 558 00:29:20,360 --> 00:29:22,090 Дакле, имамо ово. 559 00:29:22,090 --> 00:29:26,130 >> А сада, ако желимо да се размножавају њих, ћемо урадити Н проценат пута одсто, 560 00:29:26,130 --> 00:29:27,680 јер је то бр. 561 00:29:27,680 --> 00:29:30,234 562 00:29:30,234 --> 00:29:31,400 И ми имамо матрице производе. 563 00:29:31,400 --> 00:29:33,970 564 00:29:33,970 --> 00:29:37,810 По Они који начин, да ли сте видели како када сам прогласио Н, 2 до 4 565 00:29:37,810 --> 00:29:43,570 вектор добио циклус до да напуни све н? 566 00:29:43,570 --> 00:29:45,710 Ако желите да се еигенвалуе разлагање, 567 00:29:45,710 --> 00:29:46,960 ово је нешто што можемо учинити врло једноставно. 568 00:29:46,960 --> 00:29:47,709 Можемо да урадимо еиген н. 569 00:29:47,709 --> 00:29:52,290 570 00:29:52,290 --> 00:29:54,600 И ово је наш први сусрет са листе. 571 00:29:54,600 --> 00:29:57,000 >> Дакле, Еиген н листа са два кључа. 572 00:29:57,000 --> 00:29:58,430 Вредности, које је овај низ овде. 573 00:29:58,430 --> 00:30:01,030 И вектори, који је овај низ овде. 574 00:30:01,030 --> 00:30:08,240 Дакле, ако желите да издвојите, рецимо, тај трећи колона 575 00:30:08,240 --> 00:30:13,080 из матрице еигенвецторс, јер су еигенвецторс су вектори колоне. 576 00:30:13,080 --> 00:30:24,400 Дакле, можемо да урадимо већ еиген Н знак долара вектори, зарез 3, на [неразумљиво]. 577 00:30:24,400 --> 00:30:29,800 578 00:30:29,800 --> 00:30:30,900 Вец. 579 00:30:30,900 --> 00:30:34,100 Да ли је то, као што се може очекивати. 580 00:30:34,100 --> 00:30:39,210 >> Онда кажу н пута одсто пута већ. 581 00:30:39,210 --> 00:30:42,610 582 00:30:42,610 --> 00:30:48,320 Дакле, резултат овде свакако изгледа ако смо узели трећи еигенвалуе овде, 583 00:30:48,320 --> 00:30:50,390 што одговара трећи еигенвецтор. 584 00:30:50,390 --> 00:30:53,190 Само умножава све у ово еигенвецтор, компонента-мудар, 585 00:30:53,190 --> 00:30:53,990 од стране еигенвалуе. 586 00:30:53,990 --> 00:30:57,760 И то је оно што бисмо очекивали, јер то је оно што су својствене. 587 00:30:57,760 --> 00:31:00,890 Да ли је неко овде није узети Линеар Алгебра? 588 00:31:00,890 --> 00:31:02,530 Неколико људи, у реду. 589 00:31:02,530 --> 00:31:04,030 Само се мозак офф за мало. 590 00:31:04,030 --> 00:31:07,490 591 00:31:07,490 --> 00:31:20,720 И заиста, ако узмемо еиген н Доллар сигн вредности 3 пута вец, 592 00:31:20,720 --> 00:31:21,810 и добити исту ствар. 593 00:31:21,810 --> 00:31:24,726 То је другачије форматиран као низ вектор уместо колони вектора, 594 00:31:24,726 --> 00:31:25,640 али велика ствар. 595 00:31:25,640 --> 00:31:29,430 596 00:31:29,430 --> 00:31:35,170 И тако они су у основи лепо ствари које можемо да урадимо са матрицама, 597 00:31:35,170 --> 00:31:36,489 показале листе. 598 00:31:36,489 --> 00:31:39,030 Ја треба да покаже лепо ствари о функцијама, као. 599 00:31:39,030 --> 00:31:41,750 >> Дакле, хајде да говоре-- [неразумљиво] Функција, назовимо 600 00:31:41,750 --> 00:31:51,960 да фунц против функцији н скуаред-- Заправо, то није баш најбољи. 601 00:31:51,960 --> 00:31:55,632 а, б, правоугаону плус б. 602 00:31:55,632 --> 00:31:58,547 603 00:31:58,547 --> 00:32:00,380 Дакле, једна ствар у вези функције, поново су се 604 00:32:00,380 --> 00:32:01,963 не треба експлицитне повратне изјаве. 605 00:32:01,963 --> 00:32:04,250 Дакле, можете само-- последњи исказ оцењени 606 00:32:04,250 --> 00:32:07,502 ће бити враћен изјаву, односно вредност се вратио. 607 00:32:07,502 --> 00:32:10,460 Дакле, у овом случају, ми смо само оцјену једна изјава, а на квадрат плус Б. 608 00:32:10,460 --> 00:32:12,043 То ће бити вредност подразумевани повратак. 609 00:32:12,043 --> 00:32:14,530 Никада не шкоди да стави у врати вредности експлицитно, 610 00:32:14,530 --> 00:32:16,880 поготово ако имате посла са функција веома компликованог логике 611 00:32:16,880 --> 00:32:17,380 проток. 612 00:32:17,380 --> 00:32:18,450 Али ти не требају. 613 00:32:18,450 --> 00:32:24,890 Тако да сада можемо да урадимо фунц 5, 1, и ово је у суштини оно што смо очекивали. 614 00:32:24,890 --> 00:32:29,146 615 00:32:29,146 --> 00:32:31,270 Нешто друго можемо да урадимо, ми заправо може да уради фунц б 616 00:32:31,270 --> 00:32:33,260 једнако 1, А једнако 5. 617 00:32:33,260 --> 00:32:36,870 618 00:32:36,870 --> 00:32:40,770 Дакле, ако одредите који број овде, који даље иде у којој Аргумент 619 00:32:40,770 --> 00:32:44,680 у функцији, можемо флип около Ове вредности где год желимо. 620 00:32:44,680 --> 00:32:48,405 >> ПУБЛИКА: Да ли постоји неки разлог да се напише са б 621 00:32:48,405 --> 00:32:52,404 једнака за разлику од само коришћењем бројеви и зарез? 622 00:32:52,404 --> 00:32:54,820 ЦОННЕР Харрис: Да, обично ово ако имате функције 623 00:32:54,820 --> 00:32:58,540 са много аргумената. 624 00:32:58,540 --> 00:33:00,690 То је можда често бити као заставе да само бих 625 00:33:00,690 --> 00:33:03,130 желите да користите у ретким приликама. 626 00:33:03,130 --> 00:33:06,740 И на овај начин можете вас само-- се може односити на специфичне аргументима 627 00:33:06,740 --> 00:33:09,110 који желите да користите неподразумевана вредности за, 628 00:33:09,110 --> 00:33:14,470 а ви не морате да написати гомила застава износи лажне њима. 629 00:33:14,470 --> 00:33:19,710 Или могу поново пишем ово са подразумевани вредност као Б једнак 2. 630 00:33:19,710 --> 00:33:26,289 А онда сам могао да урадим ф фунц, Ја ћу учинити 4, 1 овај пут. 631 00:33:26,289 --> 00:33:28,580 И 17, који је 4 квадрат Плус 1, као што би се могло очекивати. 632 00:33:28,580 --> 00:33:34,290 >> Али сам такође могао само позовите са фунц 4, 633 00:33:34,290 --> 00:33:36,970 а ја ћу 18, јер Ја не прецизира б. 634 00:33:36,970 --> 00:33:38,550 Дакле, Б добија дефаулт вредност 2. 635 00:33:38,550 --> 00:33:41,700 636 00:33:41,700 --> 00:33:47,200 >> У реду, тако да сада ако сте Следећи заједно са демо, 637 00:33:47,200 --> 00:33:51,010 тип ову линију под вашом командом затражити и видимо шта искрсне. 638 00:33:51,010 --> 00:33:52,090 Заправо, не ради то. 639 00:33:52,090 --> 00:33:52,590 Тип ово. 640 00:33:52,590 --> 00:33:57,780 641 00:33:57,780 --> 00:34:01,000 Требало би да добијете нешто овако. 642 00:34:01,000 --> 00:34:04,780 Тако мтцарс је изграђен у подацима сет за ову демонстрацију 643 00:34:04,780 --> 00:34:13,550 сврхе да долази са-- која долази у стандардно са вашим р дистрибуције. 644 00:34:13,550 --> 00:34:19,211 Ово је компилација статистике из и питање часописа Мотор Тренд је 1974 645 00:34:19,211 --> 00:34:20,710 на бројним различитих модела аутомобила. 646 00:34:20,710 --> 00:34:28,270 >> Дакле, нема миља по литру, цилиндерс-- Заборавио сам шта дисп је-- коњских снага. 647 00:34:28,270 --> 00:34:31,610 648 00:34:31,610 --> 00:34:32,420 Вероватно. 649 00:34:32,420 --> 00:34:36,920 Ако сте управо Гоогле МТ аутомобила, онда је једна од првих резултата 650 00:34:36,920 --> 00:34:38,730 ће бити од Оффициал Р документација 651 00:34:38,730 --> 00:34:41,080 и да ће објаснити Сви ови подаци поља. 652 00:34:41,080 --> 00:34:47,020 Дакле, тежина је- мас је тежина аутомобила у тонама. 653 00:34:47,020 --> 00:34:48,880 П сец је време четврт миље. 654 00:34:48,880 --> 00:34:52,409 655 00:34:52,409 --> 00:34:55,850 Тако да сада можемо да урадимо неке забавне ствари о МТ аутомобила је поље података. 656 00:34:55,850 --> 00:35:01,640 >> Дакле, можемо да урадимо ствари као имена ред, мт аутомобила. 657 00:35:01,640 --> 00:35:05,490 А ово је листа свих редова у предвиђеног датума који су имена аутомобила. 658 00:35:05,490 --> 00:35:10,780 Можемо да урадимо цолнамес, МТ аутомобила ове. 659 00:35:10,780 --> 00:35:15,500 Ако то урадите мт аутомобили, под-индекса нумерички, као и 2. 660 00:35:15,500 --> 00:35:18,177 смо добили другу колону из ово, што би било цилиндара. 661 00:35:18,177 --> 00:35:19,370 >> ПУБЛИКА: Шта си урадио? 662 00:35:19,370 --> 00:35:21,570 >> ЦОННЕР Харрис: Ја откуцао МТ аутомобили, држачи Е, 663 00:35:21,570 --> 00:35:24,180 који ми је дао други Колона од мт аутомобила. 664 00:35:24,180 --> 00:35:34,501 665 00:35:34,501 --> 00:35:38,110 Или, ако желимо ред, Могу да куцам мтцарс Цомма 2, на пример. 666 00:35:38,110 --> 00:35:41,850 667 00:35:41,850 --> 00:35:46,390 Друго коло 2 зарез, тако. 668 00:35:46,390 --> 00:35:48,880 И то иде у вашем реду. 669 00:35:48,880 --> 00:35:54,680 Ово само вам даје колоне, али колона као вектор. 670 00:35:54,680 --> 00:36:04,634 671 00:36:04,634 --> 00:36:06,425 Управо сам схватио сада Заборавио сам да покаже 672 00:36:06,425 --> 00:36:09,150 неке цоол ствари о вектора да можете да урадите са индексима. 673 00:36:09,150 --> 00:36:10,480 Дакле, дозволите ми да то сада. 674 00:36:10,480 --> 00:36:17,130 Па хајде да урадимо Ц гетс-- стављање ово паусе-- 2 пута 1 до 10. 675 00:36:17,130 --> 00:36:21,360 Дакле Ц је само да се вектор 2 до 20. 676 00:36:21,360 --> 00:36:24,640 Ја могу да елементе овако, Ц2. 677 00:36:24,640 --> 00:36:30,942 Могу проћи у вектор овако, ц-- ме пусти 678 00:36:30,942 --> 00:36:34,470 користити друго име него ц, као и вец ц. 679 00:36:34,470 --> 00:36:37,591 680 00:36:37,591 --> 00:36:39,340 У суштини, радим ово тако да не добијете 681 00:36:39,340 --> 00:36:45,010 збуњени између Ц као вектор изградња функција, 682 00:36:45,010 --> 00:36:48,800 а затим ц као име променљиве. 683 00:36:48,800 --> 00:36:53,120 Вец држачи ц 4, 5, 7. 684 00:36:53,120 --> 00:36:56,540 Ово ће ме изаћи четврти, пети, и седам елементи низа. 685 00:36:56,540 --> 00:37:01,740 Ја могу да урадим вец, ставити у негативан индекс, као и негативне 4. 686 00:37:01,740 --> 00:37:06,500 То ће ме изаћи са Четврти елемент уклоњен. 687 00:37:06,500 --> 00:37:10,140 Онда, ако сам хтео да урадим кришке, Ја могу да урадим ВЕЦ 2 до 6. 688 00:37:10,140 --> 00:37:15,480 2 дебелог црева 6 је само још један вектор, која је 2, 3, 4, 5, 6. 689 00:37:15,480 --> 00:37:18,230 Пљује да. 690 00:37:18,230 --> 00:37:20,770 >> Тако у сваком случају, назад у мт аутомобила. 691 00:37:20,770 --> 00:37:26,650 692 00:37:26,650 --> 00:37:28,450 Дакле, хајде да урадимо неке регресије. 693 00:37:28,450 --> 00:37:34,240 Рецимо модела гетс-- хајдемо линеарно регресс-- Не знам. 694 00:37:34,240 --> 00:37:41,780 Прво да не придајем мтцарс, наравно. 695 00:37:41,780 --> 00:37:44,870 696 00:37:44,870 --> 00:38:00,010 Дакле, [неразумљиво] Модел ЛМ, хајде да регреса миља по литру на Тилде тежине. 697 00:38:00,010 --> 00:38:03,300 А онда оквир подаци мтцарс. 698 00:38:03,300 --> 00:38:06,830 Дакле, резиме модела. 699 00:38:06,830 --> 00:38:12,900 700 00:38:12,900 --> 00:38:15,595 >> У реду, тако да ово изгледа мало компликовано. 701 00:38:15,595 --> 00:38:19,380 Али, у основи, види као да смо покушати да изрази миља по галону 702 00:38:19,380 --> 00:38:23,970 као линеарна функција тежине, онда смо стигли ову линију, 703 00:38:23,970 --> 00:38:28,730 који пресреће у 37.28. 704 00:38:28,730 --> 00:38:33,830 37.28 ће бити теоретске миља по галону аутомобила који је тежак нули. 705 00:38:33,830 --> 00:38:41,210 А онда за сваки додатни тон, куцате око пет миља на галон 706 00:38:41,210 --> 00:38:42,440 с тога. 707 00:38:42,440 --> 00:38:45,120 Оба ова коефицијената сте можете видети, стандардне грешке нема. 708 00:38:45,120 --> 00:38:47,870 И они су веома статистички значајна. 709 00:38:47,870 --> 00:38:55,740 >> Дакле, можемо бити веома сигурно 1 е 10 у негативну 10. 710 00:38:55,740 --> 00:38:59,510 СО 1 пута нешто да негативно 10, да ако се тежи ауто, 711 00:38:59,510 --> 00:39:01,440 она ће имати лошије миља на галон. 712 00:39:01,440 --> 00:39:04,940 713 00:39:04,940 --> 00:39:07,250 Или можемо тестирати неки други модел. 714 00:39:07,250 --> 00:39:09,230 Као уместо назадује то на тежини, 715 00:39:09,230 --> 00:39:12,600 хајде да регреса на дневнику тежине, јер можда ефективне тежине 716 00:39:12,600 --> 00:39:15,690 на километражу је некако није линеарна. 717 00:39:15,690 --> 00:39:18,540 >> То нам је дало Р квадрат на 0.7528. 718 00:39:18,540 --> 00:39:19,610 Дакле, хајде да пробамо ово. 719 00:39:19,610 --> 00:39:21,485 Овај пут идемо урадите другачији променљива, превише. 720 00:39:21,485 --> 00:39:22,500 МОДЕЛ2. 721 00:39:22,500 --> 00:39:24,800 Дакле резиме, МОДЕЛ2. 722 00:39:24,800 --> 00:39:28,200 723 00:39:28,200 --> 00:39:31,390 У реду, тако да опет смо стигли нашу најбољу фит линију. 724 00:39:31,390 --> 00:39:36,160 И то времена-- готово то каже, у основи да сваки пут сте 725 00:39:36,160 --> 00:39:38,090 повећа тежину ауто за фактор е 726 00:39:38,090 --> 00:39:40,580 изгубите оволико миља на галон. 727 00:39:40,580 --> 00:39:43,210 728 00:39:43,210 --> 00:39:50,326 >> И тако овај пут наша заостала стандардни еррор то-- то нема везе, стварно. 729 00:39:50,326 --> 00:39:53,540 Преостали Стандардна грешка је у суштини само стандардна грешка 730 00:39:53,540 --> 00:39:57,760 да сте напустили после тебе одузети Линија тренда. 731 00:39:57,760 --> 00:40:02,805 И наш Р квадрат овде је 0,81, што је мало боља него што 732 00:40:02,805 --> 00:40:07,640 смо раније имали, 0.52. 733 00:40:07,640 --> 00:40:09,750 >> И сада хајде да додам термин за ове регресије. 734 00:40:09,750 --> 00:40:13,020 Дакле, хајде да регреса миља по галону како на дневнику пондера 735 00:40:13,020 --> 00:40:21,130 и, хајде да урадимо, к миља, четврт миље време. 736 00:40:21,130 --> 00:40:26,190 У реду, она мора имати до-- Алл Ригхт, ксец. 737 00:40:26,190 --> 00:40:26,690 Ксец. 738 00:40:26,690 --> 00:40:30,630 739 00:40:30,630 --> 00:40:35,000 Ствари-- је, шта? 740 00:40:35,000 --> 00:40:37,000 Дозволите ми зовемо нешто друго осим МОДЕЛ2. 741 00:40:37,000 --> 00:40:38,000 Пусти ме зову модела3. 742 00:40:38,000 --> 00:40:40,860 743 00:40:40,860 --> 00:40:42,900 И сада можемо да урадимо збирни модела3. 744 00:40:42,900 --> 00:40:46,850 745 00:40:46,850 --> 00:40:49,100 И тако опет, ово је у основи оно што би се могло очекивати. 746 00:40:49,100 --> 00:40:51,750 Имате позитиван разговор. 747 00:40:51,750 --> 00:40:54,550 Ефективна повећање тежина је негативан. 748 00:40:54,550 --> 00:40:58,490 А ефективна повећање четврт миље време 749 00:40:58,490 --> 00:41:02,420 је позитиван, али иако мањој мери него тежине. 750 00:41:02,420 --> 00:41:06,010 Сада интуитивно, можете смисао ово рекавши мислите о спортским аутомобилима. 751 00:41:06,010 --> 00:41:08,950 Постоји веома брзо убрзање, врло кратком Куартер Миле пута. 752 00:41:08,950 --> 00:41:13,729 Такође су да користе више гаса, док разумније аутомобили иду 753 00:41:13,729 --> 00:41:16,020 да спорије убрзање, виши Куартер Миле пута, 754 00:41:16,020 --> 00:41:20,890 и користе мање гаса ,, тако више миља по литру. 755 00:41:20,890 --> 00:41:21,390 Veliki. 756 00:41:21,390 --> 00:41:23,431 И сада је време да плот нешто овако. 757 00:41:23,431 --> 00:41:27,810 Дакле, хајде да Па-- тако голи кости можемо да урадимо плотс-- 758 00:41:27,810 --> 00:41:35,280 јер сам привржен ове податке оквир пре-- можемо да урадимо парцеле, мт мпг. 759 00:41:35,280 --> 00:41:38,762 760 00:41:38,762 --> 00:41:39,720 Нека ово мало већи. 761 00:41:39,720 --> 00:41:55,050 762 00:41:55,050 --> 00:41:57,350 Тамо смо у основи имају скатер земљиште, али су поени 763 00:41:57,350 --> 00:41:58,690 су мало тешко да видите на ово. 764 00:41:58,690 --> 00:42:04,860 765 00:42:04,860 --> 00:42:10,900 >> Не сећам се шта је импровизовано Синтакса је за промену заплет. 766 00:42:10,900 --> 00:42:14,100 Претпостављам да ће ово бити добро време да се, 767 00:42:14,100 --> 00:42:18,000 тамо је лепо Уграђен помоћ карактеристика, помоћ цитати функционишу име. 768 00:42:18,000 --> 00:42:21,690 Ми ћемо изнети у суштини шта желите. 769 00:42:21,690 --> 00:42:28,010 770 00:42:28,010 --> 00:42:32,730 Мислим да стварно ћу урадити Тип једнако п за бодове парцела. 771 00:42:32,730 --> 00:42:34,369 Да ли је то нешто променити? 772 00:42:34,369 --> 00:42:35,160 И не, не баш. 773 00:42:35,160 --> 00:42:39,160 774 00:42:39,160 --> 00:42:39,660 U redu. 775 00:42:39,660 --> 00:42:46,760 776 00:42:46,760 --> 00:42:49,580 >> Из неког разлога, када сам то урадио на свом рачунару пре неког времена, 777 00:42:49,580 --> 00:42:52,080 све сцаттер тачке били су много јасније. 778 00:42:52,080 --> 00:43:06,390 779 00:43:06,390 --> 00:43:13,970 У сваком случају, су растурање врста видљиво? 780 00:43:13,970 --> 00:43:15,124 Тамо је један. 781 00:43:15,124 --> 00:43:16,165 Неколико постоји, неколико тамо. 782 00:43:16,165 --> 00:43:18,860 783 00:43:18,860 --> 00:43:21,185 Можете некако их виде, зар не? 784 00:43:21,185 --> 00:43:24,310 Дакле, ако желите да додате најбољи фит линију на овој парцели овде, што је мало голи 785 00:43:24,310 --> 00:43:29,290 бонес-- дозволите ми да мало лепше. 786 00:43:29,290 --> 00:43:38,075 Главни једнака у односу на тежини. 787 00:43:38,075 --> 00:43:46,322 788 00:43:46,322 --> 00:43:49,740 Миља по литру. 789 00:43:49,740 --> 00:43:53,570 Опет, можете видети како корисно опциони аргументи су овде са такође 790 00:43:53,570 --> 00:43:58,090 не морате да ставите ствари у сигурно би са аргументима тастатуре 791 00:43:58,090 --> 00:44:01,600 када имате парцела, јер они узимају доста аргумената. 792 00:44:01,600 --> 00:44:07,490 >> Кслаб једнака маса, тежина, тона. 793 00:44:07,490 --> 00:44:10,091 794 00:44:10,091 --> 00:44:10,590 U redu. 795 00:44:10,590 --> 00:44:17,340 796 00:44:17,340 --> 00:44:21,480 ОК, да, овај уређај је био помало досадан. 797 00:44:21,480 --> 00:44:30,160 Али можете видети некако горе, има наслов графикон на страни. 798 00:44:30,160 --> 00:44:35,260 Овамо је-- на дну Овде постоје оса ознаке. 799 00:44:35,260 --> 00:44:37,700 Не сећам се напамет шта команде арс-- 800 00:44:37,700 --> 00:44:41,000 које су основне функције су да се повећа величина тих етикета и звања, 801 00:44:41,000 --> 00:44:43,110 али они тамо. 802 00:44:43,110 --> 00:44:46,625 >> И тако ако желимо да додајте најбољи фит линију, 803 00:44:46,625 --> 00:44:49,250 можемо да урадимо нешто као-- И имају синтакса написано овде. 804 00:44:49,250 --> 00:44:52,280 805 00:44:52,280 --> 00:45:11,130 Дакле, запамтите смо додали модел био МПГ, тежина, мтцарс. 806 00:45:11,130 --> 00:45:16,470 И тако, ако сам хтео да додам да најбоље одговара линија, ја могао урадити Б-Лине модел,. 807 00:45:16,470 --> 00:45:18,556 И бум, имамо најбољи фит линију. 808 00:45:18,556 --> 00:45:19,970 То је тешко да видим. 809 00:45:19,970 --> 00:45:22,178 Ја сам сасвим ми је о технолошке тешкоће. 810 00:45:22,178 --> 00:45:25,230 Али у суштини ради горњег левог до доњем десном углу. 811 00:45:25,230 --> 00:45:27,550 >> А ако су скала већи, могли сте да видите 812 00:45:27,550 --> 00:45:31,260 да је пресретање је оно што можете финд из резимеа статистике 813 00:45:31,260 --> 00:45:34,790 ако откуцате збирни модел. 814 00:45:34,790 --> 00:45:40,130 У реду, тако да се надам свако добије нешто смислу онога што 815 00:45:40,130 --> 00:45:42,030 Р је, како је добро за. 816 00:45:42,030 --> 00:45:45,520 Можете направити много лепше него парцеле ово на своје време, ако желите. 817 00:45:45,520 --> 00:45:50,100 818 00:45:50,100 --> 00:45:53,950 >> Тако девизног функцију. 819 00:45:53,950 --> 00:46:00,330 То је нешто што није типично прекривен уводних предавања 820 00:46:00,330 --> 00:46:03,560 или уводни све за р. 821 00:46:03,560 --> 00:46:05,584 Није вероватно да ћеш требати. 822 00:46:05,584 --> 00:46:08,000 Међутим, нашао сам да је корисно у моје властите пројекте у прошлости. 823 00:46:08,000 --> 00:46:10,984 И не постоји добар туториал за њега мрежи. 824 00:46:10,984 --> 00:46:12,900 Дакле, само ћу журити вас све кроз ово 825 00:46:12,900 --> 00:46:16,606 и онда сте слободни да оду. 826 00:46:16,606 --> 00:46:18,480 И тако је страно Функција интерфејс је шта 827 00:46:18,480 --> 00:46:23,130 можете да користите да позовем да видим функције са једном Р. интерно, 828 00:46:23,130 --> 00:46:29,850 Р је изграђен на Ц. Р-ов аритметика је само Ц је 64-битни Флоатинг Поинт аритметика, 829 00:46:29,850 --> 00:46:32,852 која је Двоструко [неразумљиво]. 830 00:46:32,852 --> 00:46:35,060 И можда ћете желети да урадите ово гомила разлога. 831 00:46:35,060 --> 00:46:39,250 За један Р тумачи, то је није саставио до машинског кода. 832 00:46:39,250 --> 00:46:42,170 Дакле, можете да мењате своје унутрашње петље у Ц и онда се 833 00:46:42,170 --> 00:46:45,920 предност употребе Р. Лике то је мало више згодан него Ц. 834 00:46:45,920 --> 00:46:48,899 Она има бољу графикона објекти и шта све не. 835 00:46:48,899 --> 00:46:51,690 И док је још у стању да максимална брзина од унутрашњих петљи, 836 00:46:51,690 --> 00:46:53,650 што је место где је заиста потребно. 837 00:46:53,650 --> 00:46:56,330 >> Поновно коришћење постојећих Ц библиотеке, то је такође важно. 838 00:46:56,330 --> 00:47:00,320 Ако имате неку Ц библиотеку за слично, Не знам, Фоуриер-трансформише, 839 00:47:00,320 --> 00:47:05,190 или неки веома Арцхеан Статистика поступак користи 840 00:47:05,190 --> 00:47:09,470 у високој енергетској астрофизике или тако нешто, не знам. 841 00:47:09,470 --> 00:47:13,058 Хигх Енерги Астропхисицс није чак ни мислим, мислим. 842 00:47:13,058 --> 00:47:16,480 Али можете да урадите да уместо да напише нативе Р луку њих. 843 00:47:16,480 --> 00:47:22,725 И на који-- и опет, као да вас погледај у већини Р је дефаулт библиотекама, 844 00:47:22,725 --> 00:47:25,600 на интерналс, са унутрашњим су намеравате да користите спољну функцију 845 00:47:25,600 --> 00:47:26,724 интерфејс веома интензивно. 846 00:47:26,724 --> 00:47:31,630 Они ће имати ствари као што Фоуриер трансформише или цомпутинг корелацију 847 00:47:31,630 --> 00:47:34,890 коефицијенти написан у Ц, и они ће само Р омоте око њих. 848 00:47:34,890 --> 00:47:38,230 Интерфејс је мало теже. mislim 849 00:47:38,230 --> 00:47:43,750 Њена тежина је преувеличана у А Много упутствима које ћете наћи. 850 00:47:43,750 --> 00:47:46,200 Али ипак, то је збуњујуће. 851 00:47:46,200 --> 00:47:48,650 И нисам био у стању да пронаћи добар туториал за њега, 852 00:47:48,650 --> 00:47:51,980 тако да је то сада. 853 00:47:51,980 --> 00:47:55,360 Опет, ово читав сегмент је више за каснију употребу. 854 00:47:55,360 --> 00:47:57,687 Не брини за копирање све доле одмах. 855 00:47:57,687 --> 00:48:00,020 Тако следећим инструкцијама су за Униксолике система, 856 00:48:00,020 --> 00:48:05,150 Линук, БСД, ОС Кс не знам како то ради на Виндовс, 857 00:48:05,150 --> 00:48:08,280 али молим те немој твој завршни пројекат на Виндовс. 858 00:48:08,280 --> 00:48:10,790 859 00:48:10,790 --> 00:48:12,460 Стварно не желим. 860 00:48:12,460 --> 00:48:14,770 Уник је много боље скуп се за цасуал програмирање. 861 00:48:14,770 --> 00:48:19,320 862 00:48:19,320 --> 00:48:21,390 Дакле, у основи страних Функција интерфејс. 863 00:48:21,390 --> 00:48:24,420 Ако желите да напишете Ц функција за употребу са Р, 864 00:48:24,420 --> 00:48:27,250 мора да предузме све аргументи као тројкама. 865 00:48:27,250 --> 00:48:30,666 >> Дакле, за појединачне вредности, ова значи да је указао на вредности. 866 00:48:30,666 --> 00:48:33,040 За низове, ово је показивач на првом елементу, која 867 00:48:33,040 --> 00:48:36,750 је оно што имена арраи заправо значи. 868 00:48:36,750 --> 00:48:40,140 Опет, ово је нешто што би требало да Прилично потпуно оставку након стр сет пет. 869 00:48:40,140 --> 00:48:43,334 Арраи имена су само показивачи на првом елементу, 870 00:48:43,334 --> 00:48:44,750 Тип флоатинг-поинт је двоструко. 871 00:48:44,750 --> 00:48:47,310 И ваша функција мора да се врати неважећим. 872 00:48:47,310 --> 00:48:50,810 Једини начин да се то може заправо рећи шта се десило Р 873 00:48:50,810 --> 00:48:54,410 је изменом меморију да Р дао до њега преко страног функције 874 00:48:54,410 --> 00:48:54,910 pristup. 875 00:48:54,910 --> 00:48:58,180 876 00:48:58,180 --> 00:49:00,127 >> Тако сам написао ово Пример овде, ово је 877 00:49:00,127 --> 00:49:02,460 функција која израчунава употреба дот производ два вектора. 878 00:49:02,460 --> 00:49:05,060 Потребно је два аргумента, вец1, вец2, који су сами вектори, 879 00:49:05,060 --> 00:49:06,934 и онда н, што представља дужина, јер опет, 880 00:49:06,934 --> 00:49:12,630 Р је изграђена у [неразумљиво] да бисте сазнали дужина вектора, али Ц не. 881 00:49:12,630 --> 00:49:16,182 У Ц, вектори је произвољна делимитед комад меморије. 882 00:49:16,182 --> 00:49:17,890 Дакле, начин на који можете израчунати дот производе 883 00:49:17,890 --> 00:49:23,470 је само сет ово параметар на нулу и онда поновити кроз 884 00:49:23,470 --> 00:49:28,760 од 1 до звезда н, јер Н је показивач на дужину, 885 00:49:28,760 --> 00:49:32,929 само додајте нешто ово параметар. 886 00:49:32,929 --> 00:49:34,970 И то може бити добра пракса ако ћеш да урадиш 887 00:49:34,970 --> 00:49:37,270 ово пишем два одвојена Ц функције. 888 00:49:37,270 --> 00:49:41,970 Један од њих хас-- Једно од њих јуст узима аргументе и типове 889 00:49:41,970 --> 00:49:43,970 да ће обично бити у Ц. 890 00:49:43,970 --> 00:49:47,780 >> Тако Потребно је низ аргументи као тројкама. 891 00:49:47,780 --> 00:49:57,090 Али аргументи једним вредност као Н, само узима као вредности од копија, 892 00:49:57,090 --> 00:49:57,917 без показивача. 893 00:49:57,917 --> 00:49:59,750 И онда се то не догоди [Неразумљиво] од показивач. 894 00:49:59,750 --> 00:50:01,290 А онда можете имати другачији, у основи, 895 00:50:01,290 --> 00:50:03,623 амбалажа функција која у суштини управља захтеве 896 00:50:03,623 --> 00:50:07,740 страног функције интерфејс за тебе. 897 00:50:07,740 --> 00:50:11,840 >> Начин на који ви називате ово истраживање је, једном имате ваша функција написан у Ц, 898 00:50:11,840 --> 00:50:17,770 куцате Р цмд СхЛиб библиотека преведена, Р команда схаред либрари, 899 00:50:17,770 --> 00:50:20,110 Фоо тачка ц, или шта год ваш фајл име, 900 00:50:20,110 --> 00:50:23,020 а ОС Схелл не у Р терминалу. 901 00:50:23,020 --> 00:50:25,200 А то ће створити библиотека под називом Фоо дот тако. 902 00:50:25,200 --> 00:50:28,180 А онда можете учитати у наш скрипт или интерактивно 903 00:50:28,180 --> 00:50:32,310 са командном Дин дот оптерећења. 904 00:50:32,310 --> 00:50:35,720 Затим је функција у Р зове тачка Ц. 905 00:50:35,720 --> 00:50:39,310 >> То траје аргументе који су Први назив функције у Ц 906 00:50:39,310 --> 00:50:40,970 који желите да позовете. 907 00:50:40,970 --> 00:50:43,920 И онда се сви параметри на ту функцију, 908 00:50:43,920 --> 00:50:45,420 морају да буду у правилним редоследом. 909 00:50:45,420 --> 00:50:48,580 Морате да користите ове врсте принуде функционише као цео број, као и 910 00:50:48,580 --> 00:50:52,050 двоструко, као карактера, и као логична. 911 00:50:52,050 --> 00:50:54,710 И онда када се враћа листа, који је опет само 912 00:50:54,710 --> 00:50:57,550 придружена низ од параметара имена и вредности 913 00:50:57,550 --> 00:51:00,950 након што је функција је остао. 914 00:51:00,950 --> 00:51:08,520 >> Дакле, у овом случају, јер тачка Прод има аргументи вец1, вец2, и инт н, н напоље. 915 00:51:08,520 --> 00:51:11,980 Да дот Ц имамо дот прод, име функције 916 00:51:11,980 --> 00:51:16,250 Зовемо, вец1, вец2, тип присили. 917 00:51:16,250 --> 00:51:20,060 Дужина једне или друге вектора, Само изабрао вец1 произвољно. 918 00:51:20,060 --> 00:51:25,479 Било би више робустан да каже с цео мин дужина вец1, дужине вец2. 919 00:51:25,479 --> 00:51:27,520 Затим као дупла нула, јер ми не стварно 920 00:51:27,520 --> 00:51:29,644 занима ме шта улази у од параметра јер смо 921 00:51:29,644 --> 00:51:32,270 га поставите на ионако нулу. 922 00:51:32,270 --> 00:51:37,560 >> А онда резултати ће бити велики повезан низ основи 923 00:51:37,560 --> 00:51:42,090 вец1 је год, вец2 је свеједно. 924 00:51:42,090 --> 00:51:44,330 Али ми смо заинтересовани за напоље, тако да можемо добити то. 925 00:51:44,330 --> 00:51:47,780 Ово је опет, веома играчка пример страног функцију. 926 00:51:47,780 --> 00:51:54,160 Али ако имате да израчунати тачку производи масивним вектора у петљи, 927 00:51:54,160 --> 00:51:56,960 или ако треба да урадите нешто друго у петљи, 928 00:51:56,960 --> 00:51:59,850 а ви не желите да се ослоне на Р, која има мало изнад главе 929 00:51:59,850 --> 00:52:02,830 уграђен у њу, то може бити корисно. 930 00:52:02,830 --> 00:52:05,870 >> Опет, ово обично није уводни тема за Р. 931 00:52:05,870 --> 00:52:08,571 То није добро документовано. 932 00:52:08,571 --> 00:52:11,070 Само га укључујући јер Нашао сам да је корисно у прошлости. 933 00:52:11,070 --> 00:52:13,654 Дакле, лоше праксе. 934 00:52:13,654 --> 00:52:15,820 Поменуо сам да постоји за петљу у функцији. 935 00:52:15,820 --> 00:52:21,150 Генерално не би требало, у језик, не користи. 936 00:52:21,150 --> 00:52:26,100 На основу како: Р спроводи итерација интерно, то може бити спора. 937 00:52:26,100 --> 00:52:28,540 Само такође изгледају ружно. 938 00:52:28,540 --> 00:52:32,410 >> Р рукује векторе веома лепо, тако често не морате да га користите. 939 00:52:32,410 --> 00:52:35,050 940 00:52:35,050 --> 00:52:38,900 Тада обично можете замените вектор често 941 00:52:38,900 --> 00:52:42,490 са овим функцијама зову висок ордер функције, карта, Смањите, 942 00:52:42,490 --> 00:52:44,404 Финд, или филтер. 943 00:52:44,404 --> 00:52:46,320 Ја ћу дати мало примери шта је ово радим. 944 00:52:46,320 --> 00:52:49,957 Карта је већа функција ред, јер потребно је функцију као аргумент. 945 00:52:49,957 --> 00:52:52,290 Дакле, можете му дати неку функцију, можете му дати низ, 946 00:52:52,290 --> 00:52:54,640 и она ће применити функцију на сваки елемент низа 947 00:52:54,640 --> 00:52:55,681 и врати нови низ. 948 00:52:55,681 --> 00:52:58,035 949 00:52:58,035 --> 00:53:00,160 Смањите, у основи дајеш то низ, ти дај 950 00:53:00,160 --> 00:53:02,930 функција која узима два аргумента. 951 00:53:02,930 --> 00:53:07,100 То ће прво, примени функцију Први аргумент са неким стартер вредности. 952 00:53:07,100 --> 00:53:09,440 Затим тај резултат у другом. 953 00:53:09,440 --> 00:53:12,590 Затим тај резултат у трећој, затим да тај резултат у четвртом. 954 00:53:12,590 --> 00:53:14,870 А онда се врати кад се стигне до краја. 955 00:53:14,870 --> 00:53:17,620 Тако на пример, ако желите да израчунати збир свих елемената 956 00:53:17,620 --> 00:53:23,240 у низу, него што ви зовете смањити са [неразумљиво] смањи додатак 957 00:53:23,240 --> 00:53:26,620 функција, као што фунц А, Б, врати ПЛУС Б. 958 00:53:26,620 --> 00:53:28,960 А онда почиње вредност 0. 959 00:53:28,960 --> 00:53:32,950 >> И све то, можете их наћи описан у документацији Р, 960 00:53:32,950 --> 00:53:35,720 у сваком уџбенику о функционалан програмирање. 961 00:53:35,720 --> 00:53:38,330 Ту је ова класа функције називају примењују функције, 962 00:53:38,330 --> 00:53:42,807 које сам не-- су мало тешко објаснити, 963 00:53:42,807 --> 00:53:45,640 али ако погледате у [неразумљиво] жути картон који сам навео на почетку, 964 00:53:45,640 --> 00:53:48,615 Он их објашњава прилично добро у слепо црево на Р програмирања. 965 00:53:48,615 --> 00:53:51,599 966 00:53:51,599 --> 00:53:53,390 Више о праксама, додавање векторе. 967 00:53:53,390 --> 00:53:57,570 968 00:53:57,570 --> 00:53:58,070 Да? 969 00:53:58,070 --> 00:54:01,651 970 00:54:01,651 --> 00:54:02,900 Мислим да би требало да исправим. 971 00:54:02,900 --> 00:54:07,450 У том првом реду, већ стрелица, које стрелица не треба да буде тамо. 972 00:54:07,450 --> 00:54:10,920 Можете доделити вектор, опет, по заузме своје дужине плус 1 973 00:54:10,920 --> 00:54:13,220 и додељивање неку вредност на то. 974 00:54:13,220 --> 00:54:18,970 То ће продужити вектор, или ти може да уради ВЕЦ једнака ц, вец невВалуе. 975 00:54:18,970 --> 00:54:21,540 Опет, ако користите Ц са један аргумент као вектор, 976 00:54:21,540 --> 00:54:23,300 добијени хијерархија буде сравњена са земљом. 977 00:54:23,300 --> 00:54:27,160 Тако да ћу добити вектор који је проширен 1. 978 00:54:27,160 --> 00:54:30,410 Никада то. 979 00:54:30,410 --> 00:54:33,330 >> Разлог зашто вас Не би требало да урадите је то. 980 00:54:33,330 --> 00:54:37,430 Када издвојити вектор, то даје јој одређени комад меморије. 981 00:54:37,430 --> 00:54:40,680 Ако повећате ту вектор величине, мора да прерасподели вектор 982 00:54:40,680 --> 00:54:43,820 negde drugde. 983 00:54:43,820 --> 00:54:46,980 И тако прерасподела је прилично скупо. 984 00:54:46,980 --> 00:54:50,530 Нећу улазити у детаље о томе како меморије аллоцаторс се спроводи 985 00:54:50,530 --> 00:54:57,280 на нивоу оперативног система, али је потребно доста времена 986 00:54:57,280 --> 00:54:58,962 да пронађе нови комад меморије. 987 00:54:58,962 --> 00:55:00,920 Такође, ако сте прерасподјеле пуно, пуно 988 00:55:00,920 --> 00:55:03,500 од прогресивно већа комади, можете завршити 989 00:55:03,500 --> 00:55:06,420 са некаквом меморија фрагментација, 990 00:55:06,420 --> 00:55:09,390 где је доступна меморија подељен на много малих блокова 991 00:55:09,390 --> 00:55:11,500 У меморији аллоцаторс тачке гледишта. 992 00:55:11,500 --> 00:55:15,340 И то постаје све теже и теже да пронађе меморију за друге ствари. 993 00:55:15,340 --> 00:55:19,455 Дакле, уместо тога, ако желите да урадите, ако треба да расте вектор са једног краја 994 00:55:19,455 --> 00:55:24,240 на наредни, уместо додавање на њу стално, требало би пре-издвоје га. 995 00:55:24,240 --> 00:55:29,310 Вец стрелица, вектор дужине једнако 1.000, или шта год. 996 00:55:29,310 --> 00:55:33,200 >> И онда само да доделите на векторске вредности једног 997 00:55:33,200 --> 00:55:36,000 време након што сте га додељена једном. 998 00:55:36,000 --> 00:55:40,140 Налетео сам на ово, опет, мој летњи посао када сам писао НРА диференцијала 999 00:55:40,140 --> 00:55:42,120 екуатион солвер. 1000 00:55:42,120 --> 00:55:43,180 Не симболична нумеричка. 1001 00:55:43,180 --> 00:55:49,290 Идеја је да када имате једна вредност за твоје решење, 1002 00:55:49,290 --> 00:55:51,240 користите то израчунати следећи. 1003 00:55:51,240 --> 00:55:53,700 Дакле, мој природни наиван склоност је да кажем у реду, 1004 00:55:53,700 --> 00:55:56,930 па ћу почети са вектором То је значајан вредност. 1005 00:55:56,930 --> 00:56:01,260 Израчунати из тог следеће вредности да иде на моје решење вектора, 1006 00:56:01,260 --> 00:56:02,630 и додајте то. 1007 00:56:02,630 --> 00:56:05,290 >> Направите нешто друго, додајте томе. 1008 00:56:05,290 --> 00:56:08,120 То је веома, веома споро. 1009 00:56:08,120 --> 00:56:11,540 А кад сам схватила и ја променио систем 1010 00:56:11,540 --> 00:56:16,020 с додавање до овог вектора као 10.000 до 100.000 пута, 1011 00:56:16,020 --> 00:56:18,910 само да пре доделе-вектор и само ради са тим. 1012 00:56:18,910 --> 00:56:22,100 Имам више од 1.000 пута већи убрзати. 1013 00:56:22,100 --> 00:56:26,280 Дакле, ово је веома честа замка за Р програмирање. 1014 00:56:26,280 --> 00:56:31,560 Ако желите да изградите вектор комад по комад, унапред издвојити га. 1015 00:56:31,560 --> 00:56:35,360 1016 00:56:35,360 --> 00:56:40,240 >> Још један заједнички пут их-- ово је моја последња тобоган, не ворри-- је грешка руковање. 1017 00:56:40,240 --> 00:56:42,890 Р да будем искрен, не Стварно то јако добро. 1018 00:56:42,890 --> 00:56:45,010 Ima dosta проблеми који могу да искрсну. 1019 00:56:45,010 --> 00:56:48,360 На пример, ако добијете низ или вектор ван функције 1020 00:56:48,360 --> 00:56:52,377 да сте очекивали један вредност да долази из, или обрнуто, 1021 00:56:52,377 --> 00:56:55,460 а ви проћи да у функцију која ви очекујете написао једну вредност, 1022 00:56:55,460 --> 00:56:57,270 то може бити проблем. 1023 00:56:57,270 --> 00:57:01,440 >> Одређене функције ретурн нулл као и, рецимо, 1024 00:57:01,440 --> 00:57:05,560 читате из неког непостојећи кључ на листи. 1025 00:57:05,560 --> 00:57:08,527 Али нулл није као Ц где ако покушате да прочитате 1026 00:57:08,527 --> 00:57:11,360 из старог показивачем, [неразумљиво] нулл показивач, само СЕГ грешке 1027 00:57:11,360 --> 00:57:14,109 и ако сте у вашој дебуггер се каже тачно где се налазите. 1028 00:57:14,109 --> 00:57:17,080 1029 00:57:17,080 --> 00:57:20,772 Уместо тога, нула ће Па-- функције ће учинити непредвидиве ствари 1030 00:57:20,772 --> 00:57:21,730 ако су руком нулл. 1031 00:57:21,730 --> 00:57:24,575 Као да сте предали мак нулл, то ће вам дати негативну бесконачност. 1032 00:57:24,575 --> 00:57:27,230 1033 00:57:27,230 --> 00:57:28,190 И тако, да. 1034 00:57:28,190 --> 00:57:30,880 1035 00:57:30,880 --> 00:57:32,630 И тако се то догодило мени једном кад сам имао 1036 00:57:32,630 --> 00:57:34,771 променио гомилу поља на мојој листи структури 1037 00:57:34,771 --> 00:57:37,520 Једном без промене их на другом месту кад сам читао од њих. 1038 00:57:37,520 --> 00:57:40,670 А онда сам све врсте случајно инфинити резултата обрезивање до 1039 00:57:40,670 --> 00:57:43,080 а ја немам појма одакле они долазе. 1040 00:57:43,080 --> 00:57:45,310 И, нажалост, ту је нема стварне Р строг режим 1041 00:57:45,310 --> 00:57:48,940 где можете рећи ако нешто Изгледа као да ће бити грешка, 1042 00:57:48,940 --> 00:57:51,960 само стани тамо тако да могу бити дисциплиновани и поправити то. 1043 00:57:51,960 --> 00:57:55,282 1044 00:57:55,282 --> 00:57:57,240 Међутим, постоји нешто под називом Стоп ако не. 1045 00:57:57,240 --> 00:58:00,480 Ово је еквивалентно тврдити Ц је, ако сте говорили о томе. 1046 00:58:00,480 --> 00:58:02,690 Не мислим, Ц тврдити је предавање тема, 1047 00:58:02,690 --> 00:58:06,370 али ваш вођа секција Можда су отишли ​​преко њега. 1048 00:58:06,370 --> 00:58:10,393 И престани ако не основи има било предикат, тако да свака изјава која 1049 00:58:10,393 --> 00:58:11,824 може бити истинита или лажна. 1050 00:58:11,824 --> 00:58:13,490 И ако је лажна, то заустави свој програм. 1051 00:58:13,490 --> 00:58:18,260 То вам говори управо оно што вам се построје били и шта услов није успело. 1052 00:58:18,260 --> 00:58:21,910 >> И исти тај користан, на пример, провера разум, функција улаза. 1053 00:58:21,910 --> 00:58:25,110 Дакле, ако имате функција а ви очекујете, рецимо, 1054 00:58:25,110 --> 00:58:29,640 ако би ми дати датум, хоћу датуми бити само вектор дужине 1 1055 00:58:29,640 --> 00:58:31,735 и негде између 1 и 31. 1056 00:58:31,735 --> 00:58:34,420 1057 00:58:34,420 --> 00:58:36,170 А ако не, знам нешто је кренуло наопако. 1058 00:58:36,170 --> 00:58:40,280 И Бирам да стати пред овим има случајан куцање на ефекте са кодом 1059 00:58:40,280 --> 00:58:44,190 да је теже ући у траг преко. 1060 00:58:44,190 --> 00:58:47,170 Дакле, то је један могући користити за заустављање, ако не. 1061 00:58:47,170 --> 00:58:48,660 >> У сваком случају, у реду. 1062 00:58:48,660 --> 00:58:49,690 Дакле, то је крај. 1063 00:58:49,690 --> 00:58:51,290 Хвала вам пуно што сте дошли. 1064 00:58:51,290 --> 00:58:53,710 Ја сам чин аматер у овоме. 1065 00:58:53,710 --> 00:58:57,270 Тако ми је жао ако вам је досадно или збуњени или шта си. 1066 00:58:57,270 --> 00:59:01,670 Драго ми је да се питања путем е-маила у цоннорхаррис@цоллеге.харвард.еду~~побј. 1067 00:59:01,670 --> 00:59:07,230 То важи и за свакога гледајући ово живе или касније. 1068 00:59:07,230 --> 00:59:10,190 Такође, иако нисам ТФ Такође сам веома 1069 00:59:10,190 --> 00:59:13,900 спремни да служе као незванична савјетник за свакога ко је 1070 00:59:13,900 --> 00:59:15,460 усинг Р у завршном пројекту. 1071 00:59:15,460 --> 00:59:19,900 >> Ако желите да да, онда само разговарајте са својим ТФ 1072 00:59:19,900 --> 00:59:23,750 и онда ми пишите на мејл па Знам шта сте радили на 1073 00:59:23,750 --> 00:59:26,680 па сам да подесите састанак пута са вама, ако желите. 1074 00:59:26,680 --> 00:59:27,990 Дакле, опет, хвала вам пуно. 1075 00:59:27,990 --> 00:59:28,960 Надам се да сте уживали. 1076 00:59:28,960 --> 00:59:29,450 >> ПУБЛИКА: [неразумљиво]. 1077 00:59:29,450 --> 00:59:30,617 >> ЦОННЕР Харрис: Наравно. 1078 00:59:30,617 --> 00:59:34,910 >> ПУБЛИКА: Какав пројекта би за ЦС ученик користи за Р? 1079 00:59:34,910 --> 00:59:37,427 1080 00:59:37,427 --> 00:59:40,510 ЦОННЕР Харрис: Дакле, ако не урадите нешто што је чисто у дата мининг, 1081 00:59:40,510 --> 00:59:43,790 на пример, и тамо су много ствари 1082 00:59:43,790 --> 00:59:46,692 можете да урадите са тим подацима рударство и машинско учење. 1083 00:59:46,692 --> 00:59:48,900 Можда желите да користите за Р компонента нечега. 1084 00:59:48,900 --> 00:59:52,022 Донела сам, првобитно, пример о ако пишете сајт 1085 00:59:52,022 --> 00:59:54,730 и желите да покренете аутоматизована статистичка анализа вашег сервера 1086 00:59:54,730 --> 00:59:57,990 резање на одређено време сваког дана, то би могло бити нешто што је 1087 00:59:57,990 --> 01:00:01,260 врло лако да уради у само кратак Р скрипта да можете да закажете 1088 01:00:01,260 --> 01:00:04,200 да ради свако вече, на пример. 1089 01:00:04,200 --> 01:00:06,550 >> А сигуран сам да, ако постоји било какав разлог да би 1090 01:00:06,550 --> 01:00:11,520 Желим статистике или графичка могућности и да овом задатку аутоматски уместо 1091 01:00:11,520 --> 01:00:13,790 да имају за интеракцију са стварима у Екцел, 1092 01:00:13,790 --> 01:00:16,750 на пример, да је нешто можда ћете желети да користите Р за. 1093 01:00:16,750 --> 01:00:21,190 Дакле, има још питања пре него што одем? 1094 01:00:21,190 --> 01:00:21,690 Ne? 1095 01:00:21,690 --> 01:00:24,960 Добро, добро, опет, хвала вам пуно што сте дошли. 1096 01:00:24,960 --> 01:00:29,417