1 00:00:00,000 --> 00:00:05,691 2 00:00:05,691 --> 00:00:07,690 CONNOR HARRIS: Still I úgy gondolja, néhány izgalmas videó 3 00:00:07,690 --> 00:00:12,570 által készített szakmai tanácsadás használó R sok a munkája. 4 00:00:12,570 --> 00:00:16,329 >> NARRÁTOR: Mit rejt a statisztikát, Az analitika, és a képi 5 00:00:16,329 --> 00:00:19,770 hogy a mai legfényesebb adatok tudósok és az üzleti vezetők támaszkodnak 6 00:00:19,770 --> 00:00:22,012 hogy erős döntéseket? 7 00:00:22,012 --> 00:00:23,540 Lehet, hogy nem mindig látja. 8 00:00:23,540 --> 00:00:24,790 De ott van. 9 00:00:24,790 --> 00:00:29,460 Úgy hívják R, nyílt forráskódú R-- a statisztikai programozási nyelv 10 00:00:29,460 --> 00:00:32,630 hogy az adatok a szakértők a világ több mint használni mindent 11 00:00:32,630 --> 00:00:35,350 re feltérképezése széles társadalmi és marketing trendek az online 12 00:00:35,350 --> 00:00:39,210 a fejlődő pénzügyi és éghajlat modellek, amelyek segítenek a gazdaság motorjává 13 00:00:39,210 --> 00:00:40,780 és közösségek. 14 00:00:40,780 --> 00:00:44,910 >> De mi is pontosan a R Hol és R kezdeni? 15 00:00:44,910 --> 00:00:48,620 Nos eredetileg, R kezdődött Itt a két professzor 16 00:00:48,620 --> 00:00:51,950 aki meg akarta jobb statisztikai platformot a diákok. 17 00:00:51,950 --> 00:00:56,030 Így létre egy modellezett miután a statisztika nyelvén S. 18 00:00:56,030 --> 00:01:00,480 Ők, sokakkal együtt, folyamatosan dolgozik, és a K, 19 00:01:00,480 --> 00:01:05,489 megteremtése eszközök R, és megállapította, új alkalmazások R minden nap. 20 00:01:05,489 --> 00:01:07,750 >> Ennek köszönhetően az világméretű közösségi erőfeszítés, 21 00:01:07,750 --> 00:01:11,850 R tovább növekedett a több ezer A felhasználó által létrehozott könyvtárak beépített 22 00:01:11,850 --> 00:01:15,500 hogy fokozza R funkciók és tömegből származó minőségi érvényesítés 23 00:01:15,500 --> 00:01:19,740 és támogatja a legismertebb iparági vezetők minden területen, hogy 24 00:01:19,740 --> 00:01:25,040 használja R. Ami jó, mert R a legjobb abban, amit csinál. 25 00:01:25,040 --> 00:01:28,540 Kezdő szakemberek gyorsan és egyszerűen értelmezni, kölcsönhatásba, 26 00:01:28,540 --> 00:01:33,790 és láthatóvá adatok mutatják, hogy gyorsan növekvő közösség R felhasználók világszerte 27 00:01:33,790 --> 00:01:36,380 és látom, hogy a nyílt forráskódú R továbbra is formálja 28 00:01:36,380 --> 00:01:39,340 A jövőben a statisztikai elemzések és adatok a tudomány. 29 00:01:39,340 --> 00:01:44,660 30 00:01:44,660 --> 00:01:47,710 >> CONNOR HARRIS: OK, nagyszerű. 31 00:01:47,710 --> 00:01:50,360 Tehát a saját prezentáció lesz egy kicsit józanabb. 32 00:01:50,360 --> 00:01:54,380 Ez nem jár, hogy sok izgalmas háttérzenét. 33 00:01:54,380 --> 00:01:59,160 De ahogy láttam a videót, K egyfajta Az általános célú programnyelv. 34 00:01:59,160 --> 00:02:03,720 De jött létre többnyire A statisztikai munkát. 35 00:02:03,720 --> 00:02:07,980 >> Szóval ez tervezték statisztikák, az adatok elemzése, az adatbányászat. 36 00:02:07,980 --> 00:02:12,420 És így láthatja ezt a sok A tervezési döntéseket, hogy a döntéshozók a R 37 00:02:12,420 --> 00:02:13,320 készült. 38 00:02:13,320 --> 00:02:15,472 Úgy tervezték, nagyrészt, emberek, akik nem 39 00:02:15,472 --> 00:02:17,930 szakértők programozás, aki csak felvette programozási 40 00:02:17,930 --> 00:02:23,460 oldalán így végzik a munkájukat A társadalomtudományi vagy statisztikák 41 00:02:23,460 --> 00:02:25,440 vagy bármi. 42 00:02:25,440 --> 00:02:27,850 >> Van egy csomó nagyon Fontos különbség a C. 43 00:02:27,850 --> 00:02:33,200 De a szintaxis és a paradigmák hogy az általa használt nagyjából azonos. 44 00:02:33,200 --> 00:02:36,830 És akkor érzem, elég is otthon rögtön a denevér. 45 00:02:36,830 --> 00:02:38,520 Ez egy rendkívül fontos nyelvet. 46 00:02:38,520 --> 00:02:40,260 >> Ne aggódj túl sokat, hogy Ha nem tudod, hogy a kifejezés. 47 00:02:40,260 --> 00:02:42,676 De van egy különbség között elengedhetetlen, deklaratív, 48 00:02:42,676 --> 00:02:43,810 és funkcionális. 49 00:02:43,810 --> 00:02:47,600 Felszólító csak azt jelenti, hogy nyilatkozatok, amelyek alapvetően parancsokat. 50 00:02:47,600 --> 00:02:52,340 És akkor a tolmács vagy a számítógép követi őket egyesével. 51 00:02:52,340 --> 00:02:56,630 Ez gyengén típusos, vannak nincs deklaráció R. 52 00:02:56,630 --> 00:02:59,130 >> És akkor a vonalak különböző típusai között 53 00:02:59,130 --> 00:03:03,920 egy kicsit lazább, mint azok C, például. 54 00:03:03,920 --> 00:03:06,450 És mint mondtam vannak Nagyon széleskörű felszereltsége 55 00:03:06,450 --> 00:03:15,610 az ábrázoláshoz, statisztikai elemzése, az adatbányászat. 56 00:03:15,610 --> 00:03:19,540 Ezek mind beépítve a nyelvet, és ahogy a videó mondta, 57 00:03:19,540 --> 00:03:23,680 Több ezer harmadik fél könyvtárak, hogy tudod letölteni és használni térítésmentesen 58 00:03:23,680 --> 00:03:25,340 nagyon laza engedély feltételeit. 59 00:03:25,340 --> 00:03:28,800 60 00:03:28,800 --> 00:03:31,500 >> Így általában, én azt javasolnám, hogy megnézi a két könyv 61 00:03:31,500 --> 00:03:34,610 ha mész dolgozni R. One ezek a hivatalos R kezdő 62 00:03:34,610 --> 00:03:35,110 útmutató. 63 00:03:35,110 --> 00:03:38,660 Ez által fenntartott core fejlesztők R. 64 00:03:38,660 --> 00:03:42,400 Akkor töltse le újra, szabadon díjat és jogilag meg, hogy az oldalán. 65 00:03:42,400 --> 00:03:45,430 66 00:03:45,430 --> 00:03:49,869 Mindezek diák fog menni fel az interneten, a CS50 honlapján 67 00:03:49,869 --> 00:03:50,660 miután ez megtörtént. 68 00:03:50,660 --> 00:03:53,690 Így nem kell másolni dolgokat kétségbeesetten. 69 00:03:53,690 --> 00:03:56,800 >> A másik pedig egy tankönyve Cosma Shalizi, 70 00:03:56,800 --> 00:04:00,100 aki egy statisztika professzora A Carnegie Mellon, az úgynevezett Advanced Data 71 00:04:00,100 --> 00:04:02,160 Elemzés egy Elemi szempontból. 72 00:04:02,160 --> 00:04:04,010 Ez elsősorban nem egy R könyvet. 73 00:04:04,010 --> 00:04:07,130 Ez egy statisztikát könyvet, és ez egy adatelemző könyvet. 74 00:04:07,130 --> 00:04:11,990 De ez nagyon hozzáférhető, akik Van egy csöppnyi statisztikák tudás. 75 00:04:11,990 --> 00:04:13,750 >> Én még soha nem vett hivatalos kurzus. 76 00:04:13,750 --> 00:04:17,269 Csak azt tudom, darabokból A különböző szövetséges tárgyak 77 00:04:17,269 --> 00:04:18,579 hogy megtettem azt kurzusok. 78 00:04:18,579 --> 00:04:21,839 És voltam képes megérteni Tökéletesen jól. 79 00:04:21,839 --> 00:04:25,630 >> Minden a számadatok R. Anyaguk K 80 00:04:25,630 --> 00:04:30,280 és ők is kódlistáknak Az alábbi ábrán az egyes, hogy elmondjam, 81 00:04:30,280 --> 00:04:33,270 hogyan teszi minden figura R-kód. 82 00:04:33,270 --> 00:04:37,400 És ez nagyon hasznos, ha akarsz emulálni 83 00:04:37,400 --> 00:04:38,650 Néhány számadat látsz egy könyvben. 84 00:04:38,650 --> 00:04:47,840 >> És ismét ingyenesen letölthető stat.cmu.edu/cshalizi/ Sajnáljuk, 85 00:04:47,840 --> 00:04:50,230 hogy kell perjel hullámvonal cshalizi. 86 00:04:50,230 --> 00:04:53,150 Vagyok benne, hogy a helyes, hogy amikor a hivatalos diák megy fel. 87 00:04:53,150 --> 00:04:57,000 / ADAfaEPoV ami csak a mozaikszó a könyv címe. 88 00:04:57,000 --> 00:04:59,850 89 00:04:59,850 --> 00:05:02,500 >> Tehát az általános caveats-- R van egy csomó képességek. 90 00:05:02,500 --> 00:05:05,331 Én csak lesz képes fedezni a felület egy csomó dolgot. 91 00:05:05,331 --> 00:05:08,580 Szintén az első része a szeminárium lesz valami egy adat lerakó. 92 00:05:08,580 --> 00:05:11,437 Én nagyon sajnálom. 93 00:05:11,437 --> 00:05:13,770 Alapvetően fogok bemutatni, hogy egy csomó dolgot 94 00:05:13,770 --> 00:05:15,350 rögtön a denevér, majd amilyen gyorsan csak lehet. 95 00:05:15,350 --> 00:05:17,058 És akkor eljutunk A szórakoztató része, amely 96 00:05:17,058 --> 00:05:20,570 A demo ahol meg tudom mutatni neked mindent hogy beszéltünk a képernyőn. 97 00:05:20,570 --> 00:05:23,321 És tudod játszani körül a saját. 98 00:05:23,321 --> 00:05:26,070 Tehát ott lesz a sok technikai dolgokat vetett fel itt. 99 00:05:26,070 --> 00:05:28,060 Ne aggódj lemásolják azt le. 100 00:05:28,060 --> 00:05:31,740 Mivel az A, akkor kap az összes cucc a CS50 honlapján később. 101 00:05:31,740 --> 00:05:37,780 A és B, ez nem is olyan fontos, memorizálni ezt a lemezekről. 102 00:05:37,780 --> 00:05:40,462 Sokkal fontosabb, hogy kapsz Néhány intuitív létesítmény vele 103 00:05:40,462 --> 00:05:44,220 és hogy jön csak játék körül. 104 00:05:44,220 --> 00:05:45,720 >> Szóval miért használja R? 105 00:05:45,720 --> 00:05:49,440 Alapvetően, ha van egy projekt, amely magában foglalja a bányászat nagy adathalmazok, adatok 106 00:05:49,440 --> 00:05:52,664 vizualizáció, akkor kell használni R. Ha 107 00:05:52,664 --> 00:05:55,830 Ennek bonyolult statisztikai elemzéseket, hogy nehéz lenne az Excel, 108 00:05:55,830 --> 00:05:58,010 például, amilyet akkor is good-- is 109 00:05:58,010 --> 00:06:00,506 ha csinálsz statisztikai elemzés, amely automatizált. 110 00:06:00,506 --> 00:06:02,130 Mondjuk te fenntartása honlapján. 111 00:06:02,130 --> 00:06:06,320 És azt szeretné, hogy olvassa el a szerver log minden nap, és összeállítja néhány listája, 112 00:06:06,320 --> 00:06:10,320 mint az első országok a felhasználók jönnek, 113 00:06:10,320 --> 00:06:15,100 Néhány összefoglaló statisztikákat, hogy mennyi ideig költenek a honlapon, vagy bármi. 114 00:06:15,100 --> 00:06:16,910 És azt szeretnénk, hogy futtatni ezt minden nap. 115 00:06:16,910 --> 00:06:20,280 >> Most, ha ezt az Excel, ha volna, hogy menjen el a szerver log, 116 00:06:20,280 --> 00:06:23,490 importálni, hogy egy Excel táblázatkezelő adatok, 117 00:06:23,490 --> 00:06:24,910 futtatni az elemzés kézzel. 118 00:06:24,910 --> 00:06:27,100 Az R, akkor csak írj egy forgatókönyvet. 119 00:06:27,100 --> 00:06:29,520 Ütemezni, hogy fut minden nap az operációs rendszerből. 120 00:06:29,520 --> 00:06:33,657 És akkor minden este 02:00, vagy amikor a menetrend, hogy fut, 121 00:06:33,657 --> 00:06:35,990 akkor nézd át a internetes forgalom az adott napon. 122 00:06:35,990 --> 00:06:39,010 Majd a következő napon, akkor Van ez a fényes, új jelentés 123 00:06:39,010 --> 00:06:41,710 vagy bármi minden a információt, amit kért. 124 00:06:41,710 --> 00:06:44,960 125 00:06:44,960 --> 00:06:50,217 >> Tehát alapvetően R Cisco programozási versus Cisco elemzése. 126 00:06:50,217 --> 00:06:51,050 Előzetes történik. 127 00:06:51,050 --> 00:06:53,104 Térjünk át a valódi dolgokat. 128 00:06:53,104 --> 00:06:55,020 Szóval van három igazi típusok a nyelvet. 129 00:06:55,020 --> 00:06:56,120 Van numerikus típusú. 130 00:06:56,120 --> 00:07:01,250 Van valami különbség a egészek és lebegő pontokat, 131 00:07:01,250 --> 00:07:02,769 de nem igazán. 132 00:07:02,769 --> 00:07:04,560 Van egy karakter írja, ami szálakat. 133 00:07:04,560 --> 00:07:07,100 És van egy logikai írja, ami Logikai. 134 00:07:07,100 --> 00:07:11,080 >> És tudod alakítani a típusok között Ezen funkciók használatakor a numerikus, 135 00:07:11,080 --> 00:07:15,220 a karakter, mint logikus. 136 00:07:15,220 --> 00:07:17,510 Ha hívja, például numerikus egy string, 137 00:07:17,510 --> 00:07:20,030 akkor próbálja olvasni, hogy a húr mint egy szám, ugyanúgy 138 00:07:20,030 --> 00:07:25,897 hogy A2I és scanf csinálni, és C. Ha hívja a numerikus szóló igaz vagy hamis 139 00:07:25,897 --> 00:07:26,980 fogja alakítani 1 vagy 0. 140 00:07:26,980 --> 00:07:29,110 Ha hívja a karakter a semmit, hogy lesz 141 00:07:29,110 --> 00:07:32,550 átalakítani, hogy egy karakteres ábrázolása. 142 00:07:32,550 --> 00:07:34,990 >> És akkor ott vannak a vektorok és mátrixok. 143 00:07:34,990 --> 00:07:37,580 Tehát vektorok alapvetően 1 dimenziós tömb. 144 00:07:37,580 --> 00:07:40,600 Ők mit nevezünk a tömbök C. matricák, 2 dimenziós tömb. 145 00:07:40,600 --> 00:07:42,350 És akkor a magasabb dimenziós tömb tudsz 146 00:07:42,350 --> 00:07:48,560 3, 4, 5 méretei vagy bármi A numerikus értékek, a vonósok, 147 00:07:48,560 --> 00:07:52,860 A logikai értékek. 148 00:07:52,860 --> 00:07:55,380 >> Arra is van listákat, amelyek egyfajta asszociatív tömb. 149 00:07:55,380 --> 00:07:57,390 Én ezzel is egy kicsit. 150 00:07:57,390 --> 00:07:59,390 Tehát az egyik fontos dolog hogy kirándulások embereket a K 151 00:07:59,390 --> 00:08:01,470 az, hogy nincsenek igazi, tiszta atomi típusok. 152 00:08:01,470 --> 00:08:05,870 Nincs tényleges megkülönböztetése Számos, mint egy számérték, 153 00:08:05,870 --> 00:08:07,920 és egy listát a numerikus értékek. 154 00:08:07,920 --> 00:08:12,370 Numerikus értékek valójában a ugyanaz, mint a vektorok hossz 1. 155 00:08:12,370 --> 00:08:14,959 És ez számos fontos következményei vannak. 156 00:08:14,959 --> 00:08:17,500 Az egyik, az azt jelenti, hogy meg tudod csinálni dolgok nagyon könnyen érintő 157 00:08:17,500 --> 00:08:21,037 mintha egy számot egy vektor. 158 00:08:21,037 --> 00:08:23,120 R alapvetően figura ki mit ért ez alatt. 159 00:08:23,120 --> 00:08:24,610 És hozok, hogy egy másodperc. 160 00:08:24,610 --> 00:08:27,930 Ez azt is jelenti, hogy nincs mód típusának checker-- mértékben 161 00:08:27,930 --> 00:08:30,530 hogy valami ilyesmi létezik R-- mondani 162 00:08:30,530 --> 00:08:33,780 ha már eltelt az egyetlen érték mikorra várható, hogy egy tömb, vagy fordítva. 163 00:08:33,780 --> 00:08:39,159 És ez okozhat néhány furcsa bajok, hogy belefutottam, amikor 164 00:08:39,159 --> 00:08:42,252 Én a K munkám során nyári munkát. 165 00:08:42,252 --> 00:08:43,710 És nincsenek vegyes típusú tömbök. 166 00:08:43,710 --> 00:08:46,543 Szóval nem lehet egy tömb voltak első eleme van, nem tudom, 167 00:08:46,543 --> 00:08:49,332 a húr "John", és a második elem száma 42. 168 00:08:49,332 --> 00:08:52,540 Ha megpróbál megtenni, akkor kapsz mindent csak át egy húr. 169 00:08:52,540 --> 00:08:54,760 Tehát van húr John, string 42. 170 00:08:54,760 --> 00:08:58,250 171 00:08:58,250 --> 00:09:02,025 >> Annyira szokatlan szintaktikai features-- leginkább R szintaxis nagyon hasonló a C. 172 00:09:02,025 --> 00:09:04,690 Van néhány fontos különbség. 173 00:09:04,690 --> 00:09:05,620 A gépelés nagyon gyenge. 174 00:09:05,620 --> 00:09:07,360 Így nincsenek változódeklarációkat. 175 00:09:07,360 --> 00:09:12,670 Hozzárendelés használja a furcsa Hiba üzemeltető kevesebb, mint kötőjelet. 176 00:09:12,670 --> 00:09:15,340 Észrevételeiket a kettőskereszt. 177 00:09:15,340 --> 00:09:19,230 Azt hiszem, most már nap hívjuk hashtaget bár ez nem igazán accurate-- nem 178 00:09:19,230 --> 00:09:21,810 A kettős perjel. 179 00:09:21,810 --> 00:09:24,710 >> Moduláris maradványok vannak %% jelei. 180 00:09:24,710 --> 00:09:30,172 Osztás van a% /%, ami Nagyon nehéz olvasni, amikor az előrejelzések 181 00:09:30,172 --> 00:09:30,880 fel a képernyőn. 182 00:09:30,880 --> 00:09:34,150 183 00:09:34,150 --> 00:09:37,200 Tudod kap tartományok egészek a vastagbélben. 184 00:09:37,200 --> 00:09:41,840 Így 2,5 kapsz egy vektor Az összes számot 2 és 5. 185 00:09:41,840 --> 00:09:44,530 >> A tömbök egy indexelt, amely csavarok egy csomó ember 186 00:09:44,530 --> 00:09:47,540 fel, ha ők több tipikus programozási nyelvek, 187 00:09:47,540 --> 00:09:50,450 mint a C, ahol a legtöbb dolgok nulla indexelt. 188 00:09:50,450 --> 00:09:54,420 Ez megint ahol R örökség mint egy nyelv számára, mint a nem 189 00:09:54,420 --> 00:09:56,560 professzionális programozók jön. 190 00:09:56,560 --> 00:09:59,680 Ha egy szociológus vagy közgazdász, vagy valami 191 00:09:59,680 --> 00:10:01,980 és te próbálod használni R alapvetően kiegészítéseként 192 00:10:01,980 --> 00:10:03,832 a fontosabb szakmai munka, 193 00:10:03,832 --> 00:10:06,040 fogsz találni Egy-indexelése egy kicsit több természetes. 194 00:10:06,040 --> 00:10:09,890 Mert akkor elkezd számolás 1 a mindennapi életben, nem 0. 195 00:10:09,890 --> 00:10:13,260 >> For-hurkok, ez hasonló a A foreach szerkezet PHP- 196 00:10:13,260 --> 00:10:17,090 amely kapsz megtanulják in-- hamarosan. 197 00:10:17,090 --> 00:10:22,540 Melyik az érték vektor és akkor meg tudod csinálni a dolgokat értéket. 198 00:10:22,540 --> 00:10:24,040 Közönség: Ez közbejött előadás. 199 00:10:24,040 --> 00:10:26,248 CONNOR HARRIS: Ó, ez jön előadás, remek. 200 00:10:26,248 --> 00:10:29,815 Közönség: A feladat, ez állítólag pont jobbról balra? 201 00:10:29,815 --> 00:10:31,440 CONNOR HARRIS: Jobbról balra, igen. 202 00:10:31,440 --> 00:10:34,720 Akkor úgy mondanám, hogy az az érték, jobb tolta a változó 203 00:10:34,720 --> 00:10:36,240 bal oldalon. 204 00:10:36,240 --> 00:10:36,781 Közönség: OK. 205 00:10:36,781 --> 00:10:39,770 206 00:10:39,770 --> 00:10:42,330 >> CONNOR HARRIS: És végül függvény szintaxisa egy kicsit furcsa. 207 00:10:42,330 --> 00:10:48,460 Megvan a funkció nevét ize, célhoz kötött A kulcsszó a funkciót, majd 208 00:10:48,460 --> 00:10:51,530 az összes érvet, majd a a függvény törzse után. 209 00:10:51,530 --> 00:10:53,280 Ismét e dolgok Úgy tűnik, egy kicsit furcsa. 210 00:10:53,280 --> 00:10:57,181 Fognak válni második természet után dolgozik a nyelvét egy kicsit. 211 00:10:57,181 --> 00:10:58,930 Tehát vektorokat, az utat Ön Vektor 212 00:10:58,930 --> 00:11:04,550 te C típusú, amely egy kulcsszót, majd Az összes kívánt számokat vagy húrok 213 00:11:04,550 --> 00:11:06,490 vagy bármi. 214 00:11:06,490 --> 00:11:07,995 Érvek is vektorok. 215 00:11:07,995 --> 00:11:09,620 De a kapott tömb lesz lapított. 216 00:11:09,620 --> 00:11:14,385 Szóval nem lehet tömbök Egyes elemek egyetlen szám 217 00:11:14,385 --> 00:11:17,010 és néhány elem tömbök magukat. 218 00:11:17,010 --> 00:11:20,010 >> Tehát, ha majd felépíteni egy tömb voltak az első elem 4 219 00:11:20,010 --> 00:11:22,370 és a második elem a tömb 3,5 fogsz 220 00:11:22,370 --> 00:11:25,890 csak kap egy három elemből tömb, 4,3,5. 221 00:11:25,890 --> 00:11:27,760 Ezeket nem lehet a vegyes típusú. 222 00:11:27,760 --> 00:11:32,290 Ha megpróbálja írni és olvasni határain kívülre egy vektor 223 00:11:32,290 --> 00:11:36,640 akkor ezt az értéket nevezzük NA a amely áll a hiányzó adatot. 224 00:11:36,640 --> 00:11:39,900 És ez szánják mint statisztikusok 225 00:11:39,900 --> 00:11:43,080 dolgozunk hiányos adatok. 226 00:11:43,080 --> 00:11:46,460 >> Ha alkalmazza a funkciót, ami állítólag Erre csak egy számot egy tömböt 227 00:11:46,460 --> 00:11:49,220 akkor mit kapsz, annál funkció térkép fölött a tömbben. 228 00:11:49,220 --> 00:11:52,130 Tehát, ha a funkció mondjuk úgy Számos és visszaadja téren. 229 00:11:52,130 --> 00:11:58,170 Ön alkalmazni, hogy a tömb 2,3,5 Mit kapsz a tömb 4,9,25. 230 00:11:58,170 --> 00:12:00,010 >> És ez nagyon hasznos mert ez azt jelenti 231 00:12:00,010 --> 00:12:03,374 Nem kell írni a hurkok Ennek nagyon egyszerű dolgok, mint alkalmazása 232 00:12:03,374 --> 00:12:05,040 függvényében minden tagjának egy adathalmaz. 233 00:12:05,040 --> 00:12:08,557 Melyik ha dolgozik, nagy adathalmazok, meg kell csinálni egy csomó. 234 00:12:08,557 --> 00:12:10,390 Bináris funkciók Alkalmazott bejegyzést bejegyzést. 235 00:12:10,390 --> 00:12:12,430 Én ezzel is. 236 00:12:12,430 --> 00:12:16,750 Érheti őket tömbök vagy irány szögletes zárójelek között. 237 00:12:16,750 --> 00:12:22,300 Tehát vektoros nevét szögletes zárójelbe 1 megadja az első elemet. 238 00:12:22,300 --> 00:12:25,510 Vektor nevet szögletes zárójelek 2 megadja a második elem. 239 00:12:25,510 --> 00:12:27,530 >> Akkor át a vektoros Az indexek, és akkor 240 00:12:27,530 --> 00:12:29,640 hogy újra ki alapvetően egy al tényező. 241 00:12:29,640 --> 00:12:34,990 Szóval lehet csinálni vektoros nevét zárójelben C, 2,4 és kapsz ki egy vektort tartalmazó 242 00:12:34,990 --> 00:12:38,804 a második és a negyedik elemei a tömb. 243 00:12:38,804 --> 00:12:40,720 És ha azt szeretnénk, csak egy Gyors összefoglaló statisztika 244 00:12:40,720 --> 00:12:47,529 egy vektor, mint interkvartilis tartományban, medián, maximális, bármi, 245 00:12:47,529 --> 00:12:49,820 egyszerűen beírhatja összefoglaló vektor nevet és kap, hogy ki. 246 00:12:49,820 --> 00:12:52,680 Ez nem igazán hasznos programozás, de ha játszunk 247 00:12:52,680 --> 00:12:55,990 körül adatsorok, ez hasznos. 248 00:12:55,990 --> 00:12:58,650 >> Matrices-- alapvetően magasabb dimenziós tömbök. 249 00:12:58,650 --> 00:13:01,190 Ők ezt a különleges jelölési szintaxist. 250 00:13:01,190 --> 00:13:07,620 Matrix egy sor, hogy lesz tele in-- sajnálom, mátrix adatok, 251 00:13:07,620 --> 00:13:09,780 sorok számát, az oszlopok száma. 252 00:13:09,780 --> 00:13:13,180 Ha van néhány olyan adatot, az tölti ki A tömb program alapvetően felülről lefelé 253 00:13:13,180 --> 00:13:13,380 első. 254 00:13:13,380 --> 00:13:14,190 Aztán balról jobbra. 255 00:13:14,190 --> 00:13:15,030 Szóval, ilyesmi. 256 00:13:15,030 --> 00:13:17,809 257 00:13:17,809 --> 00:13:19,600 És R épített be mátrix szorzásokat 258 00:13:19,600 --> 00:13:24,310 spektrális felbontása, diagonalizáció, egy csomó dolgot. 259 00:13:24,310 --> 00:13:27,785 Ha azt szeretnénk, magasabb dimenziós tömbök, SO 3, 4, 5, 260 00:13:27,785 --> 00:13:29,410 vagy bármi méretek tudod csinálni. 261 00:13:29,410 --> 00:13:34,400 A szintaxis tömb homályos egyenlő c, akkor a lista a méreteket. 262 00:13:34,400 --> 00:13:38,620 Tehát ha szeretnél egy 4 dimenziós tömb méretekkel 4, 7, 8, 9, a tömb, 263 00:13:38,620 --> 00:13:45,470 homályos egyenlő c (4,7,8,9). 264 00:13:45,470 --> 00:13:51,180 >> Eléri egyetlen értékeket zárójelben első bejegyzés vesszővel második bejegyzés. 265 00:13:51,180 --> 00:13:54,870 Tudod kap teljes szelet sorok vagy oszlopok. 266 00:13:54,870 --> 00:13:59,900 Ezzel a hiányos szintaxis ez Csak sorszámot vesszővel vagy vesszővel oszlop 267 00:13:59,900 --> 00:14:00,400 szám. 268 00:14:00,400 --> 00:14:02,874 269 00:14:02,874 --> 00:14:04,540 Tehát listák egyfajta összefüggő tömbben. 270 00:14:04,540 --> 00:14:06,360 Ők saját szintaxis itt. 271 00:14:06,360 --> 00:14:08,320 Ismét nem kétségbeesetten másolja mindezt le. 272 00:14:08,320 --> 00:14:11,370 Ez csak azért, hogy az emberek megy keresztül a diák későbbi 273 00:14:11,370 --> 00:14:13,089 van ez az egész egy szép utalás. 274 00:14:13,089 --> 00:14:16,130 És ez lesz nagyon természetes egyszer Igazából séta a demókat. 275 00:14:16,130 --> 00:14:19,295 276 00:14:19,295 --> 00:14:20,920 Tehát felsorol alapvetően kapcsolódó tömbök. 277 00:14:20,920 --> 00:14:27,040 Elérheti értékek lista neve, dollár jel, kulcs. 278 00:14:27,040 --> 00:14:31,370 Tehát, ha a lista ize nevű, akkor érheti meg ilyesmi. 279 00:14:31,370 --> 00:14:37,032 Tudod kap egy teljes kulcsértékpár átadásával a szögletes zárójel index. 280 00:14:37,032 --> 00:14:39,240 Ha olvasni egy nem létező gombot, kapsz null. 281 00:14:39,240 --> 00:14:41,150 Ez nem hiba. 282 00:14:41,150 --> 00:14:43,590 A helyzet az, R fog tenni, mint sok null, amennyit tud. 283 00:14:43,590 --> 00:14:46,580 És ez azt jelenti, hogy ha Ön Nem számítottam rá, hogy null ki 284 00:14:46,580 --> 00:14:51,840 Néhány lista olvasható, kapsz néhány kiszámíthatatlan hibák lejjebb 285 00:14:51,840 --> 00:14:52,620 a vonal. 286 00:14:52,620 --> 00:14:54,890 >> Ez történt velem az én nyári munka, ha én is használtam R 287 00:14:54,890 --> 00:14:58,410 ahol én változott, hogy egy bizonyos listán került meghatározásra egy helyen 288 00:14:58,410 --> 00:15:05,410 de nem változott később a kód, amely értékeit olvassa azt. 289 00:15:05,410 --> 00:15:10,190 És akkor mi történt, én olvasás null értékeket ki ezt a listát, 290 00:15:10,190 --> 00:15:13,090 múló őket funkciók, és hogy nagyon zavaros 291 00:15:13,090 --> 00:15:16,000 amikor megkaptam mindenféle véletlenszerű végtelenek felbukkannak 292 00:15:16,000 --> 00:15:16,790 ebben a funkcióban. 293 00:15:16,790 --> 00:15:20,730 Mert ha alkalmazni bizonyos maximális vagy minimális funkciókat null, 294 00:15:20,730 --> 00:15:22,570 kapsz végtelen értékek ki. 295 00:15:22,570 --> 00:15:26,400 296 00:15:26,400 --> 00:15:29,180 >> Az adatok keretek, ők egy alosztálya listát. 297 00:15:29,180 --> 00:15:31,170 Minden érték egy vektor Az azonos hosszúságú. 298 00:15:31,170 --> 00:15:34,220 És ők használják a bemutató, Alapvetően táblázat adatait. 299 00:15:34,220 --> 00:15:36,175 Van ezen kezdeti szintaxist. 300 00:15:36,175 --> 00:15:38,800 Ez minden, ismét, sokkal egyértelműbb, ha eljut a demo. 301 00:15:38,800 --> 00:15:42,240 302 00:15:42,240 --> 00:15:44,240 És szép dolog az adat kereteket, hogy meg 303 00:15:44,240 --> 00:15:49,380 Nevet adhat az összes oszlopot és neveket összes sort. 304 00:15:49,380 --> 00:15:53,890 És így teszi elérésével őket egy kicsit barátságosabb. 305 00:15:53,890 --> 00:15:59,130 Szintén ez hogyan legtöbb függvény, olvasni az adatokat Excel táblázatok 306 00:15:59,130 --> 00:16:03,820 vagy szöveges fájlok, például beolvassa az adatokat. 307 00:16:03,820 --> 00:16:07,555 Ők majd tedd be valamilyen adatot keretben. 308 00:16:07,555 --> 00:16:09,680 Tehát functions-- funkciók szintaxis egy kicsit furcsa. 309 00:16:09,680 --> 00:16:16,160 Ez megint a nevét, a funkció, rendelni, ez a kulcsszó funkciót, majd 310 00:16:16,160 --> 00:16:17,900 A fenti érvek. 311 00:16:17,900 --> 00:16:24,080 Szóval van néhány szép dolgokat hogyan funkciók működnek itt. 312 00:16:24,080 --> 00:16:28,170 Az egyik, akkor valóban rendelni alapértelmezett értékek az egyes érveket. 313 00:16:28,170 --> 00:16:32,910 Szóval lehet mondani R1 equals-- tudod mondani ize 314 00:16:32,910 --> 00:16:38,290 egy olyan funkció, ahol R1 egyenlő valamit Alapértelmezésben, ha a felhasználó megadja 315 00:16:38,290 --> 00:16:39,090 nem érvek. 316 00:16:39,090 --> 00:16:41,932 Egyébként ez bármit is tenni. 317 00:16:41,932 --> 00:16:44,140 És ez nagyon hasznos mert sok a funkciók 318 00:16:44,140 --> 00:16:47,910 Van gyakran több tucat vagy száz érvek. 319 00:16:47,910 --> 00:16:51,210 Például az is ábrázolásakor grafikonok vagy összebeszélés pontdiagramot 320 00:16:51,210 --> 00:16:54,430 Van érvek, hogy ellenőrizzék mindent a cím és a tengely 321 00:16:54,430 --> 00:16:59,512 címkék színének regressziós vonalak. 322 00:16:59,512 --> 00:17:01,470 És így, ha nem akarod hogy az emberek meghatározzák 323 00:17:01,470 --> 00:17:04,050 minden egyes egy ilyen száz érvek 324 00:17:04,050 --> 00:17:07,674 kontrolling minden egyes szempontjának a telek, illetve a regressziós vagy bármi, 325 00:17:07,674 --> 00:17:09,299 ez szép, hogy ezek az alapértelmezett értékek. 326 00:17:09,299 --> 00:17:12,700 327 00:17:12,700 --> 00:17:19,146 >> És akkor valójában levelet ahogy láttam vissza ide. 328 00:17:19,146 --> 00:17:22,869 Vagy talál egy jobb példa. 329 00:17:22,869 --> 00:17:28,690 Amikor hívja funkciókat tudod valójában hívja őket az argumentum. 330 00:17:28,690 --> 00:17:33,919 Tehát itt egy példa A mátrix kivitelező. 331 00:17:33,919 --> 00:17:34,960 Három argumentuma. 332 00:17:34,960 --> 00:17:36,760 Általában van adat, amely egy vektor. 333 00:17:36,760 --> 00:17:38,920 Van N sorban, amely a sorok száma. 334 00:17:38,920 --> 00:17:41,160 Van N cols-- oszlopok száma. 335 00:17:41,160 --> 00:17:43,920 A lényeg az, ha beírja N sorban egyenlő bármi 336 00:17:43,920 --> 00:17:46,520 és N col egyenlő bármit, ha hívsz ezt a funkciót, 337 00:17:46,520 --> 00:17:47,770 akkor valóban fordított nekik. 338 00:17:47,770 --> 00:17:51,590 Szóval akkor tedd N col első és N sorban második és ez sem számít. 339 00:17:51,590 --> 00:17:54,660 Szóval ez egy jó kis funkció. 340 00:17:54,660 --> 00:17:56,260 >> Vajon import és export. 341 00:17:56,260 --> 00:18:00,010 Ezt meg lehet tenni, alapvetően. 342 00:18:00,010 --> 00:18:03,816 Vannak még lehetőségek, hogy írjon ki tetszőleges R tiltakozik egy bináris fájlt 343 00:18:03,816 --> 00:18:05,190 majd olvasni őket vissza később. 344 00:18:05,190 --> 00:18:08,030 Ami hasznos, ha csinálsz egy nagy interaktív munkamenet R 345 00:18:08,030 --> 00:18:12,850 és meg kell menteni dolgok nagyon gyorsan. 346 00:18:12,850 --> 00:18:16,460 Alapértelmezésben R egy működő könyvtár hogy a fájlok és beírja ki 347 00:18:16,460 --> 00:18:19,410 és olvasd vissza ettől. 348 00:18:19,410 --> 00:18:22,350 Láthatjuk, hogy a getwg, változtassa meg setdw. 349 00:18:22,350 --> 00:18:25,630 Semmi különösen érdekes itt 350 00:18:25,630 --> 00:18:28,270 >> Tehát most is az aktuális statisztikák stuff-- multilineáris regresszió. 351 00:18:28,270 --> 00:18:30,960 352 00:18:30,960 --> 00:18:34,910 Tehát a szokásos szintaktikai egy kicsit bonyolult. 353 00:18:34,910 --> 00:18:37,260 A modell egy nagy tárgy alapvetően. 354 00:18:37,260 --> 00:18:39,910 Egyre rendelt LM, amely függvényhívás. 355 00:18:39,910 --> 00:18:43,840 Az első elem, az y hullámvonal x1 plusz bármi. 356 00:18:43,840 --> 00:18:46,574 357 00:18:46,574 --> 00:18:47,990 Saját szintaxis itt egy kicsit zavaros. 358 00:18:47,990 --> 00:18:49,490 Én nagyon sajnálom, ez a a szokásos módon 359 00:18:49,490 --> 00:18:50,990 hogy a számítógépes tudományos könyvek erre. 360 00:18:50,990 --> 00:18:54,890 De ez egy kicsit furcsa. 361 00:18:54,890 --> 00:18:58,200 >> Tehát alapvetően ez lm zárójelben, első elem 362 00:18:58,200 --> 00:19:06,730 A változó-- sajnálom, függő változó hullámvonal x1 plusz x2 plusz 363 00:19:06,730 --> 00:19:10,910 Azonban sok független változók van. 364 00:19:10,910 --> 00:19:14,240 És akkor ezek egyaránt lehet vektorok, mind az azonos hosszúságú. 365 00:19:14,240 --> 00:19:16,220 Vagy lehetnek oszlop fejlécek adatcsomag 366 00:19:16,220 --> 00:19:18,553 hogy csak meg a második érv adatok keret. 367 00:19:18,553 --> 00:19:23,270 368 00:19:23,270 --> 00:19:26,380 >> Azt is megadhatja, bonyolultabb képlet 369 00:19:26,380 --> 00:19:31,990 így nem kell lineárisan visszafejlődnek egy függő változó, 370 00:19:31,990 --> 00:19:34,440 vagy az egyik vektor a már meglévő vektor. 371 00:19:34,440 --> 00:19:38,070 Meg tudod csinálni, például egy vektorösszetevője y faragva plusz 1 372 00:19:38,070 --> 00:19:42,100 és visszafejlődnek, hogy ellen jelentkezzen néhány más vektor. 373 00:19:42,100 --> 00:19:45,200 Lehet nyomtatni összefoglalói modell ezzel a paranccsal úgynevezett 374 00:19:45,200 --> 00:19:48,607 summary-- csak összefoglaló parens modellt. 375 00:19:48,607 --> 00:19:50,190 Ismét valami mást kéne tisztázni. 376 00:19:50,190 --> 00:19:55,407 377 00:19:55,407 --> 00:19:58,615 Valami mást, hogy lesz korrigálva ha a diák megy fel az interneten. 378 00:19:58,615 --> 00:20:01,127 379 00:20:01,127 --> 00:20:03,210 Ha csak azt, hogy számítani egyszerű összefüggés 380 00:20:03,210 --> 00:20:09,170 akkor a korrelációs vektor 1 vektoros 2 funkció lényege. 381 00:20:09,170 --> 00:20:11,856 Módszer alapértelmezésben Pearson korreláció. 382 00:20:11,856 --> 00:20:13,480 Ezek a standard is meg tudod csinálni. 383 00:20:13,480 --> 00:20:15,990 Ott is Spearman és Kendell összefüggések 384 00:20:15,990 --> 00:20:19,530 amelyek közül néhány különböző rangsor korreláció. 385 00:20:19,530 --> 00:20:23,600 Hát nem számolnak termék pillanatok között vektorok magukat, 386 00:20:23,600 --> 00:20:28,511 de a vektor rangsort. 387 00:20:28,511 --> 00:20:29,510 Elmagyarázom, hogy később. 388 00:20:29,510 --> 00:20:30,120 >> Közönség: Gyors kérdés 389 00:20:30,120 --> 00:20:30,360 >> Conner HARRIS: Persze. 390 00:20:30,360 --> 00:20:33,151 >> Közönség: Tehát, ha éppen kiszámítása az egyszerű összefüggések csinálni 391 00:20:33,151 --> 00:20:37,655 ha feltételezzük, hogy van egy statisztikai jelentőségét a korreláció? 392 00:20:37,655 --> 00:20:39,030 Conner HARRIS: Nem kell. 393 00:20:39,030 --> 00:20:41,840 394 00:20:41,840 --> 00:20:43,960 Egy lm alapvetően csak egy gép. 395 00:20:43,960 --> 00:20:47,690 Időbe fog telni a két dolog és ez kiköp 396 00:20:47,690 --> 00:20:49,770 együtthatók a legjobb illeszkedést vonal. 397 00:20:49,770 --> 00:20:52,310 Beszámol szabvány hibák ezen együtthatók. 398 00:20:52,310 --> 00:20:55,865 És ez fogja mondani, mint a lehallgatott statisztikailag szignifikáns 399 00:20:55,865 --> 00:20:56,740 vagy eltér 0. 400 00:20:56,740 --> 00:20:59,400 A lejtőn a legjobb illeszkedő vonaltól statisztikailag 401 00:20:59,400 --> 00:21:01,510 nullától eltérő, satöbbi. 402 00:21:01,510 --> 00:21:06,260 Tehát azt feltételezi, semmit, azt hiszem, A legjobb válasz a kérdésre. 403 00:21:06,260 --> 00:21:07,410 OKÉ. 404 00:21:07,410 --> 00:21:14,650 >> Plotting-- így a fő ok akkor Használja R, mint multilineáris regresszió. 405 00:21:14,650 --> 00:21:17,320 Alapvetően minden nyelven van néhány lehetőség erre. 406 00:21:17,320 --> 00:21:21,365 És őszintén R szintaxis regresszió egy kissé misztikus. 407 00:21:21,365 --> 00:21:22,990 De kirajzoló az, ahol igazán ragyog. 408 00:21:22,990 --> 00:21:28,090 >> Az igásló funkció telek és tart két vektor, x és y. 409 00:21:28,090 --> 00:21:33,010 És akkor a három pontra áll egy nagyon Számos opcionális érvek, hogy 410 00:21:33,010 --> 00:21:39,190 irányítani mindent címeket színek A különböző vonalak vagy különböző pontjain, 411 00:21:39,190 --> 00:21:40,200 A plot típusát. 412 00:21:40,200 --> 00:21:42,250 Egyszerre szórás telket vagy sorban telkek. 413 00:21:42,250 --> 00:21:47,900 414 00:21:47,900 --> 00:21:49,710 >> [Hallhatatlan] 2 vektorok Az azonos hosszúságú. 415 00:21:49,710 --> 00:21:53,780 Akkor megelőzheti ezt csatolja adatok keret a forgatókönyvet. 416 00:21:53,780 --> 00:22:01,220 És ez akkor ismét csak használ oszlop fejlécek helyett külön vektorok. 417 00:22:01,220 --> 00:22:05,410 Felveheti regressziós vonalát és a helyi regressziós görbék a grafikon. 418 00:22:05,410 --> 00:22:09,390 >> Ezek a parancsok felsorolt Itt, az AB vonal és a vonalak, 419 00:22:09,390 --> 00:22:11,640 alapértelmezés szerint ezek a kap beíródik felugró ablakok 420 00:22:11,640 --> 00:22:15,560 mivel azt feltételezi, hogy Ön használ R interaktívan. 421 00:22:15,560 --> 00:22:17,310 Ha nem tudsz írj két fájlok 422 00:22:17,310 --> 00:22:21,600 vannak igazán olyan formátumban szeretne. 423 00:22:21,600 --> 00:22:25,410 Sajnáljuk, van egy elírás Csak azt vettem észre. 424 00:22:25,410 --> 00:22:30,887 425 00:22:30,887 --> 00:22:32,720 Ha meg szeretné nyitni Egy másik grafikus eszköz 426 00:22:32,720 --> 00:22:39,200 akkor használja ezt a funkciót nevű PNG vagy JPEG vagy sok más képformátum. 427 00:22:39,200 --> 00:22:42,319 És akkor írj grafikonokat bármilyen fájl nevét megadja. 428 00:22:42,319 --> 00:22:45,110 Ha mégsem, hogy meg kell use-- Ezt nem én írtam ezt a slide-- 429 00:22:45,110 --> 00:22:49,650 de van olyan függvény dev dot off argumentum nélküli. 430 00:22:49,650 --> 00:22:51,517 >> Aztán ott vannak lehetőségek 3D kirajzoló 431 00:22:51,517 --> 00:22:53,350 és kontúr összebeszélés Ha azt szeretnénk, hogy győződjön 432 00:22:53,350 --> 00:22:55,700 grafikonok két független változó. 433 00:22:55,700 --> 00:22:57,150 Nem fogok bejutni e most. 434 00:22:57,150 --> 00:22:59,130 >> Van még néhány létesítmények animáció 435 00:22:59,130 --> 00:23:01,300 ezek rendszerint harmadik felek által fenntartott. 436 00:23:01,300 --> 00:23:06,330 Én megtettem animációk R grafikonok, de én nem használtam ezeket a harmadik fél 437 00:23:06,330 --> 00:23:06,940 könyvtárak. 438 00:23:06,940 --> 00:23:09,929 Szóval nem igazán tudok tanúsítják hogy milyen jók. 439 00:23:09,929 --> 00:23:12,220 Amit ajánlani, ha azt szeretné, hogy animációkat használó R 440 00:23:12,220 --> 00:23:16,480 A írhat ki az összes A keretek az animációk 441 00:23:16,480 --> 00:23:18,470 és akkor használd a harmadik fél program-- 442 00:23:18,470 --> 00:23:23,630 jellemzőek az úgynevezett ffmpeg vagy ImageMagick-- összevarrni 443 00:23:23,630 --> 00:23:26,540 az összes képkockát olvaszt egyetlen animáció. 444 00:23:26,540 --> 00:23:28,380 >> Szóval ideje demo. 445 00:23:28,380 --> 00:23:31,030 446 00:23:31,030 --> 00:23:37,189 Tehát ha bármilyen UNIX-szerű rendszer amely Linux BSD de aki használja BSD. 447 00:23:37,189 --> 00:23:39,730 OS X nyithatunk egy terminál ablakot és Type R a parancssorba. 448 00:23:39,730 --> 00:23:42,820 Ha R stúdióban vagy hasonlók, hogy is működik. 449 00:23:42,820 --> 00:23:46,270 Windows-felhasználók meg kell képes megtalálni R a start menüben. 450 00:23:46,270 --> 00:23:50,390 Meg kell hívni valami mint az R x64 3 pont mindegy. 451 00:23:50,390 --> 00:23:53,110 Nyisd ki azt ott. 452 00:23:53,110 --> 00:23:58,850 >> Tehát most hadd nyithatunk egy terminál ablakot. 453 00:23:58,850 --> 00:24:02,562 Rendben, keresés. 454 00:24:02,562 --> 00:24:03,520 Közönség: Command-Space 455 00:24:03,520 --> 00:24:06,675 Conner HARRIS: Command-Space, köszönöm. 456 00:24:06,675 --> 00:24:10,030 Én rendszerint nem támogatják a Mac. 457 00:24:10,030 --> 00:24:13,310 Terminal, jelzi az új ablakot. 458 00:24:13,310 --> 00:24:18,120 Új ablak beállításait alap, R. Szóval kéne 459 00:24:18,120 --> 00:24:22,230 egy üdvözlő üzenetet, valami ilyesmit. 460 00:24:22,230 --> 00:24:31,060 >> Tehát én vagyok a K interaktívan. 461 00:24:31,060 --> 00:24:32,719 Te is írhatsz R szkriptek természetesen. 462 00:24:32,719 --> 00:24:34,510 Alapvetően szkriptek futtatásához pontosan ugyanolyan módon, mint 463 00:24:34,510 --> 00:24:40,250 ha ült a számítógép előtt gépelés minden sorban egyesével. 464 00:24:40,250 --> 00:24:42,660 Szóval kezdjük azzal, hogy egy vektor. 465 00:24:42,660 --> 00:24:46,230 Egy nyíl a C 1, 2. 466 00:24:46,230 --> 00:24:49,400 1, 2, 4. 467 00:24:49,400 --> 00:24:50,050 Oké, rendben. 468 00:24:50,050 --> 00:24:51,630 Azt is, hogy a betűméret nagyobb. 469 00:24:51,630 --> 00:24:53,030 >> Közönség: Command-Plus 470 00:24:53,030 --> 00:24:53,650 >> Conner HARRIS: Command-Plus. 471 00:24:53,650 --> 00:24:54,191 Command-Plus. 472 00:24:54,191 --> 00:24:57,610 473 00:24:57,610 --> 00:25:00,370 Rendben, hogy van ez? 474 00:25:00,370 --> 00:25:00,870 Jó? 475 00:25:00,870 --> 00:25:01,551 OKÉ. 476 00:25:01,551 --> 00:25:03,300 Szóval kezdjük nyilvánító vektor listát. 477 00:25:03,300 --> 00:25:08,710 Van egy, nyíl, C 1,2,4. 478 00:25:08,710 --> 00:25:11,181 Láthatjuk a. 479 00:25:11,181 --> 00:25:12,680 Ne aggódj a konzol van. 480 00:25:12,680 --> 00:25:18,590 A zárójelben így ha ki kell nyomtatni Nagyon hosszú tömbök, tudjuk, hogy hol van. 481 00:25:18,590 --> 00:25:26,987 Egy példa az lenne, ha I Csak azt akarom tartomány 2-200. 482 00:25:26,987 --> 00:25:28,820 Ha nyomtattam egy nagyon Hosszú tömb, a zárójelben 483 00:25:28,820 --> 00:25:31,060 csak így tudom tartani követni, hogy melyik index 484 00:25:31,060 --> 00:25:33,250 vagyunk, ha keresem ezen keresztül vizuálisan. 485 00:25:33,250 --> 00:25:36,570 486 00:25:36,570 --> 00:25:38,280 Szóval egyébként, hogy van egy. 487 00:25:38,280 --> 00:25:43,326 >> Így már mondtam, hogy a tömbök kölcsönhatásba nagyon szépen, például 488 00:25:43,326 --> 00:25:44,450 egyváltozós függvények, mint ez. 489 00:25:44,450 --> 00:25:46,500 Szóval mit hiszem hogy ha én írja plusz 1? 490 00:25:46,500 --> 00:25:49,630 491 00:25:49,630 --> 00:25:51,140 Igen. 492 00:25:51,140 --> 00:25:54,250 Rendben, most megcsinálom ez a különböző tömb. 493 00:25:54,250 --> 00:26:01,650 Mondjuk b c 20,40, 80. 494 00:26:01,650 --> 00:26:03,400 Szóval, mit gondolsz ez a parancs csinálni? 495 00:26:03,400 --> 00:26:09,962 496 00:26:09,962 --> 00:26:10,670 Add az elemeket. 497 00:26:10,670 --> 00:26:14,950 És így alapvetően ez az, amit csinál. 498 00:26:14,950 --> 00:26:16,740 Szóval ez elég kényelmes. 499 00:26:16,740 --> 00:26:23,800 Szóval mi lenne erre. c van, mondjuk, 6-szor 1-10. 500 00:26:23,800 --> 00:26:26,789 501 00:26:26,789 --> 00:26:28,830 Szóval mit akarok látni tartalmazott, nem gondolod? 502 00:26:28,830 --> 00:26:37,110 503 00:26:37,110 --> 00:26:38,110 Tehát minden többszörösei hat. 504 00:26:38,110 --> 00:26:42,170 Most, mit gondolsz fog történni, ha ezt csinálom? 505 00:26:42,170 --> 00:26:48,090 Majd, hogy ez egy kicsit világosabb, C, C. 506 00:26:48,090 --> 00:26:50,365 Tehát mi történik, ugye gondolom, ha ezt csinálom? 507 00:26:50,365 --> 00:26:51,488 plusz c. 508 00:26:51,488 --> 00:26:55,550 509 00:26:55,550 --> 00:26:56,050 [NEM HALLHATÓ] 510 00:26:56,050 --> 00:26:58,552 511 00:26:58,552 --> 00:27:02,350 >> Közönség: Vagy egy hiba, vagy csak növeli az első három elem. 512 00:27:02,350 --> 00:27:04,510 >> Conner HARRIS: Nem egészen. 513 00:27:04,510 --> 00:27:05,522 Ez az, amit kaptunk. 514 00:27:05,522 --> 00:27:08,910 Mi történik egy rövidebb tömb, egy, van felhasználható. 515 00:27:08,910 --> 00:27:13,990 Szóval megvan a 124, 124, 124. 516 00:27:13,990 --> 00:27:15,710 Igen. 517 00:27:15,710 --> 00:27:18,940 És tulajdonképpen, megnézheti Ez a magatartás előtt, egy plusz 1, 518 00:27:18,940 --> 00:27:22,190 alosztályának ezt a viselkedést, ahol A legrövidebb tömb csak a számot 519 00:27:22,190 --> 00:27:25,410 1, amely egy egyik eleme tömb. 520 00:27:25,410 --> 00:27:27,740 Csak mondjon vektoros összes Az idő helyett tömb, 521 00:27:27,740 --> 00:27:30,290 mert ez az, amit az r dokumentációt szokott. 522 00:27:30,290 --> 00:27:33,070 Ez egy megrögzött szokása c. 523 00:27:33,070 --> 00:27:37,590 >> OK, így most már ezt a tömböt. 524 00:27:37,590 --> 00:27:38,830 Így van ez a tömb, c. 525 00:27:38,830 --> 00:27:41,380 Mi lehet kapni összefoglaló statisztikák c, összefoglaló c. 526 00:27:41,380 --> 00:27:46,920 527 00:27:46,920 --> 00:27:48,280 És ez szép. 528 00:27:48,280 --> 00:27:51,070 529 00:27:51,070 --> 00:27:52,670 Így most nézzük meg néhány mátrix dolgokat. 530 00:27:52,670 --> 00:27:56,160 Mondjuk m egy mátrix. 531 00:27:56,160 --> 00:27:57,780 Nézzük, hogy ez egy háromszor három egy. 532 00:27:57,780 --> 00:28:01,630 Tehát nrows értéke 3, és ncols értéke 3. 533 00:28:01,630 --> 00:28:04,190 534 00:28:04,190 --> 00:28:10,710 És az adatok nézzük do-- akkor mi Mit gondolsz, ez fog csinálni? 535 00:28:10,710 --> 00:28:15,310 536 00:28:15,310 --> 00:28:16,580 >> Jobb, ez a következőt. 537 00:28:16,580 --> 00:28:17,970 Ez nrow és ncolumn. 538 00:28:17,970 --> 00:28:22,164 539 00:28:22,164 --> 00:28:24,580 Szóval, mit tettem az én már nyilvánították háromszor három mátrix 540 00:28:24,580 --> 00:28:26,950 és én már elfogadott egy kilenc tömböt. 541 00:28:26,950 --> 00:28:30,530 Tehát a logaritmusát az összes elemek egytől kilenc. 542 00:28:30,530 --> 00:28:33,400 543 00:28:33,400 --> 00:28:37,285 És mindazokat az értékeket, töltse akár a array-- sajnálom? 544 00:28:37,285 --> 00:28:38,660 Közönség: Ezek bázis 10 naplók? 545 00:28:38,660 --> 00:28:41,284 Conner HARRIS: Nem, napló természetes alapú logaritmus, így e alapú. 546 00:28:41,284 --> 00:28:44,886 547 00:28:44,886 --> 00:28:47,010 Ja, ha akarta bázis 10 log, azt hiszem, hogy volna 548 00:28:47,010 --> 00:28:51,620 A belépéshez bármi, osztva napló 10. 549 00:28:51,620 --> 00:28:56,750 És így az adatok a [hallhatatlan] csak tölti fel a tömb, így fentről lefelé, 550 00:28:56,750 --> 00:28:59,490 majd balról jobbra. 551 00:28:59,490 --> 00:29:06,890 És ha akartam csinálni egy másik tömb, mondjuk n mátrix. 552 00:29:06,890 --> 00:29:10,317 Csináljuk, nem tudom, 2-13. 553 00:29:10,317 --> 00:29:11,900 Vagy én nem valami érdekes. 554 00:29:11,900 --> 00:29:13,770 Megteszem 2-4. 555 00:29:13,770 --> 00:29:15,780 nrow egyenlők mondjuk, 3. 556 00:29:15,780 --> 00:29:18,992 Ncol- egyenlő 4. 557 00:29:18,992 --> 00:29:20,360 n. 558 00:29:20,360 --> 00:29:22,090 Így van ez. 559 00:29:22,090 --> 00:29:26,130 >> És most, ha azt akarjuk, hogy szaporodnak ezek, tennénk n százaléka alkalommal százalékkal, 560 00:29:26,130 --> 00:29:27,680 mert ez az n. 561 00:29:27,680 --> 00:29:30,234 562 00:29:30,234 --> 00:29:31,400 És mi van a mátrixban termékek. 563 00:29:31,400 --> 00:29:33,970 564 00:29:33,970 --> 00:29:37,810 Azzal, hogy így, láttad, hogyan amikor kijelentette n, a 2-4 565 00:29:37,810 --> 00:29:43,570 vektor kapott szakad ig ez megtöltött minden n? 566 00:29:43,570 --> 00:29:45,710 Ha akarta, hogy vegye sajátérték bomlás, 567 00:29:45,710 --> 00:29:46,960 ez valami, amit tehetünk nagyon könnyen. 568 00:29:46,960 --> 00:29:47,709 Tehetünk Eigen n. 569 00:29:47,709 --> 00:29:52,290 570 00:29:52,290 --> 00:29:54,600 És így ez az első találkozás egy listát. 571 00:29:54,600 --> 00:29:57,000 >> Tehát Eigen n van egy lista két kulccsal. 572 00:29:57,000 --> 00:29:58,430 Értékeket, ami ebben a tömbben van. 573 00:29:58,430 --> 00:30:01,030 És vektorok, amely ezt a tömböt itt. 574 00:30:01,030 --> 00:30:08,240 Tehát, ha akarta kivonat, mondjuk, ez a harmadik oszlop 575 00:30:08,240 --> 00:30:13,080 A sajátvektorok mátrix, mert sajátvektorok vannak oszlop vektorok. 576 00:30:13,080 --> 00:30:24,400 Így nem tehetünk vec eigen n dollár jel vektorok, vessző 3, a [hallhatatlan]. 577 00:30:24,400 --> 00:30:29,800 578 00:30:29,800 --> 00:30:30,900 VEC. 579 00:30:30,900 --> 00:30:34,100 Az, hogy mint ahogy azt elvárnánk. 580 00:30:34,100 --> 00:30:39,210 >> Akkor mondjuk n-szer százalékkal alkalommal VEC. 581 00:30:39,210 --> 00:30:42,610 582 00:30:42,610 --> 00:30:48,320 Tehát az eredmény itt úgy néz ki, mint a ha mi volt a harmadik sajátértéke van, 583 00:30:48,320 --> 00:30:50,390 ami megfelel a harmadik sajátvektor. 584 00:30:50,390 --> 00:30:53,190 Csak szorozni mindent ez a sajátvektor, alkatrész-bölcs, 585 00:30:53,190 --> 00:30:53,990 A sajátérték. 586 00:30:53,990 --> 00:30:57,760 És ez az, amit elvárnánk, mert ez az, amit sajátértékek. 587 00:30:57,760 --> 00:31:00,890 Van itt valaki nem hozott lineáris algebra? 588 00:31:00,890 --> 00:31:02,530 Egy pár ember, OK. 589 00:31:02,530 --> 00:31:04,030 Csak kapcsolja az agyadat le egy kicsit. 590 00:31:04,030 --> 00:31:07,490 591 00:31:07,490 --> 00:31:20,720 És valóban, ha vesszük Eigen n dollár jel értékek 3-szor VEC, 592 00:31:20,720 --> 00:31:21,810 is kap ugyanaz a dolog. 593 00:31:21,810 --> 00:31:24,726 Ez formázott másképp, mint a sorban vektor helyett egy oszlop vektor, 594 00:31:24,726 --> 00:31:25,640 de nagy dolog. 595 00:31:25,640 --> 00:31:29,430 596 00:31:29,430 --> 00:31:35,170 És így azok alapvetően a szép dolog, amit tehetünk, mátrixok, 597 00:31:35,170 --> 00:31:36,489 bizonyította listákat. 598 00:31:36,489 --> 00:31:39,030 Azt kell bizonyítani a szép dolog funkciókat is. 599 00:31:39,030 --> 00:31:41,750 >> Úgyhogy say-- [hallhatatlan] funkciót, Nevezzük 600 00:31:41,750 --> 00:31:51,960 ez funk elleni funkció n n squared-- valóban, ez nem igazán a legjobb. 601 00:31:51,960 --> 00:31:55,632 a, b, négyzetes plusz b. 602 00:31:55,632 --> 00:31:58,547 603 00:31:58,547 --> 00:32:00,380 Tehát az egyik dolog funkciók, ismét ők 604 00:32:00,380 --> 00:32:01,963 Nem kell explicit return utasítás. 605 00:32:01,963 --> 00:32:04,250 Szóval lehet csak-- a utolsó nyilatkozatát értékelték 606 00:32:04,250 --> 00:32:07,502 lesz a nyilatkozatot visszatért, vagy a visszaadott érték. 607 00:32:07,502 --> 00:32:10,460 Tehát ebben az esetben, mi csak értékelésében egy állítást, négyzetes plusz b. 608 00:32:10,460 --> 00:32:12,043 Ez lesz az alapértelmezett visszatérési értéke. 609 00:32:12,043 --> 00:32:14,530 Soha nem fáj, hogy hozzanak visszatérési értékeket nyíltan, 610 00:32:14,530 --> 00:32:16,880 különösen, ha van dolgunk, a funkciója nagyon bonyolult logika 611 00:32:16,880 --> 00:32:17,380 folyik. 612 00:32:17,380 --> 00:32:18,450 De nem kell őket. 613 00:32:18,450 --> 00:32:24,890 Tehát most nem tehetünk funk 5, 1, és ez alapvetően amit elvárnánk. 614 00:32:24,890 --> 00:32:29,146 615 00:32:29,146 --> 00:32:31,270 Valami mást tehetünk, mi is valójában csinálni funk b 616 00:32:31,270 --> 00:32:33,260 értéke 1, a értéke 5. 617 00:32:33,260 --> 00:32:36,870 618 00:32:36,870 --> 00:32:40,770 Ha tehát meghatározza, hogy milyen szám van, amely érvelés, amelyre az érvelés 619 00:32:40,770 --> 00:32:44,680 A funkció, akkor flip körül ezeket az értékeket, ahol szeretnénk. 620 00:32:44,680 --> 00:32:48,405 >> Közönség: Van valami oka hogy írjon ki a b 621 00:32:48,405 --> 00:32:52,404 egyenlő szemben a csak a A számok és a vessző? 622 00:32:52,404 --> 00:32:54,820 Conner HARRIS: Igen, általában Ehhez, ha funkciók 623 00:32:54,820 --> 00:32:58,540 sok érvet. 624 00:32:58,540 --> 00:33:00,690 Lehet, hogy ez gyakran lenni, mint zászlók, hogy jobb lenne, ha csak a 625 00:33:00,690 --> 00:33:03,130 szeretné használni a ritka alkalmakkor. 626 00:33:03,130 --> 00:33:06,740 És így lehet only-- Önnek lehet hivatkozni a konkrét érvek 627 00:33:06,740 --> 00:33:09,110 hogy a használni kívánt nem alapértelmezett értékek, 628 00:33:09,110 --> 00:33:14,470 és nem kell, hogy írjon ki egy csomó zászlók egyenlő hamis utánuk. 629 00:33:14,470 --> 00:33:19,710 Vagy tudok írni ezt újra alapértéket, mint b = 2. 630 00:33:19,710 --> 00:33:26,289 És akkor tudtam csinálni f funk, Megteszem 4, 1 ebben az időben. 631 00:33:26,289 --> 00:33:28,580 És a 17., ami 4 négyszögletesre plusz 1, mint várnánk. 632 00:33:28,580 --> 00:33:34,290 >> De én is csak hívja ezt a funk 4, 633 00:33:34,290 --> 00:33:36,970 és Hozok 18, mert Nem adja b. 634 00:33:36,970 --> 00:33:38,550 Szóval b megkapja az alapértelmezett 2. 635 00:33:38,550 --> 00:33:41,700 636 00:33:41,700 --> 00:33:47,200 >> OK, így most ha következő együtt a demo, 637 00:33:47,200 --> 00:33:51,010 írja ezt a sort az Ön parancs azonnali és mi jön ki. 638 00:33:51,010 --> 00:33:52,090 Igazából nem csinál ilyet. 639 00:33:52,090 --> 00:33:52,590 Írja be ezt. 640 00:33:52,590 --> 00:33:57,780 641 00:33:57,780 --> 00:34:01,000 Akkor kap valami ilyesmi. 642 00:34:01,000 --> 00:34:04,780 Tehát mtcars van egy beépített adat beállítva a tüntetést 643 00:34:04,780 --> 00:34:13,550 célra, hogy jön with-- hogy jön alapértelmezés szerint az Ön r forgalmazás. 644 00:34:13,550 --> 00:34:19,211 Ez egy statisztikák összeállítása egy 1974-es számában Motor Trend magazin 645 00:34:19,211 --> 00:34:20,710 számos különböző autó modellek. 646 00:34:20,710 --> 00:34:28,270 >> Szóval van mérföld per gallon, cylinders-- Emlékszem, mi disp is-- lóerő. 647 00:34:28,270 --> 00:34:31,610 648 00:34:31,610 --> 00:34:32,420 Valószínűleg. 649 00:34:32,420 --> 00:34:36,920 Ha csak a Google MT autók, Ezután az egyik első eredménye 650 00:34:36,920 --> 00:34:38,730 lesz a hivatalos r dokumentáció 651 00:34:38,730 --> 00:34:41,080 és ez magyarázza Mindezen adatok mezők. 652 00:34:41,080 --> 00:34:47,020 Tehát súlya is-- tömeg van az autó súlya tonnában. 653 00:34:47,020 --> 00:34:48,880 Q sec az negyed mérföld alkalommal. 654 00:34:48,880 --> 00:34:52,409 655 00:34:52,409 --> 00:34:55,850 Tehát most tehetünk néhány vicces dolgot mintegy MT autók egy adatmező. 656 00:34:55,850 --> 00:35:01,640 >> Így tudjuk csinálni a dolgokat mint a sorban neveket, mt autók. 657 00:35:01,640 --> 00:35:05,490 És ez egy listát az összes sorok Az adathalmaz, amely nevét az autók. 658 00:35:05,490 --> 00:35:10,780 Tehetünk colnames, mt autók ezt. 659 00:35:10,780 --> 00:35:15,500 Ha igen mt autók, al-numerikus index, mint a 2. 660 00:35:15,500 --> 00:35:18,177 megkapjuk a második oszlop ki ez, ami henger. 661 00:35:18,177 --> 00:35:19,370 >> Közönség: Mit csináltál? 662 00:35:19,370 --> 00:35:21,570 >> Conner HARRIS: beírtam MT autók, zárójelben e, 663 00:35:21,570 --> 00:35:24,180 amely adott nekem a második oszlop ki mt autók. 664 00:35:24,180 --> 00:35:34,501 665 00:35:34,501 --> 00:35:38,110 Vagy ha azt akarjuk, egy sorban, tudok írja mtcars vesszővel válassza 2, például. 666 00:35:38,110 --> 00:35:41,850 667 00:35:41,850 --> 00:35:46,390 Egyéb kerek 2 vessző, ilyesmi. 668 00:35:46,390 --> 00:35:48,880 És hogy megy a sora. 669 00:35:48,880 --> 00:35:54,680 Ez itt csak ad egy oszlop, de oszlop, mint egy vektor. 670 00:35:54,680 --> 00:36:04,634 671 00:36:04,634 --> 00:36:06,425 Csak azt vettem észre most Elfelejtettem bizonyítani 672 00:36:06,425 --> 00:36:09,150 néhány nagyszerű dolgot vektorok hogy meg tudod csinálni a mutatók. 673 00:36:09,150 --> 00:36:10,480 Szóval hadd csináljam, hogy most. 674 00:36:10,480 --> 00:36:17,130 Tehát lássuk c gets-- üzembe ezt pause-- 2-szer 1-10. 675 00:36:17,130 --> 00:36:21,360 Szóval c csak lesz vektor 2-től 20. 676 00:36:21,360 --> 00:36:24,640 Tudok venni elemek, mint ez, c2. 677 00:36:24,640 --> 00:36:30,942 Azt is át egy vektor mint ez, c-- hadd 678 00:36:30,942 --> 00:36:34,470 Használja neve más, mint c, mint a VEC c. 679 00:36:34,470 --> 00:36:37,591 680 00:36:37,591 --> 00:36:39,340 Alapvetően én csinálok ez így nem kap 681 00:36:39,340 --> 00:36:45,010 összetévesztették c a vektorkonstrukció funkciót, 682 00:36:45,010 --> 00:36:48,800 majd c, mint egy változó nevét. 683 00:36:48,800 --> 00:36:53,120 Vec zárójelben C 4, 5, 7. 684 00:36:53,120 --> 00:36:56,540 Ez majd vinnie a negyedik, ötödik, és a hét elem a tömbben. 685 00:36:56,540 --> 00:37:01,740 Meg tudom csinálni VEC, tedd egy negatív index, mint a negatív 4. 686 00:37:01,740 --> 00:37:06,500 Hogy lesz nekem ezt a A negyedik elem távolítani. 687 00:37:06,500 --> 00:37:10,140 Aztán ha akartam csinálni szelet, Meg tudom csinálni vec 2-től 6. 688 00:37:10,140 --> 00:37:15,480 2 vastagbél 6 is csak egy vektor, amely a 2, 3, 4, 5, 6. 689 00:37:15,480 --> 00:37:18,230 Kiköpi ezt. 690 00:37:18,230 --> 00:37:20,770 >> Szóval egyébként, vissza mt autók. 691 00:37:20,770 --> 00:37:26,650 692 00:37:26,650 --> 00:37:28,450 Tehát lássuk néhány regressziót. 693 00:37:28,450 --> 00:37:34,240 Mondjuk modell gets-- nézzük lineárisan regress-- Nem tudom. 694 00:37:34,240 --> 00:37:41,780 Először nézzük akkor csatolja mtcars, természetesen. 695 00:37:41,780 --> 00:37:44,870 696 00:37:44,870 --> 00:38:00,010 Tehát [hallhatatlan] modell lm, nézzük visszafejlődnek mérföld per gallon a hullámvonal súlya. 697 00:38:00,010 --> 00:38:03,300 És akkor az adatok keret mtcars. 698 00:38:03,300 --> 00:38:06,830 Tehát összefoglaló modellt. 699 00:38:06,830 --> 00:38:12,900 700 00:38:12,900 --> 00:38:15,595 >> OK, így ez úgy néz ki, egy kicsit bonyolultabb. 701 00:38:15,595 --> 00:38:19,380 De alapvetően, ha azt nézzük, ha próbálom kifejezni mérföld per gallon 702 00:38:19,380 --> 00:38:23,970 mint egy lineáris függvény a súly, Aztán megkaptuk ezt a sort itt, 703 00:38:23,970 --> 00:38:28,730 amely elfogja a 37.28. 704 00:38:28,730 --> 00:38:33,830 37.28 lenne az elméleti mérföld gallononként egy autó, hogy a súlya nulla. 705 00:38:33,830 --> 00:38:41,210 És akkor minden további tonna, kopogtatni körülbelül öt mérföld per gallon 706 00:38:41,210 --> 00:38:42,440 le ezt. 707 00:38:42,440 --> 00:38:45,120 Mindkét együtthatók akkor Láthatjuk, standard hibák vannak. 708 00:38:45,120 --> 00:38:47,870 És nagyon statisztikailag szignifikáns. 709 00:38:47,870 --> 00:38:55,740 >> Így lehetünk nagyon biztos, hogy 1 E 10 negatív 10. 710 00:38:55,740 --> 00:38:59,510 Tehát 1 alkalommal valami negatív 10, hogy ha egy nehezebb autó, 711 00:38:59,510 --> 00:39:01,440 akkor rosszabb mérföld per gallon. 712 00:39:01,440 --> 00:39:04,940 713 00:39:04,940 --> 00:39:07,250 Vagy tudjuk tesztelni néhány más modell. 714 00:39:07,250 --> 00:39:09,230 Mint helyett elmúlik ez a tömeg, 715 00:39:09,230 --> 00:39:12,600 nézzük visszafejlődés ez a napló a tömeg, mert talán az effektív tömeg 716 00:39:12,600 --> 00:39:15,690 A futásteljesítmény valahogy nem lineáris. 717 00:39:15,690 --> 00:39:18,540 >> Ez adott egy r-négyzete 0,7528. 718 00:39:18,540 --> 00:39:19,610 Így próbáljuk meg. 719 00:39:19,610 --> 00:39:21,485 Ezúttal Csináljuk különböző változó is. 720 00:39:21,485 --> 00:39:22,500 Model2. 721 00:39:22,500 --> 00:39:24,800 Tehát összefoglalva model2. 722 00:39:24,800 --> 00:39:28,200 723 00:39:28,200 --> 00:39:31,390 Rendben, tehát megint azt Megvan a legjobban illeszkedő vonal itt. 724 00:39:31,390 --> 00:39:36,160 És ez time-- ezt mondván: alapvetően, hogy minden alkalommal, amikor 725 00:39:36,160 --> 00:39:38,090 növeli a súlyát egy autó egy tényező e 726 00:39:38,090 --> 00:39:40,580 elveszítjük ezt a sok mérföld per gallon. 727 00:39:40,580 --> 00:39:43,210 728 00:39:43,210 --> 00:39:50,326 >> És így ez alkalommal a reziduális standard error it--, hogy nem számít, de tényleg. 729 00:39:50,326 --> 00:39:53,540 A maradék standard hiba alapvetően csak a standard hiba 730 00:39:53,540 --> 00:39:57,760 hogy már elhagyta után elvenni a trendvonal. 731 00:39:57,760 --> 00:40:02,805 És a K faragva itt 0,81, ami egy kicsit jobb, mint amit 732 00:40:02,805 --> 00:40:07,640 a miénk volt, 0,52. 733 00:40:07,640 --> 00:40:09,750 >> És így most adjunk ezt a kifejezést az regresszió. 734 00:40:09,750 --> 00:40:13,020 Úgyhogy visszafejlődnek mérföld per gallon mind a napló a súlyok 735 00:40:13,020 --> 00:40:21,130 és, csináljuk, q mérföld, negyed mérföldet időt. 736 00:40:21,130 --> 00:40:26,190 OK, akkor kell the-- rendben, qsec. 737 00:40:26,190 --> 00:40:26,690 Qsec. 738 00:40:26,690 --> 00:40:30,630 739 00:40:30,630 --> 00:40:35,000 Actually-- sajnálom, mi? 740 00:40:35,000 --> 00:40:37,000 Hadd hívjam fel ezt a valamit más mellett model2. 741 00:40:37,000 --> 00:40:38,000 Hadd hívjam fel ezt a model3. 742 00:40:38,000 --> 00:40:40,860 743 00:40:40,860 --> 00:40:42,900 És így most nem tehetünk összefoglaló model3. 744 00:40:42,900 --> 00:40:46,850 745 00:40:46,850 --> 00:40:49,100 És így ismét ez alapvetően amit várnánk. 746 00:40:49,100 --> 00:40:51,750 Van pozitív lehallgatott. 747 00:40:51,750 --> 00:40:54,550 A hatékony növekvő súly negatív. 748 00:40:54,550 --> 00:40:58,490 És a hatékony növekvő negyed mérföldet idő 749 00:40:58,490 --> 00:41:02,420 pozitív, de mégis kevésbé, mint a tömeg. 750 00:41:02,420 --> 00:41:06,010 Most intuitív, akkor van értelme a ezt azzal gondolni sportkocsik. 751 00:41:06,010 --> 00:41:08,950 Van egy nagyon gyors gyorsulás, Nagyon rövid negyed mérföld alkalommal. 752 00:41:08,950 --> 00:41:13,729 Ők is fog használni több gázt, mivel értelmesebb autók mennek 753 00:41:13,729 --> 00:41:16,020 hogy lassabb gyorsulást, magasabb negyed mérföldet alkalommal, 754 00:41:16,020 --> 00:41:20,890 és kevesebb gázt ,, így nagyobb mérföld per gallon. 755 00:41:20,890 --> 00:41:21,390 Nagy. 756 00:41:21,390 --> 00:41:23,431 És így most itt az ideje, hogy telek valami ilyesmi. 757 00:41:23,431 --> 00:41:27,810 Úgyhogy do-- így csupasz csontok tehetünk telkeket 758 00:41:27,810 --> 00:41:35,280 mert már csatolni az adatokat keretben before-- tudjuk csak megtenni telkek, tömeg mpg. 759 00:41:35,280 --> 00:41:38,762 760 00:41:38,762 --> 00:41:39,720 Legyen ez egy kicsit nagyobb. 761 00:41:39,720 --> 00:41:55,050 762 00:41:55,050 --> 00:41:57,350 Ott, akkor alapvetően egy szórásdiagramon, de a pontok 763 00:41:57,350 --> 00:41:58,690 a fajta nehéz látni ezt. 764 00:41:58,690 --> 00:42:04,860 765 00:42:04,860 --> 00:42:10,900 >> Nem emlékszem kapásból, amit a szintaxis megváltoztatására a telek. 766 00:42:10,900 --> 00:42:14,100 Szóval azt hiszem, ez lesz egy jó ideje, hogy ki, 767 00:42:14,100 --> 00:42:18,000 van egy nagyon szép beépített súgó funkciót, segítségre idézetek függvény nevét. 768 00:42:18,000 --> 00:42:21,690 Majd felnevelni alapvetően bármit, amit szeretne. 769 00:42:21,690 --> 00:42:28,010 770 00:42:28,010 --> 00:42:32,730 Azt hiszem, valójában ezt típusú egyenlő p a pontokat telkek. 771 00:42:32,730 --> 00:42:34,369 Tudta, hogy változtatni valamit? 772 00:42:34,369 --> 00:42:35,160 És nem, nem igazán. 773 00:42:35,160 --> 00:42:39,160 774 00:42:39,160 --> 00:42:39,660 Minden rendben. 775 00:42:39,660 --> 00:42:46,760 776 00:42:46,760 --> 00:42:49,580 >> Valamilyen oknál fogva, ha ezt tettem a saját számítógépén egy ideje, 777 00:42:49,580 --> 00:42:52,080 minden szórás pont sokkal világosabb. 778 00:42:52,080 --> 00:43:06,390 779 00:43:06,390 --> 00:43:13,970 Akárhogy is, a szórás mintegy látható? 780 00:43:13,970 --> 00:43:15,124 Van ott. 781 00:43:15,124 --> 00:43:16,165 Néhány ott, néhány ott. 782 00:43:16,165 --> 00:43:18,860 783 00:43:18,860 --> 00:43:21,185 Akkor egyfajta látni őket, ugye? 784 00:43:21,185 --> 00:43:24,310 Tehát ha azt akarjuk, hogy adjunk egy regressziós vonal e görbe itt, ami egy kicsit csupasz 785 00:43:24,310 --> 00:43:29,290 bones-- hadd tegyem egy kicsit szebb. 786 00:43:29,290 --> 00:43:38,075 Fő egyenlő versus súlyát. 787 00:43:38,075 --> 00:43:46,322 788 00:43:46,322 --> 00:43:49,740 Mérföld per gallon. 789 00:43:49,740 --> 00:43:53,570 Ismét láthatjuk, milyen hasznos opcionális érvek itt is 790 00:43:53,570 --> 00:43:58,090 nem kell a dolgokat egy bizonyos sorrendben billentyűzettel érvek 791 00:43:58,090 --> 00:44:01,600 ha van telkek, mert Ezek figyelembe Sok érv. 792 00:44:01,600 --> 00:44:07,490 >> Xlab egyenlő súlyt, súly, tonna. 793 00:44:07,490 --> 00:44:10,091 794 00:44:10,091 --> 00:44:10,590 Minden rendben. 795 00:44:10,590 --> 00:44:17,340 796 00:44:17,340 --> 00:44:21,480 OK, igen, ez a készülék van, hogy egy kicsit idegesítő. 797 00:44:21,480 --> 00:44:30,160 De láthatod valami ott, van egy grafikon neve az oldalon. 798 00:44:30,160 --> 00:44:35,260 Több mint itt there's-- alján Itt vannak a tengelyek feliratait. 799 00:44:35,260 --> 00:44:37,700 Nem emlékszem, hogy kapásból amit a parancsok ars-- 800 00:44:37,700 --> 00:44:41,000 mi a feladata, hogy növelje A mérete az említett címkéket és címek, 801 00:44:41,000 --> 00:44:43,110 de ott vannak. 802 00:44:43,110 --> 00:44:46,625 >> És így ha azt akarjuk, hogy adjuk hozzá a legjobban illeszkedő vonal, 803 00:44:46,625 --> 00:44:49,250 tudnánk tenni valamit az általam elvártnál I Van a szintaxis írásbeli itt. 804 00:44:49,250 --> 00:44:52,280 805 00:44:52,280 --> 00:45:11,130 Úgy emlékszem, mi csak add modell volt mpg, súly, mtcars. 806 00:45:11,130 --> 00:45:16,470 És így ha akartam adni a legjobban illeszkedő vonal, amit tehettem, b vonal modell. 807 00:45:16,470 --> 00:45:18,556 És bumm, van egy regressziós vonalat. 808 00:45:18,556 --> 00:45:19,970 Elég nehéz látni újra. 809 00:45:19,970 --> 00:45:22,178 Én nagyon sajnálom a technológiai nehézségek. 810 00:45:22,178 --> 00:45:25,230 De fut alapvetően bal felső a jobb alsó sarokban. 811 00:45:25,230 --> 00:45:27,550 >> És ha a skála voltak nagyobb, látni lehetett 812 00:45:27,550 --> 00:45:31,260 hogy a lehallgatott az, amit tudsz megtalálni a összefoglaló statisztikák 813 00:45:31,260 --> 00:45:34,790 ha beírja összefoglaló modellt. 814 00:45:34,790 --> 00:45:40,130 OK, így remélem, mindenki kap valami olyan értelemben, hogy mit 815 00:45:40,130 --> 00:45:42,030 R, mi ez jó. 816 00:45:42,030 --> 00:45:45,520 Lehet, hogy sokkal szebb, mint telkek ez a maga idejében, ha úgy tetszik. 817 00:45:45,520 --> 00:45:50,100 818 00:45:50,100 --> 00:45:53,950 >> Így a külföldi függvény felületén. 819 00:45:53,950 --> 00:46:00,330 Ez olyan dolog, ami nem tipikusan hatálya alá tartozó bevezető előadások 820 00:46:00,330 --> 00:46:03,560 vagy bevezető semmit r. 821 00:46:03,560 --> 00:46:05,584 Ez nem valószínű, fogsz szüksége van rá. 822 00:46:05,584 --> 00:46:08,000 Én azonban hasznosnak találta az saját projektek a múltban. 823 00:46:08,000 --> 00:46:10,984 És nincs jó tutorial online. 824 00:46:10,984 --> 00:46:12,900 Szóval én csak fog rohanás mindannyian ezen keresztül 825 00:46:12,900 --> 00:46:16,606 majd nyugodtan hagyja. 826 00:46:16,606 --> 00:46:18,480 És így a külföldi függvény felületén, ami 827 00:46:18,480 --> 00:46:23,130 használhatja, hogy hívja ki, hogy funkciókat tartson fenn R. Belsőleg 828 00:46:23,130 --> 00:46:29,850 R épül C. R számtani csak C 64 bites lebegőpontos aritmetikai, 829 00:46:29,850 --> 00:46:32,852 ami írja dupla [hallhatatlan]. 830 00:46:32,852 --> 00:46:35,060 És érdemes csinálni ez egy csomó oka. 831 00:46:35,060 --> 00:46:39,250 Az egyik, R értelmezik, ez Nem összeállított le gépi kódra. 832 00:46:39,250 --> 00:46:42,170 Szóval lehet átírni a belső köreiben a C, majd kap 833 00:46:42,170 --> 00:46:45,920 az előnye, hogy segítségével R. Like ez egy kicsit kényelmesebb, mint a C. 834 00:46:45,920 --> 00:46:48,899 Ez már jobb grafikus létesítmények és miegymás. 835 00:46:48,899 --> 00:46:51,690 És míg továbbra is képes, hogy végsebessége ki a belső köreiben, 836 00:46:51,690 --> 00:46:53,650 ott, ahol tényleg szükség van rá. 837 00:46:53,650 --> 00:46:56,330 >> Újrafelhasználása meglévő C könyvtárak, ez is fontos. 838 00:46:56,330 --> 00:47:00,320 Ha van egy kis C könyvtár számára, mint, Nem tudom, Fourier transzformálja, 839 00:47:00,320 --> 00:47:05,190 vagy valami nagyon Archean statisztikák alkalmazott eljárás 840 00:47:05,190 --> 00:47:09,470 A nagy energiájú asztrofizika vagy valami, nem tudom. 841 00:47:09,470 --> 00:47:13,058 Nagy energiájú asztrofizika még csak nem is gondol, azt hiszem. 842 00:47:13,058 --> 00:47:16,480 De meg tudod csinálni, hogy ahelyett, hogy írjon egy natív R-port közülük. 843 00:47:16,480 --> 00:47:22,725 És the-- és újra, mint ha nézz a legtöbb R alapértelmezett könyvtárak, 844 00:47:22,725 --> 00:47:25,600 A belső elemei, a belső tulajdonságok kívánja használni a külföldi funkció 845 00:47:25,600 --> 00:47:26,724 felület nagyon széles körben. 846 00:47:26,724 --> 00:47:31,630 Azt kell majd a dolgok, mint Fourier átalakítja vagy számítástechnikai korrelációs 847 00:47:31,630 --> 00:47:34,890 együtthatók C-ben írt, és akkor Csak ki R csomagolóanyagokat körülöttük. 848 00:47:34,890 --> 00:47:38,230 Az interfész egy kicsit nehéz. gondolom 849 00:47:38,230 --> 00:47:43,750 hogy nehézséget eltúlzott egy sok az utasításokat talál. 850 00:47:43,750 --> 00:47:46,200 De mégis, ez egy kicsit zavaró. 851 00:47:46,200 --> 00:47:48,650 És akkor még nem tudták, hogy találni egy jó tutorial érte, 852 00:47:48,650 --> 00:47:51,980 Szóval ez most. 853 00:47:51,980 --> 00:47:55,360 Ismét, ez az egész szegmens több későbbi referenciaként. 854 00:47:55,360 --> 00:47:57,687 Ne aggódj másolás mindent le most. 855 00:47:57,687 --> 00:48:00,020 Tehát a következő utasításokat a Unix-szerű rendszerek, 856 00:48:00,020 --> 00:48:05,150 Linux, BSD, OS X nem tudom hogy ez hogyan működik a Windows, 857 00:48:05,150 --> 00:48:08,280 de kérem, csak ne csináld meg A projekt végső Windows. 858 00:48:08,280 --> 00:48:10,790 859 00:48:10,790 --> 00:48:12,460 Tényleg nem akarok. 860 00:48:12,460 --> 00:48:14,770 Unix sokkal jobb meg akár alkalmi programozás. 861 00:48:14,770 --> 00:48:19,320 862 00:48:19,320 --> 00:48:21,390 Szóval, alapvetően a külföldi függvény felületén. 863 00:48:21,390 --> 00:48:24,420 Ha azt szeretnénk, hogy írjon egy C funkció használható R, 864 00:48:24,420 --> 00:48:27,250 azt, hogy tegyenek meg minden érveket mutatók. 865 00:48:27,250 --> 00:48:30,666 >> Így egyetlen értékeket, ez a azt jelenti, hogy rámutatott, hogy az értéket. 866 00:48:30,666 --> 00:48:33,040 Tömbök, ez egy mutató az első elem, amely 867 00:48:33,040 --> 00:48:36,750 amit tömb nevét jelent valójában. 868 00:48:36,750 --> 00:48:40,140 Ez megint valami, amit kellett volna csinos teljesen le után o meg öt. 869 00:48:40,140 --> 00:48:43,334 Array nevek csak pointerek hogy az első elemet, 870 00:48:43,334 --> 00:48:44,750 A lebegőpontos típusú kettős. 871 00:48:44,750 --> 00:48:47,310 És a funkció, hogy visszatérjen semmis. 872 00:48:47,310 --> 00:48:50,810 Az egyetlen módon, hogy az valójában mondani R, mi történt 873 00:48:50,810 --> 00:48:54,410 ez módosítja a memóriában, hogy a K adta hogy ez a külföldi funkció 874 00:48:54,410 --> 00:48:54,910 felület. 875 00:48:54,910 --> 00:48:58,180 876 00:48:58,180 --> 00:49:00,127 >> Szóval írtam ezt Például itt van ez 877 00:49:00,127 --> 00:49:02,460 függvényében, hogy kiszámolja használatra skalárszorzatára két vektor. 878 00:49:02,460 --> 00:49:05,060 Tart két érv, vec1, vec2, amelyek a vektorok maguk, 879 00:49:05,060 --> 00:49:06,934 majd N, amely egy hossza, mert megint 880 00:49:06,934 --> 00:49:12,630 R épített a [hallhatatlan], hogy megtudja, a hossza a vektorok, de C nem. 881 00:49:12,630 --> 00:49:16,182 A C-ben, vektorok egy tetszőleges tagolt darab memória. 882 00:49:16,182 --> 00:49:17,890 Szóval, ahogy csak lehet számítani dot termékek 883 00:49:17,890 --> 00:49:23,470 csak meg ezt a paramétert ki nullára, majd halad végig 884 00:49:23,470 --> 00:49:28,760 1 csillag n, mert n, egy mutató a hossza, 885 00:49:28,760 --> 00:49:32,929 csak adj valamit, hogy ezt ki paramétert. 886 00:49:32,929 --> 00:49:34,970 És ez lehet a helyes gyakorlat ha meg akarsz csinálni 887 00:49:34,970 --> 00:49:37,270 ezt a levelet két különböző C függvények. 888 00:49:37,270 --> 00:49:41,970 Egyikük has-- egyiket úgy érveket és típusok 889 00:49:41,970 --> 00:49:43,970 hogy azok rendes körülmények C-ben 890 00:49:43,970 --> 00:49:47,780 >> Tehát vesz egy tömbben érveket mutatók. 891 00:49:47,780 --> 00:49:57,090 De egy-érték érvek, mint n, csak úgy, mint értékeket másolatát, 892 00:49:57,090 --> 00:49:57,917 anélkül mutatók. 893 00:49:57,917 --> 00:49:59,750 És akkor nem [Hallhatatlan] ki mutatót. 894 00:49:59,750 --> 00:50:01,290 És akkor lehet egy másik, alapvetően, 895 00:50:01,290 --> 00:50:03,623 wrapper függvényt, amely alapvetően kezeli a követelményeknek 896 00:50:03,623 --> 00:50:07,740 A külföldi funkció interfész az Ön számára. 897 00:50:07,740 --> 00:50:11,840 >> Az, ahogy mondják ezt R, egyszer megvan a funkciója C-ben írt, 898 00:50:11,840 --> 00:50:17,770 beírás R cmd shlib, R parancsot megosztott könyvtár, 899 00:50:17,770 --> 00:50:20,110 ize pont c, vagy bármi A fájl neve, 900 00:50:20,110 --> 00:50:23,020 és az operációs rendszer shell nem az R terminál. 901 00:50:23,020 --> 00:50:25,200 És ez létre fog hozni egy nevű könyvtárat ize pont így. 902 00:50:25,200 --> 00:50:28,180 És akkor töltse be a script, vagy interaktív 903 00:50:28,180 --> 00:50:32,310 paranccsal din dot terhelést. 904 00:50:32,310 --> 00:50:35,720 Aztán van egy funkciója K úgynevezett dot c. 905 00:50:35,720 --> 00:50:39,310 >> Ez úgy érvekkel első a nevét a funkció C 906 00:50:39,310 --> 00:50:40,970 hogy a hívni kívánt. 907 00:50:40,970 --> 00:50:43,920 És akkor az összes paramétert hogy ezt a funkciót, 908 00:50:43,920 --> 00:50:45,420 azokat kell a megfelelő sorrendben. 909 00:50:45,420 --> 00:50:48,580 Ki kell használni az ilyen típusú kényszert funkciók, mint egész, mint 910 00:50:48,580 --> 00:50:52,050 két-, mint a karakter, és logikus. 911 00:50:52,050 --> 00:50:54,710 És akkor, amikor visszatér a listát, ami ismét csak 912 00:50:54,710 --> 00:50:57,550 társult tömb a paraméter nevét, az értékek 913 00:50:57,550 --> 00:51:00,950 miután a funkció futni. 914 00:51:00,950 --> 00:51:08,520 >> Tehát ebben az esetben, mivel a dot Prod rendelkezik érvek vec1, vec2, és int n, n ki. 915 00:51:08,520 --> 00:51:11,980 Hogy pont, c van dot Prod, A függvény neve 916 00:51:11,980 --> 00:51:16,250 mi hívsz, vec1, vec2 írja kényszerítenie. 917 00:51:16,250 --> 00:51:20,060 A hossza akár vektor, Én csak úgy döntött, vec1 önkényesen. 918 00:51:20,060 --> 00:51:25,479 Nem lenne erőteljesebb mondani s integer perc hosszúságú vec1, hossza vec2. 919 00:51:25,479 --> 00:51:27,520 Aztán ahogy dupla nulla, mert mi nem igazán 920 00:51:27,520 --> 00:51:29,644 érdekel, mi kerül a out paraméter, mert mi vagyunk 921 00:51:29,644 --> 00:51:32,270 beállítás, hogy nulla egyébként. 922 00:51:32,270 --> 00:51:37,560 >> És akkor az eredmények lesz nagy összefüggő tömb alapvetően 923 00:51:37,560 --> 00:51:42,090 vec1 van bármi, vec2 van bármi. 924 00:51:42,090 --> 00:51:44,330 De mi érdekli ki, így tudjuk, hogy ki. 925 00:51:44,330 --> 00:51:47,780 Ez ismét csak nagyon játékszer példa Egy külföldi függvény felületén. 926 00:51:47,780 --> 00:51:54,160 De ha kell, hogy számolja dot termékek tömeges vektorok hurkok, 927 00:51:54,160 --> 00:51:56,960 vagy ha meg kell csinálni valami mást a hurok, 928 00:51:56,960 --> 00:51:59,850 és nem akar támaszkodni R, amely nem rendelkezik egy kicsit a feje fölött 929 00:51:59,850 --> 00:52:02,830 beépítve, ez hasznos lehet. 930 00:52:02,830 --> 00:52:05,870 >> Ismét, ez általában nem bevezető téma R. 931 00:52:05,870 --> 00:52:08,571 Ez nem túl jól dokumentált. 932 00:52:08,571 --> 00:52:11,070 Én csak köztük, mert Én hasznosnak találták a múltban. 933 00:52:11,070 --> 00:52:13,654 Szóval, rossz gyakorlatok. 934 00:52:13,654 --> 00:52:15,820 Már említettem, hogy van egy A hurok a funkciót. 935 00:52:15,820 --> 00:52:21,150 Általában nem kellene, a A nyelv, nem használja azt. 936 00:52:21,150 --> 00:52:26,100 Alapján, hogy a K valósítja ismétlés belsőleg, lehet lassú. 937 00:52:26,100 --> 00:52:28,540 Ők csak is csúnya. 938 00:52:28,540 --> 00:52:32,410 >> R kezeli vektorok szépen, így sokszor akkor nem kell használni. 939 00:52:32,410 --> 00:52:35,050 940 00:52:35,050 --> 00:52:38,900 Akkor általában cserélje vektor gyakran 941 00:52:38,900 --> 00:52:42,490 e funkciók úgynevezett magas érdekében funkciók, térkép, csökkentése, 942 00:52:42,490 --> 00:52:44,404 Keresse meg, vagy a szűrő. 943 00:52:44,404 --> 00:52:46,320 Én csak ad némi példa, hogy mi ezeket csinálni. 944 00:52:46,320 --> 00:52:49,957 Térkép egy magasabb rendű függvény, mert tart egy funkciót érvként. 945 00:52:49,957 --> 00:52:52,290 Szóval lehet, hogy ez egy funkciót, akkor adjon meg egy tömb, 946 00:52:52,290 --> 00:52:54,640 és ezt alkalmazza a funkciót minden eleme a tömb 947 00:52:54,640 --> 00:52:55,681 és visszatér az új tömb. 948 00:52:55,681 --> 00:52:58,035 949 00:52:58,035 --> 00:53:00,160 Csökkentse, alapvetően adsz ez egy tömb, akkor add 950 00:53:00,160 --> 00:53:02,930 olyan funkció, amely két paramétert. 951 00:53:02,930 --> 00:53:07,100 Ez vonatkozik a funkció első, a első érv néhány starter értéket. 952 00:53:07,100 --> 00:53:09,440 Aztán, hogy ez az eredmény a második. 953 00:53:09,440 --> 00:53:12,590 Aztán, hogy ez az eredmény a harmadik, majd ezt az eredményt a negyedik. 954 00:53:12,590 --> 00:53:14,870 És akkor tér vissza, ha ez lesz a vége. 955 00:53:14,870 --> 00:53:17,620 Így például, ha azt szeretnénk, hogy kiszámítja az összeg az összes elemet 956 00:53:17,620 --> 00:53:23,240 egy tömbben, mint amit nevezhetünk csökkentésére Az [hallhatatlan] csökkentse kiegészítés 957 00:53:23,240 --> 00:53:26,620 funkciót, mint a funkcionális a, b, visszatér egy plusz b. 958 00:53:26,620 --> 00:53:28,960 És akkor indul a 0 érték. 959 00:53:28,960 --> 00:53:32,950 >> És mindezek, megtalálja őket leírt R dokumentációt, 960 00:53:32,950 --> 00:53:35,720 minden tankönyv funkcionális programozás. 961 00:53:35,720 --> 00:53:38,330 Van még ilyen osztályba feladatkörök alkalmazni funkciók, 962 00:53:38,330 --> 00:53:42,807 amit nem-- ők egy kicsit nehéz megmagyarázni, 963 00:53:42,807 --> 00:53:45,640 de ha megnézed az [hallhatatlan] lefoglalt, hogy én idézett elején, 964 00:53:45,640 --> 00:53:48,615 magyarázza őket elég jól a függelékben a K programozás. 965 00:53:48,615 --> 00:53:51,599 966 00:53:51,599 --> 00:53:53,390 Többet gyakorlatok, mellékelik a vektorok. 967 00:53:53,390 --> 00:53:57,570 968 00:53:57,570 --> 00:53:58,070 Igen? 969 00:53:58,070 --> 00:54:01,651 970 00:54:01,651 --> 00:54:02,900 Azt hiszem, meg kell kijavítani, hogy. 971 00:54:02,900 --> 00:54:07,450 Ebben az első sorban, a VEC nyíl, hogy nyíl nem kellene ott lennie. 972 00:54:07,450 --> 00:54:10,920 Meg lehet rendelni egy vektor, Ugyanígy az, hogy a hossza, plusz 1 973 00:54:10,920 --> 00:54:13,220 és bízzák bizonyos értéket, hogy. 974 00:54:13,220 --> 00:54:18,970 Hogy meghosszabbítja a vektoros, vagy tehetünk VEC egyenlők c, VEC newValue. 975 00:54:18,970 --> 00:54:21,540 Ismét, ha használja C Egy érv, mint egy vektor, 976 00:54:21,540 --> 00:54:23,300 A kapott hierarhia lapított. 977 00:54:23,300 --> 00:54:27,160 Szóval akkor csak kap egy vektor ami meghosszabbítható 1. 978 00:54:27,160 --> 00:54:30,410 Soha ne csináld ezt. 979 00:54:30,410 --> 00:54:33,330 >> Az ok, hogy miért nem kéne ezt ez. 980 00:54:33,330 --> 00:54:37,430 Ha hozzárendel egy vektor, akkor ad neki egy bizonyos darab memória. 981 00:54:37,430 --> 00:54:40,680 Ha növeli a vektor méretét, azt lehet elosztani a vektor 982 00:54:40,680 --> 00:54:43,820 valahol máshol. 983 00:54:43,820 --> 00:54:46,980 És így átcsoportosítását elég drága. 984 00:54:46,980 --> 00:54:50,530 Nem megyek bele a részletekbe, hogyan memória foglaló végrehajtják 985 00:54:50,530 --> 00:54:57,280 A operációs rendszer szintjén, de tart sok időt 986 00:54:57,280 --> 00:54:58,962 találni egy új darab a memóriát. 987 00:54:58,962 --> 00:55:00,920 És azt is, ha átcsoportosításának sok-sok 988 00:55:00,920 --> 00:55:03,500 A fokozatosan nagyobb darabokat, akkor a végén 989 00:55:03,500 --> 00:55:06,420 egy úgynevezett memória töredezettség, 990 00:55:06,420 --> 00:55:09,390 ahol a rendelkezésre álló memória osztva sok kis blokkok 991 00:55:09,390 --> 00:55:11,500 a memóriában allokátornak szempontból. 992 00:55:11,500 --> 00:55:15,340 És ez egyre nehezebb és nehezebb találni memória más dolog. 993 00:55:15,340 --> 00:55:19,455 Tehát ahelyett, ha szüksége van erre, ha meg kell nőni a vektoros egyik végétől 994 00:55:19,455 --> 00:55:24,240 hogy a következő, ahelyett appending hozzá Folyamatosan, akkor előre lefoglalni azt. 995 00:55:24,240 --> 00:55:29,310 VEC nyíl, vektor hosszát egyenlő 1000, vagy bármi más. 996 00:55:29,310 --> 00:55:33,200 >> És akkor csak rendelni A vektoros értékek egyike 997 00:55:33,200 --> 00:55:36,000 Egy idő után már kiosztott egyszer. 998 00:55:36,000 --> 00:55:40,140 Belefutottam Ez megint az én nyári munka amikor írtam NRA eltérés 999 00:55:40,140 --> 00:55:42,120 egyenlet megoldó. 1000 00:55:42,120 --> 00:55:43,180 Nem szimbolikus numerikus. 1001 00:55:43,180 --> 00:55:49,290 Az elképzelés az, hogy ha egyszer már Egy érték a megoldást, 1002 00:55:49,290 --> 00:55:51,240 használja, hogy számítani a következő egy. 1003 00:55:51,240 --> 00:55:53,700 Szóval a természetes naiv hajlott mondani OK, 1004 00:55:53,700 --> 00:55:56,930 úgyhogy kezdeni egy vektor ez egy jelentős értéket. 1005 00:55:56,930 --> 00:56:01,260 Számoljuk-re, hogy a következő érték hogy megy rá a megoldást vektor, 1006 00:56:01,260 --> 00:56:02,630 és hozzáfűzni, hogy. 1007 00:56:02,630 --> 00:56:05,290 >> Hozzon létre valami mást, hozzáfűzni, hogy. 1008 00:56:05,290 --> 00:56:08,120 Úgy ment nagyon, nagyon lassan. 1009 00:56:08,120 --> 00:56:11,540 És ha egyszer rájöttem, hogy ez és megváltozott a rendszer 1010 00:56:11,540 --> 00:56:16,020 ettől mellékelik az e vektor mint 10.000-től 100.000-szer, 1011 00:56:16,020 --> 00:56:18,910 hogy csak előre lefoglal egy vektor és csak fut vele. 1012 00:56:18,910 --> 00:56:22,100 Kaptam több mint 1000-szeres sebességgel felfelé. 1013 00:56:22,100 --> 00:56:26,280 Tehát ez egy nagyon gyakori csapda R programozási. 1014 00:56:26,280 --> 00:56:31,560 Ha fel kell építeni egy vektor apránként, előre kell osztaniuk azt. 1015 00:56:31,560 --> 00:56:35,360 1016 00:56:35,360 --> 00:56:40,240 >> Egy másik gyakori utazás up-- ez az utolsó csúszda, ne worry-- van hibakezelés. 1017 00:56:40,240 --> 00:56:42,890 R, hogy őszinte legyek, nem Tényleg ezt nagyon jól. 1018 00:56:42,890 --> 00:56:45,010 Van egy csomó problémákat, amelyek felbukkannak. 1019 00:56:45,010 --> 00:56:48,360 Például, ha kap egy tömböt vagy vektort ki egy funkciót 1020 00:56:48,360 --> 00:56:52,377 hogy várta egyetlen értéket származik, vagy fordítva, 1021 00:56:52,377 --> 00:56:55,460 és adja át, hogy egy függvény, amely Azt írtad vár egyetlen érték, 1022 00:56:55,460 --> 00:56:57,270 hogy lehet egy probléma. 1023 00:56:57,270 --> 00:57:01,440 >> Bizonyos funkciók null értéket ad vissza, mint csinálni, mondjuk, 1024 00:57:01,440 --> 00:57:05,560 olvasni a nem létező kulcsot listáját. 1025 00:57:05,560 --> 00:57:08,527 De null nem olyan, mint a C ahol, ha megpróbálja olvasni 1026 00:57:08,527 --> 00:57:11,360 Egy régi mutatót, [hallhatatlan] null pointer, csak seg hibák 1027 00:57:11,360 --> 00:57:14,109 és ha te vagy a debugger is megmondja, hogy pontosan hol van. 1028 00:57:14,109 --> 00:57:17,080 1029 00:57:17,080 --> 00:57:20,772 Ehelyett null lesz do-- funkciók fog tenni kiszámíthatatlan dolgokat 1030 00:57:20,772 --> 00:57:21,730 ha ők kézzel null. 1031 00:57:21,730 --> 00:57:24,575 Mint ha átadta max null, ez kapsz negatív végtelen. 1032 00:57:24,575 --> 00:57:27,230 1033 00:57:27,230 --> 00:57:28,190 És igen, igen. 1034 00:57:28,190 --> 00:57:30,880 1035 00:57:30,880 --> 00:57:32,630 És így történt ez nekem egyszer, mikor volt 1036 00:57:32,630 --> 00:57:34,771 megváltozott egy csomó mezők listámon szerkezete 1037 00:57:34,771 --> 00:57:37,520 Egyszer megváltoztatása nélkül máshol amikor olvastam tőlük. 1038 00:57:37,520 --> 00:57:40,670 És akkor kaptam mindenféle random végtelenig eredmények felbukkannak 1039 00:57:40,670 --> 00:57:43,080 és én fogalmam sincs, honnan jöttek. 1040 00:57:43,080 --> 00:57:45,310 És sajnos, van nincs igazi R szigorú mód 1041 00:57:45,310 --> 00:57:48,940 ahol azt mondják, ha valamit néz ki, hogy lehet, hogy hiba, 1042 00:57:48,940 --> 00:57:51,960 csak megáll ott, úgyhogy lehet fegyelmezett és javítani. 1043 00:57:51,960 --> 00:57:55,282 1044 00:57:55,282 --> 00:57:57,240 Van azonban valami nevű megállója, ha nem. 1045 00:57:57,240 --> 00:58:00,480 Ez egyenértékű a C- szemével, ha már beszéltünk erről. 1046 00:58:00,480 --> 00:58:02,690 Nem hiszem, hogy a C érvényesíteni egy előadás a témában, 1047 00:58:02,690 --> 00:58:06,370 de a szekciójának vezetője talán mégis rajta. 1048 00:58:06,370 --> 00:58:10,393 És megáll, ha alapvetően nem vesz semmilyen állítmány, így minden olyan nyilatkozat, 1049 00:58:10,393 --> 00:58:11,824 lehet igaz vagy hamis. 1050 00:58:11,824 --> 00:58:13,490 És ha ez hamis, akkor leállítja a programot. 1051 00:58:13,490 --> 00:58:18,260 Azt mondja, hogy pontosan mit vonalat voltak, és milyen állapotban sikerült. 1052 00:58:18,260 --> 00:58:21,910 >> És ez nagyon hasznos, például, józanság ellenőrzése, a funkció bemeneteket. 1053 00:58:21,910 --> 00:58:25,110 Tehát ha van egy függvény és vársz, mondjuk, 1054 00:58:25,110 --> 00:58:29,640 ha kell, adj egy időpontra, azt akarom, a dátumok csak egy vektor hossza 1 1055 00:58:29,640 --> 00:58:31,735 és valahol 1 és 31 között. 1056 00:58:31,735 --> 00:58:34,420 1057 00:58:34,420 --> 00:58:36,170 És ha nem, tudom, valami rosszul sült. 1058 00:58:36,170 --> 00:58:40,280 És én úgy dönt, hogy megáll ott, mielőtt ezt a van random kopogás hatásokat kód 1059 00:58:40,280 --> 00:58:44,190 hogy nehezebb nyomon követni rajta. 1060 00:58:44,190 --> 00:58:47,170 Szóval ez az egyik lehetséges használja a leállítás, ha nem. 1061 00:58:47,170 --> 00:58:48,660 >> Akárhogy is, az OK gombra. 1062 00:58:48,660 --> 00:58:49,690 Szóval itt a vége. 1063 00:58:49,690 --> 00:58:51,290 Köszönöm, hogy eljöttek. 1064 00:58:51,290 --> 00:58:53,710 Én egy rangot amatőr ebben. 1065 00:58:53,710 --> 00:58:57,270 Szóval sajnálom, ha unatkozik, vagy zavaros, vagy mit. 1066 00:58:57,270 --> 00:59:01,670 Örülök, hogy kérdéseket e-mailben A connorharris@college.harvard.edu. 1067 00:59:01,670 --> 00:59:07,230 Ez megy is mindenki számára nézi ezt élő vagy később. 1068 00:59:07,230 --> 00:59:10,190 Továbbá, bár nem vagyok TF, én is nagyon 1069 00:59:10,190 --> 00:59:13,900 hajlandó szolgálni mint egy nem hivatalos tanácsadója bárki, aki 1070 00:59:13,900 --> 00:59:15,460 felhasználásával R a végleges projekt. 1071 00:59:15,460 --> 00:59:19,900 >> Ha azt szeretné, hogy, hogy, akkor csak beszélni a TF 1072 00:59:19,900 --> 00:59:23,750 majd írj nekem egy e-mailt, így Tudom, mit dolgozik 1073 00:59:23,750 --> 00:59:26,680 és így tudok létrehozni találkozó szor veled, ha akarod. 1074 00:59:26,680 --> 00:59:27,990 Tehát újra, nagyon szépen köszönöm. 1075 00:59:27,990 --> 00:59:28,960 Remélem élveztem. 1076 00:59:28,960 --> 00:59:29,450 >> Közönség: [hallható]. 1077 00:59:29,450 --> 00:59:30,617 >> Conner HARRIS: Természetesen. 1078 00:59:30,617 --> 00:59:34,910 >> Közönség: Miféle projekt lenne egy CS tanuló használjon R? 1079 00:59:34,910 --> 00:59:37,427 1080 00:59:37,427 --> 00:59:40,510 Conner HARRIS: Tehát ha nem valamit, ami pusztán az adatbányászat, 1081 00:59:40,510 --> 00:59:43,790 például, és ott nagyon sok dolog 1082 00:59:43,790 --> 00:59:46,692 meg tudná csinálni, hogy az adatokat bányászat és a gépi tanulás. 1083 00:59:46,692 --> 00:59:48,900 Érdemes használni R komponense valamit. 1084 00:59:48,900 --> 00:59:52,022 Én hoztam ki, eredetileg, a példa Az, ha írsz egy weboldal 1085 00:59:52,022 --> 00:59:54,730 és szeretné futtatni automatizált statisztikai elemzése a szerver 1086 00:59:54,730 --> 00:59:57,990 naplók egy bizonyos idő minden nap, hogy lehet valamit, ami 1087 00:59:57,990 --> 01:00:01,260 nagyon könnyű csinálni, mindössze egy rövid R script, akkor a menetrend 1088 01:00:01,260 --> 01:00:04,200 futtatni minden este, például. 1089 01:00:04,200 --> 01:00:06,550 >> És biztos vagyok benne, ha van valami oka, hogy azt 1090 01:00:06,550 --> 01:00:11,520 Szeretné statisztikák vagy grafikus képességekkel és ez a futam helyett automatikusan 1091 01:00:11,520 --> 01:00:13,790 annak, hogy kölcsönhatásba lépnek A dolgok az Excel, 1092 01:00:13,790 --> 01:00:16,750 például, hogy valami érdemes használni R. 1093 01:00:16,750 --> 01:00:21,190 Tehát még kérdésed, mielőtt elmegyek? 1094 01:00:21,190 --> 01:00:21,690 Nem? 1095 01:00:21,690 --> 01:00:24,960 Rendben, újra, köszönöm Nagyon szépen, hogy eljöttek. 1096 01:00:24,960 --> 01:00:29,417