CONNOR HARRIS: Vis dar aš manau keletas įdomių video gaminamas profesionalus konsultavimas kuri naudoja Ra jo daug darbo. Narrator: Kas už statistiką, Google Analytics, ir vizualizacijos kad šiandienos ryškiausios duomenų mokslininkai ir verslo lyderiai remtis padaryti galingus sprendimus? Jūs ne visada gali jį pamatyti. Bet tai ten. Tai vadinama R, atviro kodo R-- Statistiniai programavimo kalba kad duomenų ekspertai Pasaulis per naudojimo viską iš žemėlapių plačios socialinės ir rinkodaros tendencijos prisijungę plėtoti finansų ir klimatas modeliai, kurie padės vairuoti mūsų ekonomiką ir bendruomenėms. Bet kas tiksliai yra R ir kur R pradėti? Na iš pradžių, R pradėjo čia su dviem profesoriais kurie norėjo geriau statistinė platforma savo mokiniams. Taigi jie sukūrė vieną modeliuojama po statistinės kalba S. Jie, kartu su daugeliu kitų, nuolat dirba ir naudojant mokslinių tyrimų, sukurti priemones R ir rasti naujų programų moksliniams kiekvieną dieną. Dėl to yra pasaulio bendruomenė pastangų, R augo su tūkstančiais vartotojų kuriamo bibliotekų pastatytų padidinti R funkcionalumą ir Minia kilmės kokybės patvirtinimas ir parama iš labiausiai pripažintų pramonės lyderiai visose srityse, kad naudoja R. kuris yra puikus, nes R yra geriausias, ką ji daro. Jaunieji ekspertai greitai ir lengvai interpretuoti, bendrauti su, ir vizualizuoti duomenis, nurodantį jų greitai auga bendruomenė R vartotojų visame pasaulyje ir pamatyti, kaip atviro kodo R toliau formuoti statistinės ateitis analizė ir duomenų mokslas. CONNOR HARRIS: Gerai, puiku. Taigi mano paties pateikimo bus šiek tiek daugiau blaivus. Jis nebus įtraukti, kad daug jaudinantis foninė muzika. Bet, kaip jūs matėte vaizdo, R yra tarsi bendro tikslas programos kalbą. Bet ji buvo sukurta daugiausia statistikos darbų. Taigi jis skirtas statistiką, duomenų analizė, duomenų gavybos. Ir todėl jūs galite pamatyti tai iš daug projektavimo pasirinkimai kad R kūrėjai padarė. Jis sukurtas iš esmės, žmonės, kurie nėra ekspertai programavimas, kuris yra tiesiog įlaipinami programavimo ant šono, todėl jie gali padaryti savo darbą socialinių mokslų arba statistikos ar kas. Ji turi labai daug reikšmingi skirtumai iš C. Bet sintaksė ir paradigmos kad ji naudoja yra iš esmės ta pati. Ir jūs turėtumėte jaustis gana daug namuose Iškart. Tai imperatyvi kalba. Negalima nerimauti per daug apie tai Jei nežinote terminą. Bet yra skirtumas tarp imperatyvios, deklaratyvus, ir funkcionalus. Privalomasis tiesiog reiškia, jūs padaryti teiginiai, kurie yra iš esmės komandas. Ir tada vertėjas arba Kompiuteris taip juos po vieną. Jis silpnai įvedėte, yra Nėra tipas deklaracijos R. Ir tada linijos tarp skirtingų tipų yra šiek tiek daugiau laisvi nei jie yra C, pavyzdžiui. Ir kaip sakiau yra labai platus įrenginiai už Diagrama, statistinė analizė, duomenų gavybos. Tai yra tiek pastatė į kalba ir, kaip vaizdo sakė, tūkstančiai trečiųjų šalių bibliotekų galite atsisiųsti ir naudoti nemokamai labai palaidi licencijos sąlygų. Taigi apskritai, aš rekomenduoju kad jūs pažvelgti į šių dviejų knygų jei jūs ketinate dirbti R. Vienas iš jų yra oficialus R Pradedančiųjų vadovauti. Jis tvarko Pagrindiniai kūrėjai R. Jūs galite jį atsisiųsti iš naujo, be imti ir teisiškai tuo nuorodą ten. Visos šios skaidrės ketinate eiti ant internete, CS50 svetainėje po to, kai tai yra daroma. Taigi nereikia kopijuoti dalykų žemyn pašėlusiai. Kitas yra vadovėlis iki Cosma Shalizi, kuris yra statistika profesorius Carnegie Mellon, vadinamas Advanced Data Analizė iš Pradinė požiūriu. Tai nėra pagrindinė r knygą. Tai statistika knyga ir tai duomenų analizė knyga. Bet tai labai prieinama žmonėms, kurie turėti Statistikos žinių minimumas. Aš niekada imtis oficialų kursą. Aš tiesiog žinau, bitai ir vienetų iš įvairių giminingi dalykai kad aš imtis kursus. Ir aš galėjau suprasti jis puikiai. Visi skaičiai pateikti R. Jie pagaminti R ir jie taip pat turi listing Toliau kiekvieną paveikslą, kad pasakys kaip jūs darote kiekvieną skaičių su R kodą. Ir tai labai naudinga, jei Jūs bandote sekti kai paveiksle matote knygoje. Ir vėl nemokama parsisiųsti stat.cmu.edu/cshalizi/ Atsiprašome, kad turėtų būti velniop tildės cshalizi. Aš įsitikinkite, kad teisinga, kad kai oficialūs skaidres eiti. / ADAfaEPoV kuris yra tik trumpinys iš knygos pavadinimą. Taigi apskritai caveats-- R turi galimybes daug. Aš tik bus galima padengti iš daug dalykų paviršiaus. Taip pat ir pirmoji porcija Seminaro bus kažkas duomenų sąvartyną. Aš gana gaila apie tai. Iš esmės, aš ruošiuosi supažindinti jus su daug dalykų Iškart, vyksta kaip galima greičiau. Ir tada mes gauti įdomus dalis, kuri yra demo kur galiu parodyti jums viską kad mes kalbėjome apie ekrane. Ir jūs galite žaisti aplink savo. Taigi ten bus daug techninių dalykų atskrieti čia. Nesijaudinkite kopijavimo visa tai žemyn. Kadangi, jūs galite gauti visus Daiktai ant CS50 svetainėje vėliau. And B, tai nėra tikrai, kad svarbu įsiminti tai iš skaidrių. Tai dar svarbiau, kad jūs gaunate kai intuityviai įrenginys su juo ir kad ateina iš tiesiog žaisti aplink. Tad kodėl naudoti R? Iš esmės, jei turite projektą, kad apima kasybos didelių duomenų rinkinių duomenys vizualizacija, galite turėtų naudoti R. Jei esate daro sudėtingas statistines analizes, kad būtų sunku Excel, Pavyzdžiui, tai taip pat good-- pat jei jūs darote statistinė analizė, kad automatizuota. Tarkime, jūs išlaikyti svetainę. Ir jūs norite perskaityti serverio Prisijungti kiekvieną dieną ir kaupia tam tikrą sąrašą, kaip geriausių šalių, jūsų vartotojai yra tiekiamos iš, kai suvestiniais kaip ilgai jie praleidžia savo svetainę ar kas. Ir jūs norite paleisti šią kiekvieną dieną. Dabar, jei jūs darote tai Excel, jūs turite eiti į savo serverio log, importuoti, kad į "Excel" duomenų skaičiuoklės, paleisti visą analizę rankiniu būdu. Su R, galite tiesiog parašyti vieną scenarijų. Tvarkaraštis ją paleisti kiekvieną dieną iš savo operacinę sistemą. Ir tada kiekvienas 2:00 AM naktį, arba kai jums suplanuoti ją paleisti, jis atrodys per savo interneto srauto tą dieną. Ir tada kitą dieną, jūs turėti šią blizga, naują ataskaitą ar kas su visais iš informacija, kurią prašoma. Taigi, iš esmės R yra skirtas "Cisco" programavimo palyginti Cisco analizė. Preliminari daroma. Leiskite gauti į realius dalykus. Taigi yra trys nekilnojamojo tipai kalba. Yra skaitmeninis tipo. Yra tarsi skirtumas tarp sveikieji skaičiai ir plaukiojantieji taškai, bet tikrai ne. Yra pobūdis tipas, kuris yra įsipareigojimų. Ir ten logiškas tipas, kuris yra loginę. Ir jūs galite konvertuoti tarp skirtingų tipų naudojant šias funkcijas kaip skaitmeninis, kaip charakterio, nes logiška. Jei skambinate, pavyzdžiui, kaip skaitmeninis dėl eilutę, jis bandys skaityti, kad eilutė kaip skaičius, taip pat, kad A2I ir scanf padaryti, ir C. Jei skambinate kaip skaitmeninis ant true arba false ji bus konvertuoti į 1 arba 0. Jei skambinate kaip charakterio nieko jis bus konvertuoti, kad į "A styginių atstovavimas. Ir tada yra vektoriai ir matricos. Taigi vektoriai yra iš esmės 1 vienmačių masyvų. Jie yra tai, ką mes vadiname matricos ir C. Matricos, 2 vienmačių masyvų. Ir tada didesnis vienmačių masyvų galite turėti 3, 4, 5 dydžiai arba kokia apie reikšmes, eilučių, loginės reikšmės. Jūs taip pat turite sąrašus, kurie yra iš masyvą natūra. Aš gausiu į tą truputį. Taigi vienas svarbus dalykas, kad kelionės žmones R yra tai, kad nėra Nekilnojamasis, grynas atominės tipai. Nėra jokio realaus skirtumo tarp skaičius, kaip skaitinė vertė, ir iš skaitinių verčių sąrašas. Skaičių reikšmės yra iš tikrųjų Tas pats, kaip ir ilgio 1 vektorių. Ir šis turi skaičių didelę reikšmę. Vienas iš jų, tai reiškia, kad jūs galite padaryti viskas labai lengvai, kuriuose dalyvauja kaip pridėti numerį vektorių. R bus iš esmės figūra , ką turite galvoje, kad. Ir aš gausiu, kad per sekundę. Tai taip pat reiškia, kad nėra jokio būdo tipui checker-- kiek kad kaip ir, kad kažkas egzistuoja R-- pasakyti kai jūs praėjo bendrosios vertės kai ji tikisi masyvo arba atvirkščiai. Ir tai gali sukelti kai kurių nelyginis bėdų, kad išbėgau į kai Aš naudoju R metu mano vasaros darbo. Ir nėra jokių mišrios tipo matricas. Taigi, jūs negalite turėti masyvas buvo Pirmieji elementai yra, aš nežinau, eilutė "Jonas" ir Antrasis elementas yra skaičius 42. Jei bandysite tai padaryti, tada jūs gausite viskas tiesiog konvertuoti į eilutę. Taigi, mes turime styginių Jonas, styginių 42. Taigi neįprastas sintaksės features-- dauguma R sintaksė yra labai panaši į C. Yra keletas svarbių skirtumų. Tipavimo yra labai silpnas. Taigi nėra jokių kintamųjų deklaracijos. Priskyrimas naudoja keista klaida operatorius mažiau nei brūkšneliu. Komentarų yra su maišos ženklą. Manau, dabar dienas mes jį vadiname grotelėmis nors, kad tikrai ne accurate-- nėra dvigubas pasvirasis brūkšnys. Moduliniai likučiai yra su %% požymiai. Sveikasis skaičius padalinys yra su% /%, kuris yra labai sunku skaityti, kai jis Prognozuojama iki ekrane. Jūs galite gauti diapazonai sveikieji skaičiai su dvitaškiu. Taigi 2,5 duos jums vektorių visų skaičių nuo 2 iki 5. Masyvai yra vienas indeksuotas, kuri varžtai daug žmonių iki, jei jie iš daugiau Tipinės programavimo kalbos, kaip C, kur dauguma viskas yra nulinės indeksuojami. Vėl, tai yra, kur R "registro kaip kaip ne kalba profesionalūs programuotojai ateina. Jei esate sociologas arba ekonomistas ar kažkas ir bandote naudoti R esmės kaip papildoma į savo svarbesnis profesionalus darbas, jūs ketinate rasti vieno indeksavimo šiek tiek daugiau gamtos. Kadangi jūs pradėti skaičiuoti ne 1 kasdieniame gyvenime, o ne 0. For-kilpos, tai yra panašios į foreach statyti PHP, kurį gausite sužinoti in-- gana greitai. Kuris yra vertės vektoriaus ir tada jūs galite padaryti dalykus, kurių vertė. Auditorija: tai sugalvoti paskaita. CONNOR HARRIS: Oi, tai sugalvoti paskaitą, puikus. Auditorija: paskyrimu, tai turėtų atkreipti iš dešinės į kairę? CONNOR HARRIS: iš dešinės į kairę, taip. Jūs galite galvoti apie tai, kaip dėl vertės teisė brolijos į kintamojo kairėje. Auditorija: Gerai. CONNOR HARRIS: Ir pagaliau funkcija sintaksė yra šiek tiek keista. Jūs turite funkcijos pavadinimas foo, priskirtą šį raktažodį funkciją, po visų argumentų ir tada organas po to funkcija. Vėlgi šie dalykai gali atrodo šiek tiek keista. Jie tampa antra pobūdžio po dirbate su truputį kalba. Taigi vektorių, būdas Jūs statyti vektorių yra tai C tipo, kuris yra raktažodis, tada visi numeriai, kuriuos norite ar įsipareigojimų ar kas. Argumentai taip pat vektoriai. Bet dėl ​​masyvas bus nugriautas. Taigi, jūs negalite turėti masyvus tikrais kai kurie elementai yra vieno numeriai ir kai elementai yra patys masyvų. Taigi, jei jūs bandote statyti masyvo buvo pirmasis elementas yra 4 ir antrasis elementas yra masyvas 3,5 Jums tiesiog gauti trijų elementų masyvas, 4,3,5. Jie gali būti ne iš mišraus tipo. Jei bandote skaityti arba rašyti ne iš vektoriaus ribų Jūs gausite šią vertę, vadinamą NP kuris reiškia dingusį vertės. Ir šis yra skirtas kaip statistikų, kuris dirbame su neišsamių duomenų rinkinių. Jei taikote funkciją, kuri tariamą imtis tik vieną numerį į masyvą kas tada gausite, tuo funkcija map per masyvo. Taigi, jei jūsų funkcija tarkim trunka skaičius ir grąžina ją aikštė. Jūs turite kreiptis, kad prie masyvo 2,3,5 Ką jūs gausite yra masyvas 4,9,25. Ir tai labai naudinga nes tai reiškia jums neturi rašyti kilpos daro labai paprastų dalykų, pavyzdžiui, taikant funkcija visiems duomenų rinkinio nariams. Kuris, jei jūs dirbate su dideliais duomenų rinkiniai, jūs turite padaryti daug. Dvejetainiai funkcijos Taikomoji įrašas iki atvykimo. Aš gausiu į tai. Galite prieiti prie jų masyvai ar vektoriai su laužtiniuose skliaustuose. Taigi vektorius vardas skliaustus 1 duos jums pirmąjį elementą. Vektorius Vardas skliaustus 2 duos jums antrą elementą. Galite pereiti ant vektorių indeksų ir jūs grįžti iš esmės pietus faktorius. Taigi jūs galite padaryti vektoriaus Vardas varžtai C, 2,4 ir jūs gausite iš vektorių, turintį antroji ir ketvirtoji elementai masyvo. O jei norite tik Greita santrauka statistika panašaus interkvartiliniais vektoriaus diapazonas, mediana, didžiausias, kas, galite tiesiog įrašykite santrauka vektorius vardas ir gauti, kad iš. Tai tikrai nėra naudinga programavimo, bet jei žaidi aplink duomenų rinkinių, tai patogu. Matrices-- esmės aukštojo vienmačių masyvų. Jie turi šią ypatingą notacija sintaksė. Matrica su masyvo, kad gauna užpildytas in-- Atsiprašome, matricos su duomenimis, eilučių skaičius, stulpelių skaičių. Kai jūs turite kai kuriuos duomenis, tai užpildo masyvas iš esmės vyksta iš viršaus į apačią pirmas. Tada iš kairės į dešinę. Taigi, kaip kad. Ir R yra pastatytas matricos daugybos spektrinis skilimas, Diagonalizacja, daug dalykų. Jei norite didesnės matmenų matricos, taip, 3, 4, 5, ar kas matmenys galite tai padaryti. Sintaksė yra masyvas automatinės lygus c, tada iš matmenų, sąrašą. Taigi, jei norite, kad 4 dimensijų masyvas kurio matmenys 4, 7, 8, 9, masyvo, automatinės lygus c (4,7,8,9). Jūs prieiti vieną vertybes su laikikliais Pirmasis įrašas kablelis antrasis įrašas. Jūs galite gauti visą skiltelės eilučių ar stulpelių. Su šiuo nepilno sintakse tai tiesiog eilutė numerius atskirdami juos kableliais arba kableliais stulpelį skaičius. Taigi sąrašai yra susijusio masyvo natūra. Jie turi savo sintaksę čia. Vėlgi ne pašėlusiai nukopijuoti visą šį žemyn. Tai tik todėl, kad žmonės išgyvena skaidres vėliau turi visa tai gražus nuoroda. Ir tai bus labai natūralus kartą Aš iš tikrųjų vaikščioti per demo. Taigi išvardyti esmės susijusios masyvus. Jūs galite patekti vertybes sąrašo pavadinimas, dolerio ženklas, raktas. Taigi, jei jūsų sąrašas yra pavadintas rūšys, tada galite jį pasiekti, kaip kad. Jūs galite gauti visą raktas vertės porą išlaikius aikštėje kronšteino indeksą. Jeigu jūs skaitote iš neegzistuojančio raktas, gausite null. Jis nebus klaida. Problema yra ta, R darys, kaip daug su null, nes ji gali. Ir tai gali reikšti, kad, jei esate nesitiki gauti iš null kai kurių sąrašas skaityti, jūs gausite kai nenuspėjamas klaidų toliau žemyn linija. Tai atsitiko man mano vasaros darbas, kai aš naudoju R kur aš pakeičiau, kaip tam tikras sąrašas buvo nustatytas vienoje vietoje bet nepakeitė vėliau dėl kodas, kuris skaityti reikšmes iš jo. Ir kas atsitiko taip buvo buvau skaityti neapibrėžtų reikšmių iš šio sąrašo, perduoti juos į funkcijas, ir yra labai supainiotas kai aš gavau visus rūšių Atsitiktinės begalybių apkarpymo iki Šiame funkcija. Nes jei taikoma tam tikra maksimali ar minimalus funkcijas NULL, Jūs gausite begalines vertes iš. Duomenų rėmai, jie iš sąrašo poklasis. Kiekvienas reikšmė yra vektorinė vienodo ilgio. Ir jie naudojami pristatant, Iš esmės, duomenų lenteles. Yra tai iniciacijos sintaksė. Tai gale, vėl, būti daug aiškiau, kai jūs gaunate į demo. Ir Gražus dalykas, apie duomenų rėmai yra, kad jūs gali duoti vardus visų stulpelių ir vardus visiems eilučių. Ir taip, kad daro susipažinimo juos šiek tiek draugiškesni. Taip pat tai, kaip dauguma funkcijų, kad skaityti duomenis iš Excel skaičiuoklės arba iš teksto failus, pavyzdžiui, skaityti savo duomenis. Jie įdėti jį į kai duomenų rėmo rūšiuoti. Taigi functions-- funkcijų sintaksė yra šiek tiek keista. Vėlgi, tai iš funkcijos pavadinimas, perleisti, šį raktažodį funkciją ir tada sąraše esančių argumentų. Taigi yra keletas gražumynai apie tai, kaip veikia čia dirbti. Už vieną, jūs iš tikrųjų galite priskirti Numatytosios reikšmės į tam tikrus argumentus. Taigi galima sakyti, R1 equals-- galite pasakyti foo yra funkcija, kur R1 yra lygus kažką pagal nutylėjimą, jei vartotojas nurodo jokių argumentų. Priešingu atveju, tai, ką jis įdėti. Ir tai yra labai patogu nes mūsų daug funkcijų turi dažnai dešimtys ar šimtai argumentų. Pavyzdžiui, braižymo tie grafikai ar braižymo sklaida sklypai turi argumentų, kad kontrolės viskas iš pavadinimo ir ašies etiketes iš regresijos linijos spalvos. Ir todėl, jei nenorite kad žmonės nurodyti kas viena iš šių šimtai argumentų kontroliuoti kiekvieną aspektą sklypas arba regresijos ar kas, tai malonu turėti šiuos reikšmes pagal nutylėjimą. Ir tada jūs iš tikrųjų galite rašyti taip, kad matėte grįžti čia. Arba rasti geresnį pavyzdį. Kai skambinate funkcijas jūs iš tikrųjų galite jiems skambinti naudodami argumentas pavadinimus. Taigi čia pavyzdys, matrica konstruktorius. Tai užtrunka tris argumentus. Paprastai jūs turite duomenų, kuris yra vektorius. Jūs turite N eilutę, kuri yra eilučių skaičius. Jūs turite N cols-- stulpelių skaičių. Dalykas yra, jei įvedate N eilutė lygi kokia ir N sp lygus whatever, kai jūs skambinate šią funkciją, jūs iš tikrųjų galite pakeisti juos. Taigi, galite įdėti N COL pirmas ir N eilutėje antra ir jis bus jokio skirtumo. Štai gražus bruožas. Ar importuoti ir eksportuoti. Tai gali būti padaryta, iš esmės. Taip pat yra galimybę rašyti savavališkai R prieštaravimų dėl dvejetainis failas ir tada skaityti juos atgal į vėliau. Kuris yra patogu, jei jūs darote didelis interaktyvus sesijos R ir jums reikia išsaugoti viskas labai greitai. Pagal nutylėjimą R turi darbo katalogą kad failai gauti raštišką išėję į ir skaityti atgal iš. Galite matyti, kad su getwg, pakeisti jį su setdw. Nieko ypač įdomi čia Taigi, dabar tikrieji statistika stuff-- multilinear regresiją. Taigi įprastos sintaksę yra šiek tiek sudėtinga. Šis modelis yra didelis objektas iš esmės. Ji gauna priskirtas LM, kuris yra skambinimo funkcijos. Pirmasis elementas, y Tilde X1 plius nesvarbu. Mano sintaksė čia yra šiek tiek painu. Aš gana Deja, šis yra standartinis būdas kad kompiuterių mokslo knygos tai padaryti. Bet tai yra šiek tiek keista. Taigi, iš esmės, tai LM skliaustai, pirmasis elementas yra variable-- Atsiprašome, priklauso kintamasis Tilde X1 X2 plius plius Tačiau daugelio nepriklausomų kintamieji turite. Ir tada jie gali būti arba vektoriai, visi tą patį ilgį. Arba jie gali būti stulpelis antraštes į duomenų rėmo kad jūs tiesiog nurodyti, Antrasis argumentas duomenų rėmo. Jūs taip pat galite nurodyti, sudėtingesnis formulė todėl jūs neturite tiesiškai regresine analize vieną priklausomiems kintamiesiems, arba vienas vektorius ant ankstesniais vektorių. Jūs galite tai padaryti, pavyzdžiui, vektoriaus komponentė y kvadratu plius 1 ir regresuoti, kad prieš prisijungti kai kurių kitų vektorių. Jūs galite išspausdinti santraukos modelis su šia komanda vadinama summary-- tik santrauka skliaustai modelį. Vėlgi kažkas man turėtų paaiškinti. Kažkas, kad bus gauti ištaisytas kai skaidres eiti internete. Jei tiesiog norite apskaičiuoti paprastas ryšys galite naudoti koreliacijos vektorių 1 vektorius 2 funkcija esmė. Metodas yra pagal nutylėjimą Pearson koreliacijos. Tai yra standartiniai tie, kuriuos galite padaryti. Taip pat Ietininkas ir Kendell koreliacijos kurie yra keletas įvairių rangas kad koreliacija. Na jie neskaičiuoja produktą momentai tarp pačių vektorių, bet vektoriaus rangą užsakymus. Aš paaiškinti, kad vėliau. Auditorija: greitas klausimas CONNER HARRIS: Žinoma. Auditorija: Taigi, kai jūs apskaičiuoti Dėl paprastos koreliacijos padaryti Jūs manyti, kad ten yra statistinis reikšmė koreliacijos? CONNER HARRIS: Jūs neturite. LM iš esmės yra tik mašina. Jis imsis dviejų dalykų ir jis bus išspjauti koeficientai tokia geriausios sutapties linijos. Jis taip pat praneša, standartinis klaidų dėl šių koeficientų. Ir tai jums pasakys, kaip yra įsiterpti statistiškai reikšmingas ar skirtumas nuo 0. Ar geriausias šlaitas tinka linija statistiškai skiriasi nuo nulio, ir taip toliau. Taigi daroma prielaida, nieko, manau, yra geriausias atsakymas į Jūsų klausimą. GERAI. Plotting-- todėl pagrindinė priežastis, jūs turėtumėte naudoti R, kaip multilinear regresija. Iš esmės kiekvienas kalba turi šiek tiek, kad salė. Ir sąžiningai R "sintaksė regresija yra šiek tiek paslaptinga. Bet braižymo kur ji tikrai šviečia. Darbinis arklys funkcija sklypas ir trunka dvi vektoriai, x ir y. Ir tada elipsės reiškia labai Daug pasirenkamų argumentus, kad kontroliuoti viską iš pavadinimų spalvas įvairių linijų ar įvairiais aspektais, į barelio tipo. Jūs galite turėti sklaidą sklypai ar linija sklypai. [Nesigirdi] 2 vektoriai vienodo ilgio. Jūs galite prieš tai su pridėkite duomenų rėmo savo scenarijų. Ir tai bus jums tiesiog naudokite stulpelį antraštės, o ne atskirų vektorių. Jūs galite pridėti geriausiai atitinkantys linijas ir vietos regresijos kreivės į savo grafiką. Šios komandos išvardyti čia, AB linijos ir pagal nutylėjimą tai gauti įrašyta į pop-up langus nes daroma prielaida, kad Jūs naudojate R interaktyviai. Jei nesate galite parašyti du failus, yra tikrai bet kokiu formatu, kurį norite. Atsiprašome, turiu typo aš tiesiog suprato. Jei norite atidaryti kitas grafinis prietaisas galite naudoti šią funkciją, vadinamą PNG arba JPEG arba kitų vaizdo formatų daug. Ir jūs galite rašyti grafikai kokia failo pavadinimas jūs nurodote. Norėdami atšaukti, kad jūs turite use-- Aš ne rašyti tai į slide-- bet yra funkcija vadinama dev dot išjungti, kad nesiima jokių argumentų. Tada yra įrenginiai 3D braižymo ir kontūro braižymo jei norite, kad grafikai dviejų nepriklausomų kintamųjų. Aš ne gauti į juos dabar. Taip pat yra keletas Pritaikyta animacija tie, kurie paprastai prižiūrimi trečiųjų šalių. Aš padariau animacijos su R grafikus, bet aš ne naudoti šias trečiajai šaliai bibliotekos. Taigi, aš tikrai negali patvirtinti, kaip gerai jie yra. Ką aš rekomenduoju, jei norite padaryti animaciją, naudojant R yra galima atlikti rašyti visi už animacija rėmeliai ir tada jūs galite naudoti trečioji šalis program-- Tipinės tie vadinami FFmpeg arba ImageMagick-- dygsnio visus savo kadrų į vieną animacija. Taigi laiko demo. Taigi, jei jūs naudojate bet kurioje Unix kaip sistemos kuris yra "Linux BSD bet kuris naudoja BSD. Mac OS X atidaryti terminalo langą ir Type R į komandų eilutę. Jei turite R studija arba panašiai, kad taip pat veikia. Windows vartotojams jums turėtų būti galėtų rasti R jūsų meniu Pradėti. Ji turėtų vadintis kaip R x64 3 punkto nesvarbu. Atidarykite kad iki ten. Taigi dabar leiskite man tiesiog atidaryti terminalo langą. Gerai, paieška. AUDITORIJA: komandų erdvė CONNER HARRIS: komandų Erdvė, ačiū. Nemanau, paprastai naudoja Mac. Terminalas, rodo naują langą. Naujas langas yra nustatymai Pagrindinė R. Taigi, jūs turėtumėte gauti sveikinimo laišką, kažkas panašaus į tai. Taigi aš naudoju R interaktyviai. Taip pat galite rašyti R scenarijus žinoma. Iš esmės scenarijai tiksli taip pat, kaip jei sėdėjo prie kompiuterio rašyti kiekvienoje vienu metu linijos vieną. Taigi pradėkime darant vektorių. Rodykle, C 1, 2. 1, 2, 4. Gerai žinoma. Galiu padaryti šrifto dydį didesni. AUDITORIJA: komandų Plius CONNER HARRIS: komandų Plius. Komandų Plius. Gerai, kaip tai? Geras? GERAI. Taigi pradėkime iki skelbiantis vektoriaus sąrašą. Ar, rodyklė, C 1,2,4. Mes galime pamatyti. Nesijaudinkite ten laikiklio. Skliausteliuose yra todėl, jei jūs atsispausdinti labai ilgi matricos, mes galime, kur esate. Vienas iš pavyzdžių būtų, jei aš tiesiog noriu asortimentą 2 200. Jei aš spausdinami labai ilgai masyvas, laikikliai Yra tik tiek galiu laikyti kelio kurių indekso mes apie, jei aš ieškau per tai vizualiai. Taigi šiaip ar taip, turime. Taigi sakiau, kad matricas bendrauti labai gražiai su, pavyzdžiui, Smūginės operacijos tai patinka. Taigi, ką jūs manote aš gauti, jei aš tipo plius 1? Yep. Teisė, dabar aš padaryti Tai skiriasi masyvo. Tarkime B C 20,40, 80. Taigi, ką manote Ši komanda darys? Pridėti elementus. Ir todėl iš esmės tai, ką ji daro. Taigi, tai yra gana patogu. Taigi, aš kaip apie Aš tai padaryti. c yra, tarkim, 6 kartus nuo 1 iki 10. Taigi, ką aš noriu pamatyti pateikta, manai? Taigi, visi šešis kartotiniai. Dabar, ką jūs manote nutiks, jei aš tai padaryti? Aš padaryti šį šiek tiek aiškiau, C, C. Taigi, kas atsitinka, tai jums manau, jei aš tai padaryti? plius c. [Nesigirdi] Auditorija: Bet klaida arba ji tik prideda pirmuosius tris elementus. CONNER HARRIS: Ne visai. Tai yra tai, ką mes turime. Kas atsitinka, yra trumpesnis masyvas, a, gavo cikliškai. Taigi, mes turime 124, 124, 124. Taip. Ir iš esmės, galite peržiūrėti Toks elgesys anksčiau, plius 1, kaip šio elgesio, kur poklasio trumpiausias masyvas yra tiesiog skaičius 1, kuri yra vienas iš elementų, masyvo. Aš tiesiog pasakyti vektorių visi laikas vietoj masyvas, nes tai, ką r dokumentai paprastai daro. Tai įsišaknijęs c įpročiu. Gerai, kad dabar mes turime šį masyvo. Taigi, mes turime šį masyvas, c. Mes galime santrauka statistiniai duomenys apie c, santrauka a. Ir tai gražus. Taigi dabar Pobawmy matricos dalykų. Tarkime, m yra matrica. Padarykime tai yra trys trys viename. Taigi nrows lygus 3, o ncols lygus 3. Ir duomenų tegul do-- tai kas jūs manote, kad tai ketina daryti? Teisė, tai kitą. Tai nrow ir ncolumn. Taigi, ką aš padariau tai aš paskelbė tris trys matricos ir aš išlaikė devynių elementų masyvo. Taigi visų logaritmas elementai vienas per devynių. Ir visi tie vertės užpildyti up array-- Atsiprašome? Auditorija: Tai yra baziniai 10 žurnalus? CONNER HARRIS: Ne, žurnalas natūraliojo logaritmo, todėl bazė El. Taip, jei norite bazė 10 žurnalo, manau, jūs turite prisijungti kas, padalytą iš žurnalo 10 d. Ir taigi [nesigirdi] tik duomenys užpildo masyvo, taigi viršaus į apačią, tada iš kairės į dešinę. Ir jei jūs norėjo padaryti kai kurie kiti masyvas, tarkim n yra matrica. Darom, Aš nežinau, nuo 2 iki 13. Arba aš kažką daryti įdomesnį. Aš tai padaryti nuo 2 iki 4. nrow lygus, tarkim, 3. ncol lygus 4. n. Taigi mes turime tai. Ir dabar, jei norime dauginti jų, mes tai n proc kartus procentų, nes tai n. Ir mes turime matricos produktus. Iki Jie Beje, matei, kaip kai skelbiau dydis N, 2-4 vektorius gavo cikliškai iki ji užpildyta visa n? Jei nori imtis savo reikšmę, skilimas, Tai yra tai, ką mes galime padaryti labai lengvai. Mes galime padaryti eigen n. Ir todėl tai yra pirmasis mūsų susidurti su sąrašu. Taigi, eigen n yra su dviem raktų sąrašo. Vertybes, kurios yra šio masyvo čia. Ir vektoriai, kuri yra šio masyvo čia. Taigi, jei norite išgauti, tarkim, šis trečiasis stulpelis nuo Vektorius matrica, nes kad vektoriai yra stulpelių vektoriai. Taigi, mes galime padaryti vec eigen N dolerio ženklas vektoriai, kablelis 3, nuo [nesigirdi]. Vec. Ar tai, kaip galima tikėtis. Tada sako n kartų proc kartų vec. Taigi rezultatas čia tikrai atrodo jei mes užėmė trečiąją savo reikšmę čia kuri atitinka trečioji tikrinis vektorius. Jis tiesiog padauginta viską Tai tikrinis vektorius, sudėtinės-protingas, pagal savo reikšmės. Ir tai, ką mes galime tikėtis, nes tai, ką tikrinės reikšmės yra. Ar kas nors čia ne imtasi Tiesinė algebra? Pora žmonių, Gerai. Tiesiog įjunkite savo smegenis išjungti šiek tiek. Ir iš tiesų, jei mes eigen n dolerio ženklas vertės 3 kartus vec, gerai gauti tą patį. Tai suformatuotas skirtingai eilės vektorius vietoj stulpelio vektoriumi, bet baisi. Ir taip tie, kurie iš esmės yra gražus dalykų, kad mes galime padaryti su matricų, parodė sąrašus. Turėčiau parodyti gražus dalykų apie funkcijas, taip pat. Taigi leiskite say-- [nesigirdi] funkcija, pavadinkime tai func prieš funkciją N squared-- iš tikrųjų, tai tikrai ne geriausias. a, b, Kvadratinį plius b. Taigi vienas dalykas, apie funkcijos, vėl, yra jie nereikia intymias grąžinimo ataskaitas. Taigi galite just-- paskutinis pareiškimas vertinami bus pareiškimą grąžino, arba grąžinta reikšmė. Taigi šiuo atveju, mes tik vertinant vienas teiginys A kvadratu plius b. Tai bus numatytasis sugrįžimo vertę. Jis niekada skauda įdėti į grįžti vertybes aiškiai, ypač jei jūs susiduriame su funkcija labai sudėtingos logikos tekėti. Tačiau jums nereikia juos. Taigi, dabar mes galime padaryti func 5, 1 ir tai iš esmės tai, ką jūs tikitės. Kažkas, ką galime padaryti, mes iš tikrųjų galime padaryti func B lygus 1, A yra lygus 5. Taigi, jei mes nurodome, kurių skaičius čia kuris argumentas eina prie kurio argumentas į funkciją, galime apversti aplink šios vertybės, kur norime. Auditorija: Ar yra priežastis rašyti jį su B lygus, o ne tik naudojant Skaičiai ir kablelis? CONNER HARRIS: Taip, dažniausiai tai padaryti, jei turite funkcijas su argumentais daug. Tai dažnai gali būti, pavyzdžiui, vėliavos, kad norite tik norite naudoti retais atvejais. Ir tokiu būdu jūs galite jei jums reikia jums gali kreiptis į konkrečių argumentų kad jūs norite naudoti ne numatytąsias vertes, ir jūs neturite išrašyti krūva vėliavų lygus klaidinga po jų. Arba galiu tai vėl rašyti numatytoji vertė, kaip B lygus 2. Ir tada aš galėčiau padaryti f func, Aš tai padaryti 4, 1 šiuo metu. Ir 17, kuris yra 4 kvadrato plius 1, kaip galima tikėtis. Bet aš taip pat galima tiesiog vadinu tai su func 4 ir aš gausiu 18, nes Nemanau, nurodyti b. Taigi b gauna numatytąją vertę 2. Gerai, kad dabar, jei esate Žemiau kartu su demo, įrašykite šią eilutę į jūsų komandą greitai ir pamatyti, kas ateina. Tiesą sakant, nedaryk to. Įveskite tai. Turėtumėte gauti kažką panašaus į tai. Taigi mtcars yra pastatytas į duomenų nustatyti šio demonstravimo tikslais, kad ateina with--, kad ateina pagal numatytuosius nustatymus su savo r platinimo. Tai yra statistikos iš kompiliacija 1974 klausimas variklinių tendencija žurnale nuo skirtingų automobilių modelių skaičiaus. Taigi ten mylių už galoną, cylinders-- Aš pamiršti, ką DISP is-- arklio. Tikriausiai. Jei jūs tiesiog "Google" MT automobilių, tada vienas iš pirmųjų rezultatų bus iš Oficialus r dokumentacija ir jis paaiškins Visos šios duomenų laukai. Taigi svoris is-- masės yra svoris tonomis automobilį. Klausimas sek yra ketvirtį mylios laikas. Taigi, dabar mes galime padaryti keletą įdomių apie MT automobilių yra duomenų laukas. Taigi, mes galime daryti tai, ko kaip eilės pavadinimų, MT automobiliams. Ir tai yra iš visų eilių sąrašas duomenų rinkinys, kuris yra pavadinimai automobilius. Mes galime padaryti colnames, MT automobilius tai. Jei mt automobiliai, Sub-skaitinis rodiklis, kaip 2. mes gauname antrą stulpelį iš tai, kuris būtų cilindrai. Auditorija: Ką jūs darote? CONNER HARRIS: Įvedžiau MT automobiliai, skliausteliuose E, kuris davė man antrą stulpelis iš mt automobiliams. Arba, jei norime eilutę, galiu tipas mtcars kableliais 2, pavyzdžiui,. Kita apvalus 2 kablelis, kaip kad. Ir tai eina savo eilės. Tai čia tik suteikia jums stulpelis, bet stulpelis kaip vektorių. Aš tiesiog supratau, dabar aš Pamiršau įrodyti kai cool dalykų apie vektorių kad jūs galite padaryti su indeksais. Taigi leiskite man padaryti, kad dabar. Taigi darykime c gets-- išleidimą tai ant pause-- 2 kartus 1 iki 10. Taigi c tiesiog bus vektorius nuo 2 iki 20. Galiu pasiimti elementus, kaip tai, C2. I gali praeiti vektoriuje kaip tai, c-- leiskite man naudoti kitą vardą nei c, kaip ir vec a. Iš esmės, aš darau Tai, kad jūs negaunate painiojama tarp C kaip vektoriaus konstrukcija funkcija, ir tada c kintamojo pavadinimą. Vec kronšteinai C 4, 5, 7. Tai gausite mane ketvirta, penkta, ir septyni elementai masyvo. Galiu padaryti vec, įdėti į neigiamas indeksas, kaip neigiamo 4. Tai bus man tai su ketvirtasis elementas pašalinamas. Tada, jei aš norėjau padaryti skiltelės, Galiu padaryti vec nuo 2 iki 6. 2 dvitaškis 6 yra tik dar vienas vektorius, kuris yra 2, 3, 4, 5, 6. Išspjauna, kad. Taigi šiaip ar taip, nugaros MT automobiliams. Taigi Pobawmy regresijos. Tarkime, modelis gets-- tegul tiesiškai regress-- aš nežinau. Pirma tegul jie pridėti mtcars, žinoma. Taigi [nesigirdi] Modelis LM, tegul regresuoti mylių į galonų apie Tilde svorio. Ir tada duomenys rėmas yra mtcars. Taigi santrauka modelis. Gerai, kad tai atrodo šiek tiek sudėtingas. Bet iš esmės, matydamas, kaip jei mes bandyti išreikšti mylių už galoną kaip linijinį funkcija svorio, tada mes turime šią eilutę čia kuri sulaiko ne 37.28. 37.28 būtų teoriniai mylių galonui automobilio, kuris sveria nuliui. Ir tada už kiekvieną papildomą toną, Jums trankyti apie penkių mylių už galoną išjungti, kad. Abu šie koeficientai jums matote, standartinės paklaidos ten. Ir jie yra labai statistiškai reikšmingas. Taigi, mes galime būti labai tikri, kad 1 E 10 neigiamo 10. Taigi 1 kartų kažką neigiamas 10, kad jei jūs padarote sunkesnis automobilis, jis turės blogesnes mylių už galoną. Arba mes galime išbandyti kokį kitą modelį. Pavyzdžiui, vietoj to, regresiją tai svorio, tegul regresuoti ant žurnalo svorio, nes gal veiksmingai svorio rida yra kažkaip ne linijinis. Tai suteikė mums r kvadratu nuo 0.7528. Taigi pabandykime tai. Šį kartą darykime skiriasi kintamasis, taip pat. Model2. Taigi, apibendrinimas model2. Visos teisės, todėl mes vėl turime mūsų geriausiai atitinkantis liniją čia. Ir tai LAIKĄ_ tai sakydamas Iš esmės, kad kiekvieną kartą, kai padidinti svorį per metus iki e veiksnys automobilių jūs prarasite šį daug mylių už galoną. Ir todėl šį kartą mūsų likutinė standartas klysti it-- tai nesvarbu, tikrai. Likutinė standartinė paklaida yra iš esmės tik standartinė paklaida kad liko po to, kai atimti tendencija liniją. Ir mūsų R čia kvadrato yra 0.81, kuris yra šiek tiek geriau nei kas mes turėjome anksčiau, 0.52. Ir todėl dabar tegul pridėti Terminas prie šio regresija. Taigi leiskite regresuoti mylių už galoną tiek dėl svorio log ir darykime, q mylių, ketvirtį mylios laikas. Gerai, jis turi turėti the-- Gerai, qsec. Qsec. Actually-- Atsiprašome, ką? Leiskite tai vadina kažką kitur be model2. Leiskite man skambinti šiuo model3. Ir todėl dabar mes galime padaryti suvestinę model3. Ir taip vėl, tai yra iš esmės ką galima tikėtis. Jūs turite teigiamą ašyje. Efektyvi padidinti svoris yra neigiamas. Ir veiksmingas padidinti ketvirčio mylios laikas yra teigiamas, tačiau, nors mažiau nei svorio. Dabar intuityviai, galite prasmės tai sakydamas galvoti apie sportinių automobilių. Yra labai greitas pagreitis, Per labai trumpą ketvirčio mylios kartus. Jie taip pat ketina naudoti daugiau dujų, kadangi daugiau protingas automobiliai ketinate turėti lėčiau pagreitį, aukštojo ketvirtį mylios kartų, ir naudoti mažiau dujų ,, taip aukštojo mylių į galonų. Didysis. Ir todėl dabar atėjo laikas sklypas kažką panašaus į tai. Taigi leiskite do-- tiek plikas kaulai mes galime padaryti plots-- nes Aš pridedamas šiuos duomenis rėmo before-- mes galime tiesiog padaryti plotai, WT mpg. Padaryti šiek tiek didesni. Ten, mes iš esmės turime sklaida sklypas, tačiau taškai yra tipo sunku pamatyti tai. Nepamenu ekspromtu ką sintaksė keisti sklypą. Taigi, manau, kad tai bus geras laikas auklėti, ten labai gražus BUILTIN Pagalba funkcija, pagalbos citatos funkcijos pavadinimas. Mes auklėti esmės viską, ką norite. Aš manau, kad aš iš tikrųjų tai padaryti tipo lygus psl taškų sklypai. Ar tai ką nors pakeisti? Ir ne, tikrai ne. Gerai. Dėl tam tikrų priežasčių, kai aš padariau tai mano kompiuteryje, o atgal, visi sklaida taškai buvo daug aiškesnis. Šiaip ar taip, yra sklaida rūšies matomas? Yra viena ten. Keletas ten, tik nedaugelis. Jūs galite rūšiuoti juos matyti, tiesa? Taigi, jei norime pridėti, geriausiai atitinkantis linija į šį barelio čia, kuris yra šiek tiek bare bones-- leiskite man padaryti jį šiek tiek gražiau. Pagrindinė lygus palyginti svorio. Mylių už galoną. Vėlgi, jūs galite pamatyti, kaip naudinga pasirinktiniai argumentai yra čia su taip pat neturi daryti dalykus A tam tikra tvarka su klaviatūra argumentų kai turite sklypus, nes tai imtis argumentų daug. Xlab lygi masė, masė, t. Gerai. Gerai, taip, šis prietaisas yra yra šiek tiek erzina. Bet jūs galite pamatyti tarsi ten, ten grafikas pavadinimas ant šono. Čionai there's-- apačioje Čia yra ašis etiketės. Nepamenu ekspromtu ką komandas ars-- ką funkcijos yra padidinti šių etikečių ir pavadinimų dydis, bet jie ten. Ir taip, jei norime pridėti geriausiai tinka linija, mes galime padaryti kažką like-- I turi sintaksė parašyta čia. Taigi nepamirškite mes tiesiog pridėti modelį buvo MPG, svoris, mtcars. Ir todėl, jei aš norėjau pridėti geriausiai tinka linija, galėčiau padaryti, B linijos modelis. Ir bumas, mes turime geriausiai atitinkantis liniją. Tai tipo sunku pamatyti dar kartą. Aš gana gaila apie technologinių sunkumų. Bet jis veikia iš esmės Top kairėje apačioje dešinėje. Ir jei skalė buvo didesnis, galima pamatyti kad įsiterpti yra tai, ką jūs galite rasti iš suvestinių statistinių duomenų jei įvesite apibendrintą modelį. Gerai, kad aš tikiuosi, kiekvienas gauna kažkas prasmės ką R yra, ką ji gera. Jūs galite padaryti daug gražiau nei sklypai tai ant savo laiką, jei jums patinka. Taigi užsienio funkcija sąsaja. Tai yra kažkas, kad yra ne paprastai įtraukti į įžanginių paskaitų arba įvadinė nieko r. Tai nėra tikėtina, kad jūs ketinate reikia. Tačiau, aš rasiu tai naudinga mano paties projektai praeityje. Ir ten nieko gero Susipažinkite jį internete. Taigi, aš tik ketina skubėti jus visus per šį ir tada jūs laisvai išvykti. Ir taip užsienio funkcija sąsaja yra tai, ką galite naudoti, norėdami paskambinti ir sužinoti, funkcijos, kurių R. viduje, R yra pastatytas ant C. R "aritmetinis yra tik C anketa 64 bitų slankiojo kablelio aritmetiką, kuris yra tipo du kartus [nesigirdi]. Ir jūs galbūt norėsite padaryti tai dėl kelių priežasčių krūva. Už vieną, R yra aiškinama, kad tai nerenkami iki mašininį kodą. Taigi galite perrašyti savo vidiniai vyriai C ir tada gauti galimybė naudotis R. Norite privalumas tai šiek tiek patogiau nei C. Jis turi geriau diagramų įrenginiai ir Papuošalą. Ir nors vis dar gali gauti Maksimalus greitis iš vidinių vyrių, kuri yra ten, kur tikrai reikia. Naudojimas kitur Eksploatuojami C bibliotekas, tai taip pat svarbu. Jei turite kokių nors C biblioteką kaip, Aš nežinau, Furjė transformacija, arba kai labai Archean naudojami statistiniai procedūra aukštos energijos astrofizika ar kažkas, aš nežinau. Didelis energijos astrofizika nėra net galvoti, manau. Bet jūs galite padaryti, kad vietoj to, parašyti gimtąja R uostą iš jų. Ir the-- ir vėl, pavyzdžiui, jei jums ieškoti dauguma R numatytųjų bibliotekose, ant vidinės, kad vidinės yra ketinate naudoti užsienio funkciją sąsaja labai plačiai. Jie tokie dalykai kaip Furjė transformuoja arba skaičiavimo koreliacijos koeficientai parašytas C, ir jie bus tereikia R vynioti aplink juos. Ši sąsaja yra tiek sunku. aš manau jo sunkumas yra perdėti A daug instrukcijas rasite. Tačiau nepaisant to, ji yra šiek tiek painu. Ir man nebuvo suteikta galimybė rasti gerą vadovėlį už jį, todėl tai jį dabar. Vėlgi, visa ši segmentas yra daugiau vėlesniam nuoroda. Nesijaudinkite kopijavimo viskas žemyn dabar. Taigi šiuos nurodymus yra už Unix sistemas, Linux BSD, OS X Nežinau kaip tai veikia Windows, tačiau prašome tiesiog nereikia daryti savo Galutinis projektas "Windows". Jūs tikrai nenorite. UNIX yra daug geriau rinkinys iki atsitiktinis programavimą. Taigi, iš esmės užsienio funkcija sąsaja. Jei norite parašyti C funkcija, skirta naudoti su R, ji turi imtis visų argumentai, kaip patarimų. Taigi vienišiems vertybių, tai reiškia, kad jis manimi atkreipė dėmesį į vertės. Dėl matricos, tai yra žymeklis į pirmąjį elementą, kuris kas masyvo pavadinimai iš tikrųjų reiškia. Vėlgi, tai yra kažkas, jūs turėtumėte turėti gana visiškai žemyn po p nustatyti penki. Array pavadinimai yra tik rodyklės į pirmojo elemento, Tipas slankaus kablelio yra dvigubai. Ir jūsų funkcija turi grąžinti negaliojančiu. Vienintelis būdas, kad ji gali iš tikrųjų pasakyti, R, kas atsitiko yra modifikuojant atmintį, R davė į jį per užsienio funkcija sąsaja. Taigi, aš parašiau tai pavyzdys čia, tai yra funkcija, kuri apskaičiuoja naudoti dot produktas dviejų vektorių. Tai užtrunka du argumentus, vec1, vec2, kurie yra patys vektoriai, ir tada, n, kuris yra ilgis, nes vėl, R yra pastatyta [nesigirdi] išsiaiškinti iš vektorių ilgis, bet, C nėra. C, vektoriai yra savavališkas apibrėžiamas riekė atmintį. Taigi, kaip jūs galite apskaičiuoti dot produktus tiesiog nustatykite parametrą iš iki nulio ir tada pakartoti per nuo 1 iki star n, nes n yra rodyklė į ilgį, tiesiog pridėkite kažką Tai iš parametras. Ir tai gali būti gera praktika jei jūs ketinate padaryti tai rašyti du atskirus C funkcijas. Vienas iš jų has-- vienas iš jų tik priima argumentus ir tipai kad jie būtų paprastai bus C Todėl laikosi masyvo argumentai, kaip patarimų. Bet vieno vertė argumentai kaip N, tai tik mano, kaip vertes kopija, be rodykles. Ir tada ji nėra [Nesigirdi] iš žymeklis. Ir tada jūs galite turėti kitoks, iš esmės, įvynioti funkcija, kuri iš esmės rankenos reikalavimus užsienio funkcija sąsaja jums. Kaip jums tai vadina R yra, kai jūs turite savo funkcija parašyta C, Jūs Type R cmd shlib, R komanda shared library, foo taškas c, ar kas Jūsų failas vardas, ir OS lukštais ne R terminalą. Ir tai sukurs biblioteka vadinama rūšys dot padaryti. Ir tada jūs galite įkelti jį į mūsų scenarijų arba interaktyviai su komandų DYN dot apkrovos. Tada yra funkcija R vadinamas taškas c. Tai užtrunka argumentus, kurie yra pirmiausia į į C pavadinimas funkcijų kad norite skambinti. Ir tada visi parametrai tą funkciją, jie turi būti į tinkamą tvarka. Jūs turite naudoti šias tipas prievartą veikia kaip sveikasis skaičius, nes dvigubai, nes charakterio, ir kaip logiška. Ir tada, kai ji grąžina sąrašas, kuris vėl yra tik asocijuota masyvas iš parametrų vardai ir reikšmės Po funkcija buvo paleisti. Taigi, šiuo atveju, nes dot yla turi argumentai vec1, vec2 ir int N, N iš. Dot c turime dot prod, iš funkcijos pavadinimas mes skambina, vec1, vec2, tipo prievartos. Vieno iš vektoriaus ilgis, Aš tiesiog pasirinkau vec1 savavališkai. Būtų labiau patikimas pasakyti s sveikas min ilgis vec1, ilgis vec2. Tada kaip dvigubo nulio, nes mes tikrai ne rūpintis, kas vyksta į iš parametro, nes mes nustatant jį iki nulio vistiek. Ir tada rezultatai ketinate būti didelis susijęs masyvas iš esmės vec1 yra kas, vec2 yra nesvarbu. Bet mes domina , ir todėl mes galime gauti, kad iš. Tai vėlgi, labai žaislas pavyzdys Užsienio funkcija sąsaja. Bet jei jūs turite apskaičiuoti tašką produktai masyvi vektorių kilpos, arba, jei turite daryti kažkas kilpa, ir jūs nenorite pasikliauti R, kurie turi tam tikrų pridėtinių tiek įmontuota į jį, tai gali būti naudinga. Vėl, tai paprastai nėra įvadinis temą R. Tai nėra labai gerai pagrįsta dokumentais. Aš tiesiog taip, nes Radau, kad tai naudinga praeityje. Taigi, bloga praktika. Minėjau, kad ten už linijos funkciją. Paprastai jūs neturėtumėte, kad kalba, o ne naudoti jį. Remiantis tuo, kaip R įgyvendina iteracijos viduje, ji gali būti lėtas. Jie tiesiog taip atrodo negraži. R rankenos vektorius labai gražiai, todėl Neretai jums nereikia naudoti jį. Tada galite paprastai pakeisti vektorių dažnai su šių funkcijų vadinamos aukštos užsakymų funkcijos, žemėlapis, Sumažinti, Ieškoti arba filtru. Aš tiesiog pateikti keletą pavyzdžių, ką jie daro. Žemėlapis yra didesnis Kad funkcija, nes užtrunka funkciją kaip argumentą. Taigi jūs galite suteikti jai funkciją, galite suteikti jai masyvą, ir ji taikys funkciją į kiekvieną masyvo elemento ir grąžinti naują masyvo. Sumažinti, iš esmės jūs suteikiate tai masyvas, jūs suteikiate jai funkcija, kuri užima du argumentus. Pirma, ji taikys funkciją Pirmasis argumentas, su kai starterio vertės. Tada minėto rezultato antrąjį. Tada į tą rezultatą trečia, tada į tą rezultatas ketvirtas. Ir tada grįžti, kai ji pasireiškia iki galo. Taigi, pavyzdžiui, jei norite apskaičiuoti visų elementų sumą masyve, nei galite skambinti sumažinti su [nesigirdi] sumažinti papildymus funkcija, pavyzdžiui, func a, b, grįžti pliuso b. Ir tada pradėti vertę nuo 0. Ir visa tai, jūs galite juos rasti aprašyta R dokumentuose, bet vadovėlis Funkcinis programavimas. Taip pat ši klasė funkcijos vadinamos taikyti funkcijas, kurį aš don't-- jie šiek tiek sunku paaiškinti, bet jei pažvelgti į [nesigirdi] išvydo, kad aš aktai pradžioje, jis aiškina juos gana gerai jo priedėlio R programavimą. Daugiau apie praktiką, pridedant į vektorių. Taip? Manau, kad turėtų ištaisyti tai. Tokiu pirmoje eilutėje, vec rodyklė, kad rodyklė ten neturėtų būti. Galite priskirti prie vektorių, vėl, kuriuos priima savo ilgio ir 1 ir paskirti šiek tiek į šią vertę. Tai bus pratęsti vektorių, ar jūs gali padaryti vec lygus C vec newvalue. Vėlgi, jei jūs naudojate C su vienas argumentas kaip vektorių, gautas hierarchija gauna nugriautas. Taigi jūs tiesiog gauti vektorių kad manimi pratęstas 1 d. Niekada tai padaryti. Priežastis, kodėl jums neturėtų daryti tai tai. Kai paskirstyti vektorių, ją suteikia jai tam tikrą riekė atmintį. Jei jums padidinti, kad vektoriaus dydį, ji turi perskirstyti vektorių kažkur kitur. Ir taip perskirstymas yra gana brangus. Aš neisiu į detales, kaip atminties dalikliai yra įgyvendinamos operacinės sistemos lygmeniu, bet tai užima daug laiko rasti naują riekė atmintį. Taip pat, jei esate perskirstyti daug ir daug laipsniškai didesnis gabaliukus, jūs galų gale su kažkuo, vadinamą atminties fragmentacija, kur nėra laisvos atminties padalintas į daug mažų blokų atminties skirstytuvai požiūriu. Ir ji pasireiškia sunkiau ir sunkiau rasti atminties kitų dalykų. Taigi vietoj to, jei jums reikia tai padaryti, jei reikia augti vektorių iš vieno galo į kitą, o ne pridedant į jį nuolat, turėtumėte iš anksto paskirstyti ją. Vec rodyklė, vektorinis ilgis lygi 1000, arba nepriklausomai. Ir tada galite tiesiog priskirti į nešiotojo vertybės vieną laikas, kai jūs skiriama vieną kartą. Išbėgau į tai, vėlgi, mano vasaros darbą Kai rašiau NRI diferencialą lygtis Solver. Ne simbolinis skaičiaus. Idėja yra tai, kad, kai jūs turite viena vertę už savo sprendimą, naudoti, kad apskaičiuoti kitą. Taigi, mano natūrali naivus polinkis buvo pasakyti Gerai, todėl aš pradėsiu su vektoriumi tai didelė vertybė. Apskaičiuojamas iš to kito vertę kad eina ant mano sprendimas vektorių, ir prideda, kad. Sukurti kažką kita, pridėti, kad. Jis ėjo labai, labai lėtai. Ir kai aš supratau, tai ir aš pakeičiau savo sistemą nuo pridedant į šį vektorių kaip 10.000 iki 100.000 kartų, tiesiog iš anksto paskirstant vektorių ir tiesiog veikia su tuo. Aš turiu daugiau kaip 1000 kartų greitis iki. Taigi tai yra labai dažnas spąstai R programavimą. Jei jums reikia sukurti vektoriaus Dalimis, iš anksto paskirstyti ją. Kita dažna Kelionės up-- tai mano paskutinis Pristatymas, ne worry-- yra klaida tvarkymas. R, būti nuoširdus, ar ne tikrai tai padaryti labai gerai. Yra daug problemas, kurios gali apkarpyti. Pavyzdžiui, jei jūs gaunate masyvą arba vektorių iš funkcijos kad jūs tikėjotės vieną vertė iš, arba atvirkščiai, ir jums perduoti, kad į funkciją, kuri rašėte laukiasi vieną reikšmę, kurios gali būti problema. Kai kurias funkcijas grįžti niekinis, kaip padaryti, tarkim, skaityti nuo A neegzistuoja raktas sąraše. Bet null nepatinka C kur, jei bandote skaityti iš seno žymeklis, [nesigirdi] NULL žymiklį, jis tiesiog SEG gedimus ir jei jūs esate savo išriktuotojo tai jums pasakys tiksliai kur esate. Vietoj to, niekinis bus do-- funkcijas darys nenuspėjamas dalykus jei jie ranka null. Pavyzdžiui, jei jūs įteikė max NULL, jis tau duos neigiamą begalybę. Ir taip, taip. Ir taip atsitiko man vieną kartą kai turėjau pasikeitė laukų krūva mano sąrašo struktūra kai nekeičiant jų kitur kai man buvo skaityti iš jų. Ir tada aš visus atsitiktinių rūšių infinity rezultatai apkarpyti iki ir aš ne idėja, iš kur jie atėjo. Ir, deja, ten pritrūko R griežtas režimas kur jūs galite pasakyti, jei kažkas atrodo, kad jis gali būti klaida, tiesiog sustoti ten, kad aš galiu būti disciplinuotas ir nustatyti, kad. Tačiau yra kažkas vadinama sustojimo ar ne. Tai prilygsta C anketa tvirtinimu, jei jūs kalbėjote apie tai. Nemanau, C teigti, yra paskaita tema, bet jūsų skyriuje vadovas galėjo dingo per jį. Ir sustoti, jei ne iš esmės trunka bet tarinys, todėl bet koks pareiškimas, kad gali būti true arba false. Ir jei ji klaidinga, jis sustos savo programą. Jis jums pasakys, ką jums liniją buvo ir ką būklė nepavyko. Ir šis labai naudinga, pavyzdžiui, normalumas patikrinti, funkciniai įėjimai. Taigi, jei turite funkcija ir tikitės, tarkim, jei turi man duoti datą, noriu datos būti tik ilgio 1 vektorius ir kur nors tarp 1 ir 31. O jei ne, aš žinau, kažkas negerai. Ir aš pasirinksiu sustoti prieš tai turi atsitiktinį pasibelsti į reiškiniai kodas kad tai sunkiau atsekti per. Štai vienas galimas naudoti stotelės, jei ne. Šiaip ar taip, "Gerai". Štai pabaiga. Labai ačiū, kad atvykote. Esu rangas mėgėjų ne tai. Taigi atsiprašau, jei jums nuobodu arba sutrikę ar ką turime jums. Aš laimingas imtis klausimus elektroniniu paštu ne connorharris@college.harvard.edu~~pobj. Tai pasakytina ir apie visiems žiūrėti šį gyvena ar vėliau. Be to, nors aš nesu jutikliu TF, aš taip pat esu labai pasirengę tarnauti kaip neoficialus patarėjas tiems, kurie manimi naudojant R galutinį projektą. Jei norite, kad tada tiesiog pasikalbėti su savo TF ir tada parašyti man laišką, kad Aš žinau, ką jūs dirbate ir todėl galiu įsteigti susitikimą kartus su jumis, jei norite. Taigi dar kartą, labai ačiū. Tikiuosi jums patiko. Auditorija: [nesigirdi]. CONNER HARRIS: žinoma. Auditorija: Kokios projekto būtų CS studentas naudoti R? CONNER HARRIS: Taigi, jei esate ne daryti kažkas, kad yra vien tik duomenų gavybos, Pavyzdžiui, ir ten Yra daug dalykų, galima padaryti su tuo duomenimis Kasyba ir mašina mokymąsi. Galbūt Jūs norite naudoti R kažko komponentas. Aš išvedė iš pradžių, pavyzdį informacija, jei rašote svetainę ir norite paleisti automatizuotas statistinė analizė jūsų serveryje rąstai tam tikru laiku kiekvieną dieną, kad gali būti kažkas, kad yra labai lengva padaryti vos per trumpas R scenarijus, kad jūs galite suplanuoti paleisti kiekvieną naktį, pavyzdžiui. Ir aš tikiu, kad, jei yra kokia nors priežastis, jūs noriu statistiką ar grafikų galimybes ir šią paleisti automatiškai, o ne turintys bendrauti su dalykų Excel, pavyzdžiui, kad kažkas Jūs galbūt norėsite naudoti R. Taigi bet daugiau klausimų prieš atostogas? Nėra? Gerai, gerai, vėl, ačiū Labai ačiū, kad atvykote.