[Hudba hrať] DUSTIN TRAN: Ahoj. Volám sa Dustin. Takže budem prezentovať Analýza dát v R. Len niečo málo o sebe. Ja som v súčasnej dobe študentom strojárstvo a aplikovaných vied. Študujem prienik strojové učenie a štatistiky tak Analýza dát v R je Naozaj zásadný pre to, čo Ja na dennej báze. A R je zvlášť dobré pre analýzu dát pretože je to veľmi dobré pre prototypovania. A zvyčajne, keď robíte nejaký analýzy dát, veľa problémov budú kognitívne. A tak si len chcete mať nejaký naozaj dobrý jazyk, ktorý je len dobre pre to vstavaných funkcií, na rozdiel sa museli vysporiadať s nízkymi vecami úrovne. Takže na začiatku, ja som jednoducho ísť predstaviť, čo je R, by preto Ak ho chcete použiť, a potom prejsť do nejakej demo, a len ďalej od toho. Takže to, čo je R? R je len jazyk sa vyvíjal pre štatistické výpočty a vizualizácie. Takže to, čo to znamená, že je to veľmi výborný jazyk pre nejaký druh vec, ktorá sa zaoberá neistota alebo vizualizácia dát. Takže budete mať všetky tieto rozdelenia pravdepodobnosti. Tam sa bude vstavaných funkcií. Budete mať tiež vynikajúce vykresľovanie balíčky. Python je ďalší konkurenčný jazyka pre dáta. A ešte jedna vec, ktorú som si, že R je oveľa lepšie je vizualizácia. Takže to, čo uvidíte v ukážke, ako dobre, je len veľmi intuitívne jazyk že proste funguje veľmi dobre. To je tiež zadarmo a open source, as Je nejaký iný dobrý jazyk, myslím. A tu, banda len kľúčové slová hodil na vás. Je to dynamický, čo znamená, ak máte Špecifický typ priradený k objektu než to bude len to zmeniť za behu. Je to lenivý, takže je to chytro Ako to robí výpočty. Funkčné čo znamená, že môže skutočne fungovať založený off funkcií tak anything-- nejaký druh manipulácie ste robí, bude založený vypnutie. Tak binárne operátory, napríklad, sú proste neodmysliteľne funkcie. A všetko, čo budete robiť, je bude utiecť funkcie sám. A potom objektovo orientované rovnako. Takže tu je XKCD sprisahania. Nielen preto, že mám pocit, ako XKCD je základom akéhokoľvek druhu prezentácie, ale preto, že Mám pocit, že to naozaj kladivá upozorňuje, že mnoho Doba, kedy robíte nejaký údajov analýza, nie je problém tak moc, ako rýchlo beží, ale ako dlho to bude vás programovať úloha. Tak tu je práve analyzuje, či Stratégia a alebo b je účinnejšia. To bude niečo, čo ste bude zaoberať veľa sa v Druh jazyky low-level kde máte čo do činenia s Seg porúch, alokácia pamäte, inicializácia, aj zhotovenie vstavaných funkcií. A toto všetko je nakladané veľmi, veľmi elegantne v R. Takže len ku kladive to bod, najväčšou prekážkou bude poznávacie. Takže analýza dát je veľmi ťažké problém. Či už robíte strojové učenie alebo ste robí len nejaký druh základný prieskum dát, nechcete mať aby dokument a potom kompilovať niečo, čo pri každom Chcete vidieť, čo stĺpec vyzerá, aké konkrétne položky v matrici vyzerá. Takže si len chcete mať niektoré naozaj pekné rozhranie môžete spustiť jednoduchú funkciu že indexy na čokoľvek chcete a len spustiť odtiaľ. A budete potrebovať doménu konkrétne jazyky pre to. A R bude naozaj pomôže definovať problém a vyriešiť týmto spôsobom. Takže tu je graf ukazujúci programovanie Obľuba R, ako je to preč v priebehu času. Takže ako vidíte, rovnako ako 2013, alebo tak to jednoducho vyhodiť do povetria ohromne. A to bolo len preto, že z toho obrovský trend v odvetví technológií o spracovanie veľkých objemov dát. Tiež, a to nielen technológie priemysel, ale v skutočnosti akýkoľvek priemysel that-- pretože Mnoho priemyselných odvetví sú trochu zásadné pre sa snažia tieto problémy riešiť. A zvyčajne, môžete mať nejaké dobré spôsob merania týchto problémov alebo je dokonca definovanie alebo riešenie je pomocou dát. Takže myslím, že teraz je R 11. najpopulárnejší jazyk na TIOBE a to bolo od tej doby rastie. Tak tu je to trochu viac rysy R. má enormný počet balení a pre všetky tieto rôzne veci. Takže kedykoľvek budete mať Určitým problémom, väčšina čas R bude mať že funkcia pre vás. Takže ak chcete budovať akési stroje učenie algoritmus nazvaný Random Forest alebo rozhodovacie stromy, alebo dokonca sa snažia vziať priemer funkcií alebo niektorý z týchto vecí, R bude mať to. A ak si budete záleží optimalizácia, jedna vec, ktorá je spoločná sa, že potom, čo ste urobil prototypov nejaký druh jazyka na vysokej úrovni, vám bude hodiť, že in-- budete len port, cez do určitej jazyk nízkej úrovne. Čo je dobré o výskume je, že akonáhle ste urobil prototyping, môžete spustiť C ++, alebo Fortran, alebo niektorý z nich tie nižšie úrovne priamo do R. Tak to je jedna naozaj zaujímavé funkcie o R, ak vám naozaj záleží optimalizácia bod. A to je tiež veľmi dobrý pre webové vizualizácie. Tak D3.js, napríklad, je Myslím, že ďalšie seminár že sme predstavili dnes. A to je naozaj úžasné pre robí interaktívne vizualizácie. A D3.js predpokladá, že máte nejaký druh údajov, ktoré budú vynesené a R je skvelý spôsob, ako byť schopný robiť analýza dát, než ju exportovať sa k D3.js, alebo dokonca len spustiť D3.js príkazy do R sám, rovnako ako všetky tieto ďalšie knižnice tiež. Takže to bol práve zavedenie čo je R a prečo ho mohol použiť. Tak dúfajme, že som presvedčený o tom, niečo ti asi len sa snaží zistiť, čo to je. Takže budem pokračovať a prejsť Niektoré základy o R objektov a to, čo naozaj môžete urobiť. Takže tu je len banda príkazov matematických. Takže hovoriť you're-- chcete vytvoriť Jazyk sami a chcete len mať veľa rôznych nástrojov. Akýkoľvek druh prevádzky si myslíte, že by ste chcem, je do značnej miery bude v R. Takže tu je 2 plus 2. Tu je 2 krát pi. R má veľa vstavaných konštánt že budete často používať ako Pi, e. A potom, tu je 7 a runif, takže runif z 1. To je funkcia, ktorá je generuje jeden náhodný jednotný od 0 do 1. A potom je tu 3 k sile 4. Je tu druhé odmocniny. Tam je log. Takže log bude robiť základňu exponenciálny sama o sebe. A potom, ak zadáte základňu, potom si môžete robiť, čo chcete, základňa. A potom tu sú niektoré ďalšie príkazy. Takže máte 23 mod 2. Potom máte zvyšok. Potom máte vedecký notácie pokiaľ zároveň chcete urobiť len viac a zložitejšie veci. Takže tu je úloha. Takže typické úlohy v R sa vykonáva s šípkou tak je to menej ako, a potom pomlčka. Tak tu som len prideľovanie 3 k premennej val. A potom som tlač val a potom sa vytlačí tri. V predvolenom nastavení v R interpret, vytlačí, čo pre vás takže nemusíte zadať tlač val kedykoľvek budete chcieť niečo vytlačiť. Stačí si len urobiť val a potom to urobí za vás. Tiež môžete použiť rovná technicky ako operátor priradenia. K dispozícii sú malé nuansy Medzi pomocou šípky Prevádzkovateľ a rovná sa pohon pre úlohy. Väčšinou konvencií, každý bude len používať operátor šípky. A tu, ja to priraďovanie šikmý zápis hovorí 1 dvojbodka 6. To vytvára vektor 1-6. A to naozaj pekné, pretože potom stačí priradiť vektor Val a ktorý pracuje sám. Tak to už bude z single-- veľmi intuitívne údaje štruktúra len dvojnásobok nejaký druh druhu do vektora a ktorý sa bude zhromažďovať všetky skalárne hodnoty pre vás. Takže potom, čo šiel z skalárne, vy majú predmety R, a to je vektor. Vektor je nejaký druh kolekcia rovnakého typu. Tak tu je banda vektorov. Tak toto je číselný. Číselný je R spôsob, ako povedať double. A tak v predvolenom nastavení, akýkoľvek Číslo bude double. Takže ak máte c 1,1, 3, negatívne 5.7, c je funkcia. To zřetězuje všetky tri Čísla do vektora. A to bude be-- takže ak zistíte, 3 sama o sebe, Normálne by sa predpokladať, že to je ako celé číslo, ale preto, že všetkých vektorov sú rovnakého typu, to je vektor štvorhier alebo číselný v tomto prípade. RNorm je funkcia, ktorá generuje Štandardné normálne variables-- alebo štandardné normálne hodnoty. A ja s uvedením dvaja z nich. Takže robím RNorm 2, priraďovanie, že pre vývojári, a potom som tlač DEVS. Tak to sú len dve náhodné normálne hodnoty. A potom Ints, ak nemáte vám záleží na celé čísla. Takže je to len o pamäti alokácia a ukladanie veľkosť pamäte. Takže budete musieť pripojiť Vaše čísla od hlavného mesta L. Všeobecne platí, že sa jedná Historickej notácie R: za niečo, čo nazýva long integer. Takže väčšinu času, budete sa zaoberajú zdvojnásobí. A ak ste niekedy bude neskôr na optimalizáciu kódu, stačí pridať tieto L's neskôr alebo v jeho priebehu ak ste ako precognitive o tom, čo budete robiť tieto premenné. Takže tu je znak vektor. Takže, ešte raz, ja som zreťazenie Tri reťazca tentoraz. Všimnite si, že dvojité reťazca a Jednotlivé reťazce sú rovnaké v R. Tak som sa Arthur a Marvin, a tak keď som tlače to, všetci z nich ukážeme dvojité reťazca. A ak chcete tiež zahrnúť jedno- alebo reťazec vo svojej postavy, potom môžete buď striedajú struny. Tak marvin je pre druhý prvok, to je ťa show-- Len majú dvojité reťazce a potom jeden reťazec Tak toto je striedavý. V opačnom prípade, ak chcete použiť double operátor reťazec v dvojlôžkovej reťazci keď ste ju vyhlási, potom stačí použiť operátor uniknúť. Takže si urobiť spätné lomítko dvojité reťazec. A konečne sme tiež majú logické vektorov. Tak logical-- tak TRUE a FALSE, a oni sú Bude všetky písmená. A potom ešte raz, ja som zreťazenie je a potom ich priradenie bools. Takže bools sa chystá ukázať tie TRUE, FALSE, a TRUE. Takže tu je vectorized indexovanie. Takže na začiatku som beriem na function-- tomu sa hovorí sequence-- Sekvencie od 2 do 12. A ja beriem sekvenciu o 2. Takže to bude robiť 2, 4, 6, 8, 10 a 12. A potom, ja som indexovanie získať tretí prvok. Takže jedna vec je mať na pamäti, je že R indexy od 1. Takže odstupoch 3 sa chystá dať tie tretie element. To je trochu odlišný od iných jazykov, kde sa začína od nuly. Takže v C alebo C ++, napríklad, že ste dostane štvrtý prvok. A tu je vals 3-5. Takže jedna vec, ktorá je naozaj cool je, že vás môže vytvárať dočasné premenné vnútri a potom stačí použiť je na čase. Takže tu je 3 až 5. Takže som generovanie vektor 3, 4, a 5 a potom Som indexovanie dostať tretinu, Štvrtý a piaty prvky. Takže podobne, môžete abstract to proste robiť nejaký druh vektora že vám dáva indexovanie. Takže tu je Vals a potom Prvý, tretí a šiesty prvky. A potom, ak chcete robiť doplnok, takže stačí urobiť mínus potom a že bude vám všetko, čo nie je prvý, tretí, alebo šiesty prvok. Takže to bude 4, 8, a 10. A ak chcete získať ešte pokročilejšie, môžete zřetězit logických vektorov. Takže tento index sa chystá dať vám tento Boolean vektor dĺžky 6. Takže rep TRUE čiarka 3. To sa bude opakovať TRUE trikrát. Tak to vám dá vektor TRUE, TRUE, TRUE. rep FALSE 4-- to bude tak, aby vám vektor FALSE, FALSE, FALSE, FALSE. A potom c bude zřetězit tieto dve Booleans dohromady. Takže budete dostať tri Trues a potom štyri FALSEs. Takže, keď sa index Vals, že ste dostane TRUE, TRUE, TRUE. Takže to bude hovoriť áno, Chcem tie tri prvky. A potom FALSE, FALSE, FALSE, FALSE sa deje povedať nie, nechcem tieto prvky takže to nebude ich vrátiť. A myslím, že je to vlastne preklep tu pretože to hovorí repeat TRUE 3 a opakovať FALSE 4, a technicky, vás mať iba šesť prvkov tak opakovať FALSE, to by malo byť opakovať FALSE 3. Myslím si, že R je tiež dosť, ako inteligentný že ak ste práve určiť 4 tu, a potom nebude ani chyba von. To bude len vám túto hodnotu. Tak to si jednoducho ignorovať skutočnosť, že Štvrtá FALSE. Takže tu je vectorized úloha. Takže set.seed-- to len nastaví osivo pre pseudonáhodných čísel. Takže som nastaviť semeno do 42, čo znamená, že keď som vytvárať Tri náhodný normálne hodnoty, a potom, ak vás spustiť set.seed na vlastnú päsť počítač používa rovnakú hodnotu 42, potom môžete tiež získať Rovnaké tri náhodné normály. Tak toto je fakt dobrý reprodukovateľnosti. Zvyčajne, keď robíte nejaký druh vedeckej analýzy, budete chcieť nastaviť semeno. Tak iní vedci môžu len reprodukovať presne rovnaký kód, ktorý ste dané tým, že budú mať presný Rovnaké náhodnej veličiny that-- alebo náhodné hodnoty, ktoré ste si vzal von tiež. A tak vectorized priradenie Tu sa ukazuje Vals 1-2. Tak to trvá prvé dva prvky Vals a potom priradí 0. A potom sa môžete tiež len robiť Podobná vec sa s Boolean. Takže vals nerovná 0-- to bude vám vektorový FALSE, FALSE, TRUE v tomto prípade. A potom, že to bude hovoriť akýkoľvek z tých indexov to bola pravda, potom to bude priradiť, že pre 5. Tak to trvá tretí element tu a potom ju priradí 5. A to je naozaj pekný v porovnaní s low-level jazyky kde budete musieť použiť na slučky robiť všetky tieto veci vectorized pretože je to len veľmi intuitívne a to je jeden one-liner. A čo je skvelé vectorized notácie je to, že v oblasti výskumu, to sú akési zabudovaný tak, že sú takmer rovnako rýchlo ako robí v jazyku nízkej úrovne as protichodný k tomu, že pre vedenie v R a potom musel to urobiť dynamický indexovanie sám. A že to bude pomalšie, než robiť tento druh vectorized veci kde to môže robiť to paralelne, kde to robí to v podstate závitov. Tak tu je vektorových operácií. Takže som generovanie hodnoty 1-3, priradenie, že pre vec1, 3 až 5, vec2, sčítať je. Dodáva im komponentov múdry tak to je 1 plus 3, 2 plus 4, a tak ďalej. vec1 časy vec2. To násobí dve hodnoty komponenty múdry. Takže je to 1 krát 3, 2 krát 4, a potom 3 krát 5. A potom, podobne môžete robiť comparisons-- logické porovnanie. Takže je to false false TRUE v tomto prípad, pretože 1 nie je vyššia ako 3, 2 nie je väčší ako 4. To je, myslím, že ďalšie preklep, 3 rozhodne nie je väčší ako 5. Jo. A tak si môžete len urobiť všetko Tieto jednoduché operácie pretože ich zdedené od samotných tried. Takže to bol len vektor. A to je tak nejako najzásadnejšie R objekt, pretože daný vektor, si môžete postaviť pokročilejšie objekty. Tak tu je matica. To je v podstate abstrakcie o tom, čo matice je sama o sebe. Takže v tomto prípade, je to tri rôzne vektory, kde každý z nich je stĺpec, alebo si môžete uvažovať pretože každý z nich je rad. Takže som uloženie matice od 1 do 9 a potom ja s uvedením 3 riadky. Takže 1-9 vám vektor 1, 2, 3, 4, 5, 6, a až do 9. Jedna vec je mať na pamäti, že R ukladá hodnoty vo formáte stĺpci-major. Takže inými slovami, keď vidíte 1 9, že to bude ukladať them-- to bude 1, 2, 3. miesto v prvom stĺpci, a potom to urobím 4, 5, 6 v druhom stĺpci, a potom 7, 8, 9 v treťom stĺpci. A tu sú niektoré ďalšie bežné funkcie, ktoré môžete použiť. Takže dim mat, to vám dá rozmery matrice. Bude to vrátite vektor dimenzie. Takže v tomto prípade, pretože Naša matica je 3 o 3, to bude vám numerický vektor, ktorý je 3 3. A tu sa práve ukazuje násobenie matíc. Takže väčšinou, ak ste práve robiť asterisk-- tak mat hviezdička mat-- to bude komponentov, múdry prevádzku alebo to, čo sa nazýva produkt Hadamard. Takže to bude robiť každý element komponentov-múdry. Avšak, ak chcete matice multiplication-- tak vynásobením prvý časy riadok Prvý stĺpec druhej tabuľky sa a tak on--, mali by ste použiť toto percento operácie. A t mat je len Prevádzka na premiestniť. Takže hovorím vziať premiestniť do matice, násobiť ju matricu sám. A potom, že to bude vrátiť sa k vám ďalšie 3 o 3 Nasledujúca tabuľka znázorňuje produkt by ste chceli. A tak, aby bola matica. Tu je to, čo sa nazýva dátový rámec. Rám údaje si môžete myslieť as matice, ale každý stĺpec sám bude iného typu. Takže to, čo je naozaj v pohode o dátach Rámy je, že v analýze dát samotnej, budete mať všetko heterogénne dáta a všetky tieto skutočnosti chaotický vecí, kde každý zo stĺpcov samy o sebe môžu byť rôznych typov. Tak tu hovorím vytvoriť Údaje rám, robiť celých čísel od 1 do 3, a potom majú tiež charakter vektor. Takže môžem index cez Každý z týchto stĺpcov a potom budem si sami hodnoty. A môžete si tiež urobiť nejakú o prevádzke na dátových rámcov. A väčšina z doby, kedy ste robí analýzu dát, alebo nejakú predbežného spracovania, budete práca s týmito dátovými štruktúrami kde každý stĺpec sa deje byť iného typu. A konečne, takže tieto sú v podstate len štyri základné objekty v R. Zoznam bude len zbierať akýkoľvek iné objekty, ktoré chcete. Tak to bude ukladať to do jedného premenné, ktoré možno ľahko otvoriť. Tak tu, beriem zoznam. Hovorím, že veci sa rovná 3. Takže budem mať jeden prvok zoznam, a to sa nazýva veci, a to bude mať hodnotu 3. Ja si tiež vytvoriť maticu. Tak toto je 1-4 a na konci riadku sa rovná 2, takže 2 o 2 matice. Tiež v zozname a je to len mat. moreStuff, reťazec znakov, a dokonca aj ďalší zoznam sám o sebe. Tak to je zoznam, ktorý je 5 a medveďa. Tak to má hodnotu 5 a to Má charakter reťazec medveďa a je to zoznam v zozname. Takže môžete mať tieto rekurzívne vecí, kde Máte another-- A typu v rámci typu. Takže podobne, môžete mať maticu vnútri inej matrice, a tak ďalej. A zoznam je len dobrý spôsob, ako zhromažďovanie a agregáciu Všetky tieto rôzne objekty. A konečne, je tu len pomôcť v prípade to bolo len preč cez veľmi rýchlo. Takže kedykoľvek ste zmätený o akési funkcie, môžete robiť pomoc tejto funkcie. Takže si môžete urobiť help matice alebo otáznik matice. A pomoc a otáznik sú len skratka pre rovnakú vec takže sú aliasy. LM je funkcia, ktorá Len robí lineárny model. Ale ak ste práve nemáte tušenie, ako to práca, stačí urobiť pomoc lm a že ti dám trochu druh dokumentácie, ktorá Vyzerá trochu ako man stránky v Unixe, kde máte krátky popis toho, čo áno, aj to, čo je jej argumentácia, to, čo sa vráti, a len tipy na to, ako ich použitie, a niektoré príklady rovnako. Tak nechaj ma ísť dopredu a prehliadka niektoré demo použitie R. OK. Tak som šiel na veľmi rýchlo len údaje štruktúry a nejaká op-- niektoré operácie. Tu je niektoré funkcie. Tak tu som jednoducho ísť k definovaniu funkcie. Takže som tiež používajú Operátor priradenia tu, a potom hovorím deklarovať ako funkcia. A to má hodnotu x. Tak to je nejaká hodnota, ktorú chcete a budem sa vrátiť x seba. Tak toto je funkcia identity. A čo je v pohode o tom v porovnaní s inými jazykmi a ďalšie nízkoúrovňové jazyky, je to, že x môže byť akéhokoľvek typu samotného a to vrátim tento typ. Takže si môžete imagine-- tak nechať ma stačí spustiť tak rýchlo. Prepáčte. Takže jedna vec, ktorú by som mal spomenúť je to, že tento editor som pomocou sa nazýva rstudio. To je to, čo sa nazýva IDE. A ešte jedna vec, ktorá je naozaj pekné o tom je to, že obsahuje veľké množstvo veci, ktoré chcete robiť do výskumu by samo o sebe Len veľmi intuitívne. Takže tu je interpret konzoly. Takže podobne, môžete si to konzola raw len tým, že robí kapitálu R. A to je presne to, to isté ako konzola. Tak som si len to id funkcie x, x, x. A then-- a potom to bude v poriadku sám. Takže rstudio je skvelý preto, že má konzolu. Má tiež dokumenty chcete bežať ďalej. A potom to má nejaké premenné ktoré môžete vidieť v prostredí. A potom, ak máte k tomu pozemky, a potom vás stačí vidieť tu, na rozdiel od riadenie všetkých týchto rôznych okien samy od seba. Vlastne som osobne používam Vim, ale ja pocit, že rstudio je vynikajúci práve pre získanie dobrý nápad ako používať R. Zvyčajne keď sa snažíte naučiť sa nejaký nový úloha, nechcete riešiť príliš veľa vecí naraz. Takže R je len very-- rstudio je veľmi dobrý spôsob, ako učenie R bez toho aby museli vysporiadať s Všetky tieto ďalšie veci. Tak tu Bežím id ahoj. Vráti ahoj. id 123. Tu je vektor celých čísel. Tak podobne, pretože môžete prijať akékoľvek nejaké hodnoty, môžete urobiť vracia id x tak, že sa vracia 1234 a 5. A dovoľte mi, aby som len ukázať, že To je skutočne celé číslo. A podobne, ak nechcete triedy id x, to bude celé číslo. A potom, môžete tiež porovnať dva a je to pravda. Takže som kontrolovať, či id x rovná sa rovná x a oznámenia že to vám dáva dva trues. Takže to nehovorí, sú dva objekty identické, ale každý z údajov V rámci vektory identické. Tu je bounded.compare. Tak to je o niečo zložitejšie v tom, že ak má to stav a inde a potom to trvá dva argumenty naraz. Takže x je z akéhokoľvek typu. A ja hovorím Druhý argument je. To môže byť čokoľvek rovnako. Ale v predvolenom nastavení, že to bude trvať 5 Ak nezadáte nič. Tak tu budem hovoriť ak x je väčšia ako. Takže keď som sa neuvádzajú, je hovorí, že ak x je väčšia ako 5, potom budem vracať TRUE. inak, budem sa vrátiť FALSE. Tak nechaj ma ísť napred a definovať to. A teraz budem spustiť bounded.compare 3. Tak to hovorí, že je 3 menej than-- je 3 väčšie ako 5. Nie, to nie je tak FALSE. A bounded.compare 3 a idem porovnať ho pomocou rovná 2. Takže teraz hovorím áno, teraz už chcem byť niečo iné. Takže som chcel povedať, mali by ste byť 2. Môžem buď robiť tento druh notácie alebo Hovorím rovná 2. To je čitateľnejší v tom, že keď ste pri pohľade na tieto skutočnosti zložité funkcie, ktoré aby viac arguments-- a to môžu byť desiatky oftentimes-- len hovorím rovná 2, ktorá je zrozumiteľná pre vám tak, že neskôr v budúcnosti budete vedieť, čo robíte. Takže v tomto prípade, ja som Hovorí sa nachádza 3 väčšie ako 2. Áno, to je. A rovnako, ja si len odstrániť to a hovoria, je 3 väčšie ako 2 kde sa rovná 2. A to je tiež pravda. Ano? Divákov: Ste vykonávanie riadok po riadku? DUSTIN TRAN: Áno, som. Takže to, čo robím tu je pričom tento text document-- a čo je skvelé o rstudio je to, že Môžem len spustiť short-- skratky pre. Takže robím Control-Enter. A potom, beriem riadok v textovom dokumente a potom uvedenie v konzole. Tak tu hovorím, bounded.compare a ja robím Control-X. Tak som si proste bežať aj tu. A potom, že bude trvať linka a potom ju sem. A potom podobne, môžem to spustiť tu. A potom to bude len držať vymedzenie linky do konzoly takhle. A ak ste si tiež povšimnúť kučeravé rovnátka sú tam rovnako ako v syntaxi C. x-- ak ak podmienka je tiež bude používať zátvorky a potom môžete použiť inde. Ďalší z nich je iný, ak. Takže to bude x rovná rovná, napríklad. A potom budem vrátiť niečo tu. Všimnite si, že existujú dva rôzne veci, ktoré tu deje. Jedným z nich je, že tu som s uvedením vráti hodnotu TRUE. Tu Len hovorím x. Takže R bude zvyčajne v predvolenom nastavení užiť poslednú arguments-- alebo sa posledný riadok kódu, a to bude to, čo je to vrátil. Tak tu je to rovnaké vec, ako robí spiatočný x. A len preto, aby vám ukázať. A potom, bude to fungovať rovnako ako to. Dovoľte mi teda pokračovať s tým. Takže ak iný. A naozaj, môžem sa vrátiť niečo, čo by som chcel. Tak som to ani na návratovej Booleans po celú dobu, Môžem len vrátiť niečo iné. Tak som si urobiť spiatočnú medveďa. Takže ak x rovná rovná, to bude návrat medveďa. V opačnom prípade to bude vracať TRUE. Ja si tiež urobiť vektor alebo naozaj čokoľvek. A zvyčajne staticky zadávané jazyky, budete musieť zadať typ tu. A všimnite si, že to môže byť len niečo. A R je dosť inteligentný, aby to bude len to a to bude fungovať dobre. Takže ma to definovať. Unexpected-- oh ľúto. Malo by to byť zložená zátvorka tu. OK. Super. Dobrá. Takže teraz poďme porovnať 3 a rovná 3. Tak to by malo return-- yeah-- hodnotu medveďa. Takže teraz všeobecnejší vec je ako čo o ​​iných dátových štruktúr. Takže budete musieť túto funkciu. To bude fungovať na akomkoľvek druhu hodnoty, ako je 3 alebo akékoľvek číselné, Inými slovami, double. Ale čo o niečom takom vektora. Takže to, čo sa stane, keď do--, takže som bude priradiť Val za, povedzme, 4-6. Takže keď som sa vrátiť to, to je vektor z 4, 5, 6. Teraz sa pozrime, čo sa stane keď to urobím bounded.compare val. Takže to bude dať 15 1251. Takže inými slovami, je to hovorí keď sa pozriete na túto podmienku tak to hovorí, že x je menšia než alebo tak niečo. Tak toto je trochu mätúce, pretože teraz proste neviem, čo sa deje. Takže si myslím, jednu vec, ktorá je naozaj dobrý len snaží ladiť je, že môžete jednoducho val, je väčšia ako, a uvidíme, čo sa deje tam. Takže val-- je štandardne 5 tak, nech to len do Val väčšie ako 5. Tak to je vektor FALSE FALSE TRUE. Takže teraz, keď sa pozeráte na to, bude to povedať, či, a potom, že to bude vám to je vektor false TRUE. Takže keď to prejsť do R, R nemá ani potuchy, čo robíte. Vzhľadom k tomu, že očakáva, že jeden jediný hodnota, ktorá je logická, a teraz dávate jej vektor Boolean. Takže v predvolenom nastavení, R je jednoducho hovoriť, čo to sakra, Budem predpokladať, že ste bude trvať prvý prvok tu. Takže budem say-- idem predpokladať, že to je FALSE. Takže to bude hovoriť nie, to nie je v poriadku. Rovnako tak, že to bude byť val rovná rovná. Nie, je mi ľúto 5. A je to tiež bude falošný rovnako. Takže to bude hovoriť nie, To nie je pravda, rovnako tak je to chystá sa vrátiť tento posledný. Tak toto je buď dobrá vec, alebo zlá vec, v závislosti na tom, ako ho zobraziť. Vzhľadom k tomu, keď ste vytváranie týchto funkcií, nemáte skutočne vedieť, čo sa deje. Takže občas by ste chceli nejakú chybu, alebo možno len chcete varovanie. V tomto prípade, R nerobí. Takže je to naozaj len na vám na základe off o tom, čo si myslíte, že jazyk by mal robiť v tomto prípade Ak máte prejsť do vektora Boolean keď robíte v prípade stavu. Povedzme, že ste mali pôvodné jedna, ak iný vráti TRUE, a vy ste chystá sa vrátiť FALSE. Takže jeden spôsob abstrahovať je to, že som Dokonca ani nemusíte podmieneného vec. Ďalšia vec, ktorú môžem urobiť, je len vrátenie samotnej hodnoty. Takže ak si všimnete, ak máte do Val je vyšší ako 5, to bude návrat vector FALSE FALSE TRUE. Možno, že to je to, čo Chcete pre bounded.compare. Ak chcete vrátiť vektor Boolean kde sa porovnáva každú z hodnôt pre seba. Takže si môžete jednoducho bounded.compare funkcia x, sa rovná 5. A potom miesto vykonávania , Ak iný stav, Ja som jednoducho ísť k návratu x je väčšie ako 5. Takže ak je to pravda, potom to bude vracať TRUE. A potom, ak to nie je, je to chystá sa vrátiť FALSE. A to bude pracovať pre niektoré z týchto štruktúr. Tak som si bounded.compare c 1 6 alebo 9 a potom budem hovoriť rovná 6, napríklad. A potom, že to bude vám ten správny Boolean vektor, ktorý ste navrhovaní. To sú len funkcie a to mi teraz sa proste ukázať vám niektoré interaktívne vizualizácie. Ja si nemyslím, že v skutočnosti sa Wi-Fi tu tak nech mi jednoducho ísť dopredu a preskočiť tohle myslím. Ale jedna vec, ktorá je v pohode však je, že ak ste práve chcete vyskúšať veľa rôzne príkazy dát, je tu veľa rôznych dátových sád ktoré sú už predinštalovaný na R. Takže jeden z nich je volal iris dátovej sady. To je jeden z najviac známy tie v strojového učenia. Budete zvyčajne len urobiť nejakú testovacie prípady, či je váš kód beží. Tak nech to len skontrolovať, čo dúhovka je. Takže to, čo sa deje byť dátový rámec. A je to celkom dlho, pretože Len som vytlačiť clonu. Je to tlač na celú vec. Tak to má všetky tieto rôzne názvy. Takže dúhovka je kolekcia rôznych kvetín. V tomto prípade je to hovorí tie druhy to, Všetky tieto rôzne šírky a Dĺžky listene lístok a plátku. A tak normálne, ak Ak chcete tlačiť clonu, Napríklad, nechcete ho mať to všetko, pretože to môže prevziať Celá konzoly. Takže jedna vec, ktorá je naozaj pekná je funkcia hlavy. Takže ak ste práve robiť hlavu iris, bude vám Prvých päť riadkov, alebo šesť myslím. A potom tiež tí, stačí zadať tu. Takže 20-- to bude dávať si prvých 20 riadkov. A ja som vlastne tak trochu prekvapený, že táto dal mi šesť, takže nechaj ma ísť napred a skontrolujte, či iris-- alebo hlavy, je mi ľúto. A tu to bude dávať vy dokumentácia z toho, čo je hodnota hlava robí. Tak to vráti prvý alebo posledná objektu. A potom budem pozrite sa na predvolené hodnoty. A potom hovorí, že východiskové Metóda head x a n sa rovná 6L. Tak to vráti prvých šesť prvkov. A podobne, ak si všimnete, tu som Nemusel špecifikovať n = 6. V predvolenom nastavení sa používa šesť, povedal by som. A potom, keď chcem zadať určitý hodnoty, potom som si názor, že rovnako. Takže to je asi jednoduché príkazy a tu je ešte jeden, ktorý je jen-- dobre, Aj can-- je to vlastne trochu zložitejšie, ale to bude len vziať triedu každého stĺpca dúhovky dátovej sady. Takže to bude to, čo každý z nich ukáže stĺpce sú, pokiaľ ide o ich type. Takže listene lístok dĺžka je číselné, listene lístok šírka je číselný. Všetky tieto hodnoty sú iba číselné pretože si môžete povedať, z týchto údajov štruktúry sa jedná o všetci budeme numerickej. A stĺpec druhov bude faktorom. Takže za normálnych okolností, by si myslíte, že to je ako reťazec znakov. Ale ak si proste irisSpecies, a potom budem robiť hlavu 5, a to bude pre tlač out prvých piatich hodnôt. A potom upozornenie Táto úroveň. Tak to je saying-- je to spôsob, ako R: mať kategorické premenné. Takže namiesto toho len majúci reťazca znakov, to má úrovne sa stanovia najmä ktorý tieto veci sú. Povedzme, že irisSpecies 1. Takže to, čo chcete robiť, tu je, že som podmnožín k tomuto druhu stĺpca. Tak to trvá Druh stĺpec a potom indexuje získať prvý prvok. Tak to by vám mal dať setosa. A to vám tu tiež dáva úrovne. Takže si môžete tiež porovnať to znak setosa a to nebude byť pravda, pretože jeden je iného typu, než druhý. Alebo Myslím, že je to pravda, pretože R je inteligentnejší než to. A to vyzerá na to, a potom sa hovorí, možno to je to, čo chcete. Takže to bude hovoriť charakter string setosa je rovnaký, ako je tento. A potom podobne, môžete tiež len chytiť tie ako tak ďalej. Takže to je len nejaký druh rýchle príkazy dátovej sady. Tak tu je to nejaký prieskum dát. Tak to je trochu viac podieľa sa na analýze dát. A to je prevzatý z niektorých bootcamp do výskumu v Berkeley. Tak knižnica cudzie. Takže idem sa načíta knižnica, ktorá sa nazýva cudzí. Tak to bude, aby mi read.dta tak predpokladať, že mám tento súbor dát. Tento je uložený v aktuálnej pracovný adresár môj konzoly. Takže poďme sa pozrieť, čo práve pracovný adresár. Tak tu je môj pracovný adresár. A čítanie dát DOT, tento vec, hovorí tento súbor je umiestnený v priečinku dát Tento aktuálny pracovný adresár. A read.dta to nie je predvolené príkaz. Myslím, že načítanie som to v už. IEI predpokladal som nahral to v už. Ale rovnako tak read.dta nebude byť predvolený príkaz. A to je dôvod, prečo budete mať načítať v tejto knižnici package-- Tento balík nazývaný cudzie. A v prípade, že nemáte balíček, myslím, že zahraničné je jedným z vstavaných ty. V opačnom prípade môžete tiež robiť install.packages a to nainštalovať balík. A to vám dá R. Uh, no. A potom som len tak prestať to preto, že už si to. Ale to, čo je naozaj pekné o R je to, že správu balíkov Systém je veľmi elegantný. Vzhľadom k tomu, že sa bude ukladať všetko naozaj pekne pre vás. Takže v tomto prípade, že to bude ukladať sa v Verím, že táto knižnica tu. Takže kedykoľvek budete chcieť, aby inštalovať nové balíčky, je to rovnako jednoduché ako robí install.packages a R bude riadiť všetky balíčky pre vás. Takže si nemusíte robiť niečo Python, kde máte externý balíčka manažéri ako papier Anaconda, kde ste doing-- inštaláciu balíčky mimo Python a potom sa ich pokúsite spustiť sami. Tak toto je naozaj príjemný spôsob, ako. A install.packages vyžaduje pripojenie k internetu. Trvá to zo servera a úložisko, ktoré zbiera všetky balíky sa nazýva CRAN. A môžete určiť, aký typ zrkadla Ak chcete stiahnuť balíčky z. Tak tu beriem tento súbor dát. Ja som to čítal v túto funkciu používať. Tak nechaj ma ísť dopredu a urobiť to. Takže predpokladajme, že máte tento súbor dát a máte úplne potuchy, čo to je. A to vlastne príde pomerne často v priemysle kde stačí mať tieto tony a tony chaotický vecí a sú neuveriteľne unlabeled. Tak tu to mám dátový súbor, a ja neviem, čo to je tak, že som jednoducho ukazuje na to pozrieť. Takže budem robiť po hlave. Tak som skontrolovať prvých šesť stĺpy, čo to je dátová sada. Tak to je stav, pres04, a potom Všetky tieto rôzne druh stĺpcov. A čo je zaujímavé tu, myslím, že ste to vy by sa predpokladať, že to vyzerá ako nejaký druh volieb. A myslím, že práve od pri pohľade na súbore meno to je nejaký druh kolekcia údajov o kandidátov alebo voličov Kto hlasoval pre konkrétne prezidentmi alebo kandidáti prezident pre voľby 2004. Takže tu je hodnoty 1, 2 tak jeden spôsob ukladania uchádzači prezident sú ich mená. V tomto prípade to vyzerá, že sú to len celočíselné hodnoty. Takže 2004, to bol Bush proti Kerry verím. A teraz, povedzme, že jednoducho neviem či 1 zodpovedá Bush alebo 2, zodpovedá Kerry alebo a tak ďalej a tak ďalej, že jo? A to je, len pre mňa, pomerne častým problémom. Takže to, čo môžete urobiť v tomto prípade? Takže poďme skontrolovať všetky tieto ďalšie veci. štát, ja som za predpokladu, že táto pochádza z rôznych štátov. partyid, príjem. Poďme sa pozrieť na partyid. Takže možno jedna vec, ktorú môžete urobiť, je pozrite sa na každej z pozorovania ktoré majú partyid republikánskych alebo demokrat, alebo tak niečo. Tak poďme sa len pozrieť na to, čo je partyid. Takže budem brať dát, a potom idem to urobiť znak dolára subjekt, ktorý som robil predtým a to bude podmnožiny do tohto stĺpca. A potom budem na hlavu to v 20, len aby videl, ako to vyzerá. Tak to je len banda agentúr. Takže inými slovami, máte Chýbajú údaje o týchto ľudí. Ale tiež všimnúť dát partyid je faktor tak to vám dáva rôzne kategórie. Takže inými slovami, partyid môže trvať Demokrat, republikán, Independent, alebo niečo iné. Tak poďme do toho a poďme zistiť, ktoré z nich je-- oh, OK. Takže idem do podmnožiny k partyid a potom pozrite sa na tie, ktoré sú Demokrat, napríklad. Tohle vám Boolean, obrovský Boolean o trues a FALSEs. A teraz, povedzme, že chcem na podmnožiny na týchto ľudí. Takže to bude trvať môj DAT a podmnožina sa podľa toho, čo pozorovania majú partyid rovný rovná demokrat. A to je pomerne dlhá, pretože tam je tak veľa z nich. Takže teraz, budem na hlavu to v 20. A ako zistíte, rovná sa rovná Je zaujímavé, že si already-- ste tiež, vrátane NAS. Takže v tomto prípade sa stále nemôže dostať akékoľvek informácie, pretože teraz máte NAS a vy len chcete zistiť, ktoré z pozorovanie zodpovedajú Democrat a nie tie chýbajúce hodnoty sami. Tak ako sa vám zbaviť sa týchto agentúr? Tak tu som len pomocou zvýąenie na mojej kurzora a potom hovorí pohybujúce sa okolo. A potom tu ja som jednoducho ísť hovoriť is.na datpartyid. Tak to aj a bude trvať dve rôzne logické vektorov a hovoria, že to bude TRUE a FALSE napr. Takže to bude robiť túto komponent-múdry. Tak tu hovorím zavádzanie dátový rámec, podmnožiny na tie, ktoré zodpovedajú demokrat, a odstrániť niektoré z nich, ktoré nie sú NA. Tak toto by mala will-- dať niečo. Pozrime sa is.na. Skúsme is.na datpartyid. A to by malo dať you-- sorry-- len logický vektor. A potom, pretože je to tak dlho, Chystám sa podmnožiny do 20 ° C. OK. Tak by to malo fungovať. A toto bude tiež trues. Aha, takže moja chyba je, že som sa nehnevajte použitie C ++ a R zamieňajú tak Robím táto chyba po celú dobu. A operátor v skutočnosti ten, ktorý chcete. Nechcete používať dva ampersand, len jeden človek. OK. Tak poďme sa pozrieť. Tak sme podmnožina sa partyid kde sú demokrat a nie sú to chýbajúce hodnoty. A teraz sa poďme pozrieť na tie, ktoré oni volili. Takže to vyzerá, že väčšina z nich hlasovalo pre 1. Takže budem pokračovať a hovoria, že je Kerry. A podobne, môžete tiež ísť do Republican a dúfajme, že to by vám mal dať 2. Je to len banda rôznych stĺpcov. A skutočne, to je 2. Takže partyid všetky republikán, väčšina z nich hlasujú pre 2 osoby. Tak vyzerá to, že, len pri pohľade na to, Republikánska bude very-- alebo partyid bude veľmi významným faktorom pri určovaní ktorý kandidát sú bude hlasovať za. A je to samozrejme platí všeobecne. A to zodpovedá vašim intuícia, samozrejme. Takže to vyzerá, ako by som málo času, takže dovoľte mi, aby som mala pokračovať a ukázať niekoľko rýchlych záberov. Tak tu je niečo, čo je trochu viac komplikované s vizualizáciou. Takže v tomto prípade sa jedná o veľmi Jednoduchá analýza len kontrolovať, čo prezident '04 je. Takže v tomto prípade je, povedzme, že chcel na túto otázku odpovedať. Takže predpokladám, že sme chceli poznať hlasovania správanie v 2004 prezident volieb a ako sa to líši podľa rasy. Takže nielen že chcete zobraziť správanie hlasovania, ale chcete podmnožinu každého závod a trochu zhrnúť, že. A môžete len povedať o tejto zložitej značenia že je to druh stále hmlisté. Takže jeden z viacerých pokročilý výskum balíky, ktoré tiež druh nedávny sa nazýva dplyr. Tak to je to jediné správne tady. A ggg-- ggplot2 je len pekná spôsob, ako robiť lepšie vizualizácie ako vstavané v jednom. Takže idem nahrať tieto dve knižnice. A potom, ja idem vpred a spustenie tohto príkazu. Stačí si len liečiť to ako čierna skrinka. Čo sa to deje, je, že táto potrubie Prevádzkovateľ je okolo v tomto argumente na tu. Takže hovorím Skupinu dát závod a potom prezidentom 04. A potom to všetko ostatné príkazy filtrovanie a potom sumarizuje kde robím počet a potom som ho vykresľovanie tu. OK v pohode. Tak poďme do toho a vidieť, ako to vyzerá. Takže to, čo sa tu deje, je, že som sa len vynesú každý zo závodov a potom tie, ktoré oni volili. A títo dva rôzne hodnoty zodpovedajú 2 a 1. Ak chcete, aby sa viac Elegantný, môžete tiež stačí zadať, že 2 je Kerry-- alebo 2 je Bush, a potom 1 Kerry. A tiež môžete mať že v legende. A tiež môžete rozdeliť tieto stĺpcové grafy. Vzhľadom k tomu, jedna vec je že, ak si všimnete, to nie je veľmi ľahko identifikovať ktorý z týchto dvoch hodnôt je väčšia. Takže jedna vec, ktorú by ste chceli urobiť, je tento modrá oblasť a len presunúť ju, takže tu Môžete porovnať tieto dva vedľa seba. A myslím, že je to niečo, čo som nemajú čas urobiť práve teraz, ale to je tiež veľmi jednoduché. Môžete sa len pozerať na manuálové stránky ggplot. Takže si môžete jednoducho ggplot ako to a prečítajte si do tejto manuálovej stránke. Tak mi dovoľte len rýchlo ukázať nejaké zaujímavé veci. Poďme ďalej a ísť to-- len aplikácie strojového učenia. Povedzme, že máme tieto tri balíčky takže budem nahrať ich do. Tak to proste vytlačí sa na niektoré informácie potom, čo som vložený veci. Takže ja hovorím read.csv, Tento dátový súbor, a teraz Chystám sa ísť dopredu a pozrieť sa a vidieť, čo je vnútri tohto súboru údajov. Takže prvých 20 pozorovaní. Tak som proste x1, x2, a Y. Tak to Zdá sa, ako banda týchto hodnôt sú od asi 20 až 80 alebo tak. A potom podobne pre X2 a potom Tento Y sa zdá byť štítky 0 a 1. Ak chcete overiť, môžem proste zhrnutie dát X1. A potom podobne pre Všetky tieto ďalšie stĺpce. Takže zhrnutie je rýchly spôsob, ako len ukáže vám rýchle hodnoty. Oh, prepáč. Ten by mal byť Y. Takže v tomto prípade dáva kvantily, mediány, maxes rovnako. V tomto prípade, dáta, môžete vidieť že je to len bude 0 a 1. Tiež stredná hovorí 0.6, jednoducho znamená, že ju Zdá sa, ako by som mať viac ako 1s 0s. Tak nechaj ma ísť dopredu a prehliadka vám, ako to vyzerá. Takže som jednoducho ísť na plot to. Pozrime sa, ako odstrániť to. Oh OK. OK. Tak toto je to, čo to vyzerá. Takže to vyzerá, že žlté I uvedenej as 0, a potom červenú som určený ako 1s. Tak tu to vyzerá štítok body a to Zdá sa, ako by si chcel nejaký druh klastrov na túto tému. A dovoľte mi, aby som jednoducho ísť dopredu a prehliadka ste niektoré z týchto vstavaných funkcií. Takže tu je lm. Tak to sa len snaží aby sa zmestili do linky to. Takže to, čo je najlepší spôsob, ako že som sa vojde línie, ako že bude najlepšie oddelí Tento druh klastrov. A v ideálnom prípade, stačí vidieť že som spustiť všetky tieto príkazy a potom, ja idem vpred a pridajte riadok. Takže sa to zdá ako najlepší odhad. Je to brať najlepšie ten, ktorý minimalizuje chyba v snahe, aby sa zmestili tento riadok. Je zrejmé, že tento druh vyzerá dobrý, ale nie je to najlepšie. A lineárne modely, v Všeobecne platí, že sa bude naozaj skvelé pre teóriu a tak nejako stavebných základov stroja učenie. Ale v praxi, budete Chcete urobiť niečo všeobecnejšieho. Takže si môžete len skúsiť spustiť niečo ako neurónové siete. Tieto veci sú čím ďalej častejšie. A jednoducho fungujú fantasticky pre veľké súbory dát. Takže v tomto prípade, my len have-- Poďme see-- máme nrow. Takže nrow je len hovorím, počet riadkov. Takže v tomto prípade, som majú 100 pozorovaní. Tak nechaj ma ísť dopredu a ako neurónové siete. Tak toto je naozaj pekný preto, že som si len povedať nnet a potom som regresiu Y. Takže Y je to, že stĺpec. A potom sa to regresiu na ďalšie dve premenné. Tak toto je kratšia notácie pre X1 a X2. Tak poďme do toho a spustiť to. Oh, prepáč. Musím bežať celú túto vec. A to je práve tlačí notácie na tom, ako rýchlo, alebo nie rýchlo sa zblížil. Takže to vyzerá, že sa zbiehajú. Tak nechaj ma ísť dopredu a tlač out, ako to vyzerá. Môžete tu je obrázok, a tu je obrys ukazuje, ako dobre zapadá. A to je jen-- môžete vidieť to, že je to veľmi, veľmi pekné. Mohlo by to byť aj overfitting, ale môžete si tiež za toto s ostatnými techniky, ako je cross-validácie. A títo sú tiež postavené v R. A dovoľte mi, aby som vám ukázať podporovať Vector Machine. To je ďalší naozaj obyčajný technika v strojového učenia. To je veľmi podobný lineárny modely, ale používa, čo sa nazýva metóda jadro. A pozrime sa, ako dobre, že robí. Takže toto je veľmi podobný tomu, ako dobre neurónová sieť vykonáva, ale je to oveľa hladšie. A je to založené mimo z what-- ako SVMs práce. Tak to je len veľmi rýchly prehľad niektorých z vstavaných funkcií, ktoré môžete urobiť a tiež niektoré z prieskumu dát. Takže ma proste ísť dopredu a vrátiť sa do záberov. Tak zrejmé, že toto je nie veľmi komplexné. A to je naozaj len ukážka ukáže vám, čo môžete naozaj v R. Takže ak by ste rovnako ako sa dozvedieť viac, tu sú banda rôznych zdrojov. Takže ak ste radi učebnice alebo ste len rád čítanie veci on-line, potom je to fantastický jeden by Hadley Wickham, ktorý tiež vytvoril všetky tieto naozaj cool balíčky. Ak ste radi videá, potom Berkeley má úžasné bootcamp to je several-- je to trochu dlhé. A to vás naučí takmer všetko, čo ste chceli vedieť o R. A podobne je tu Codeacademy a všetky tieto iný druh na interaktívne webové stránky. Oni sú tiež stále common-- bežnejšie. Tak to je veľmi podobný Codeacademy. A napokon, ak ste práve Chcete spoločenstiev, a pomôcť, to sú banda veci, ktoré môžete ísť. Je zrejmé, že stále používať e-mailovej konferencie, práve ako takmer každý druhý programovací jazyk komunity. A #rstats, to je naša komunita Twitter. To je vlastne celkom bežné. A potom užívateľ! Je len naša konferencia. A potom, samozrejme, môžete použiť všetky tieto iné Q & A veci, ako pretečeniu zásobníka, Google, a potom GitHub. Pretože väčšina z týchto balíčkov a mnoho komunity bude sústredený okolo rozvojových kód, pretože je to open source. A to je len naozaj pekne na GitHub. A konečne, môžete sa ma, či kontaktovať stačí nejaké rýchle otázky. Takže si ma nájsť na Twitteri tu, moje webové stránky, a to len môj e-mail. Tak dúfajme, že to something-- len krátky teaser čoho R je naozaj schopný robiť. A dúfajme, že ste práve pozrite sa na tieto tri odkazy a uvidíte, čo môžete urobiť viac. A ja myslím, že je to len o tom. Vďaka. [APPLAUSE]