CONNOR HARRIS: Still I held sumir spennandi vídeó framleitt með faglega ráðgjöf sem notar R mikið í starfi sínu. Sögumaður: Hvað er á bak við tölfræði, Analytics, og visualizations bjartasta gögn vísindamenn sem í dag er og viðskipti leiðtogar treysta á að gera öflugur ákvarðanir? Þú getur ekki alltaf séð það. En það er þarna. Það heitir R, opinn uppspretta R-- á tölfræðileg forritunarmál Þessi gögn sérfræðinga heims yfir notkun fyrir allt frá kortlagning breiðum félagslegum og markaðssetning þróun online að þróa fjárhagslega og loftslag módel sem hjálpa aka hagkerfi okkar og samfélög. En hvað nákvæmlega er R og þar var R byrja? Jæja upphaflega, R byrjaði hér með tveimur kennurum sem vildu betri tölfræðileg vettvangur fyrir nemendur sína. Svo þeir skapa eitt fyrirmynd eftir tölfræðilegum tungumáli S. Þeir, ásamt mörgum öðrum, haldið að vinna á og nota R, skapa verkfæri fyrir R og finna ný forrit fyrir R hverjum degi. Þökk sé þessu er Alþjóðlegt samfélag átak, R haldið vaxandi með þúsundir af notandi-skapa bókasöfnum byggð til að auka R virkni og mannfjöldi-uppspretta gæði löggilding og stuðning frá þekktasta iðnaður leiðtoga á öllum sviðum sem notar R. Sem er frábært, því R er best hvað það gerir. Verðandi sérfræðinga fljótt og auðveldlega túlka, samskipti við, og sjón gögn sem sýna hratt, vaxandi samfélag R notenda um heim allan og sjá hvernig opinn uppspretta R halda áfram að móta framtíð tölfræðileg greiningu og gögn vísindi. CONNOR HARRIS: OK, frábært. Svo eigin kynningu mína verður aðeins meira edrú. Það mun ekki fela í sér það mikið spennandi bakgrunnur tónlist. En eins og þú sást í the vídeó, R er tegund almenns tilgangi program tungumál. En það var búið að mestu fyrir hagskýrslugerðar. Svo það er hannað fyrir tölfræði, fyrir greiningu gagna, fyrir gögn námuvinnslu. Og svo þú getur séð þetta í fullt af hönnun val að framleiðandi af R gert. Það er hannað fyrir mestu, fólk sem er ekki sérfræðingar í forritun, sem eru bara að tína upp forritun á hlið svo þeir geti gert vinnu sína í félagsvísindum eða í tölfræði eða hvað sem er. Það hefur a einhver fjöldi af mjög mikilvægur munur frá C En setningafræði og málin að það notar eru svipaðar. Og þú ættir að finna nokkuð mikið heima strax the kylfa. Það er mikilvægt tungumál. Ekki hafa áhyggjur of mikið um það ef þú veist ekki hugtakið. En það er greinarmunur milli áríðandi, declarative, og hagnýtur. Mikilvægt bara þýðir að þú gerir yfirlýsingar sem eru í grundvallaratriðum skipanir. Og þá túlkur eða tölva segir þá einn í einu. Það er veikt slegið, það eru engar gerð yfirlýsingar í R. Og þá línur milli mismunandi gerðir eru aðeins meira laus en þeir eru í C, til dæmis. Og eins og ég sagði það eru mjög umfangsmiklar aðstaða fyrir graphing, fyrir tölfræðilegar greiningu, fyrir gögn námuvinnslu. Þetta eru bæði byggð inn í tungumál og eins og the vídeó sagði, þúsundir þriðja bókasöfn aðila sem þú getur sótt og notað ókeypis með mjög laus skilyrða leyfi. Svo almennt, myndi ég mæla með að þú horfir á þessar tvær bækur ef þú ert að fara að vinna á R. Einn þeirra er opinber R byrjandi er leiða. Það er viðhaldið af algerlega verktaki af R. Þú getur sótt það aftur, án kostnaðarlausu og löglega á tengilinn þar. Öll þessi skyggnur eru að fara að fara upp á internetinu, á CS50 vefsvæði eftir það er gert. Þannig að ekki þarf að afrita það niður frantically. Hitt er a Kennslubók með Cosma Shalizi, sem er tölfræði prófessor við Carnegie Mellon, sem heitir Advanced Data Greining úr rannsókn Elementary Point of View. Þetta er ekki fyrst og fremst að R bók. Það er tölfræði bók og það er greining gagna bók. En það er mjög aðgengileg fyrir fólk sem hafa modicum tölfræði þekkingu. Ég hef aldrei tekið formlega námskeið. Ég veit bara bita og bita frá ýmsum bandamanna greinum sem ég hef tekið námskeið í. Og ég var fær til að skilja það fullkomlega vel. Allar tölur eru gefnar í R. Þeir eru í R og þeir hafa einnig kóða skráningar neðan hverja mynd sem segja þér hvernig þú gera hverja mynd með R kóða. Og það er mjög gagnlegt ef þú ert að reyna að líkja eftir sumir tala þú sérð í bók. Og aftur frjáls sækja stat.cmu.edu/cshalizi/ miður, sem ætti að vera rista Tilde cshalizi. Ég ætla að gera viss um að leiðrétta það þegar opinber renna upp. / ADAfaEPoV sem er bara skammstöfun á bókartitil. Svo almennt caveats-- R hefur mikið af getu. Ég er bara að fara að vera fær um að ná yfirborð fullt af hlutum. Einnig fyrsta hluta námskeiðsins er að fara að vera eitthvað af gögn sorphaugur. Ég er alveg miður um það. Í grundvallaratriðum, ég ætla að kynna þig fullt af hlutum strax the kylfa, fara eins fljótt og auðið er. Og þá fáum við að gaman hluti, sem er kynningu þar sem ég get sýnt þér allt sem við höfum talað um á skjánum. Og þú getur spilað í kring á eigin spýtur. Þannig að það er að fara til vera a einhver fjöldi af tæknilega efni kastað upp á hér. Ekki hafa áhyggjur óður í að afrita allt sem niður. Vegna A er hægt að fá allar efni á CS50 heimasíðu seinna. Og B, það er ekki í raun að mikilvægt að leggja á minnið þetta frá glærum. Það er mikilvægara að þú fáir sumir leiðandi leikni með það og sem kemur frá bara að spila í kring. Svo hvers vegna að nota R? Í grundvallaratriðum, ef þú ert með verkefni sem felur námuvinnslu stóra gagnagrunna, gögn visualization, þú ætti að nota R. Ef þú ert gera flókinn tölfræðigreiningar, sem myndi vera erfitt í Excel, til dæmis, myndi það Einnig er hægt að good-- einnig ef þú ert að gera tölfræðileg greining sem er sjálfvirk. Segjum að þú ert að viðhalda vefsíðu. Og þú vilt lesa miðlara þig inn á hverjum degi og taka saman smá lista, eins efstu löndum sem notendur eru að koma frá, sumir yfirlitstölfræði á hversu lengi þeir eyða á vefsvæði þínu eða hvað sem er. Og þú vilt keyra þetta á hverjum degi. Nú ef þú ert að gera þetta í Excel, þú þyrftir að fara til miðlara þig inn, flytja að inn í Excel gögn töflureikni, hlaupa alla greiningu handvirkt. Með R, getur þú bara að skrifa eitt handrit. Áætlun það að keyra á hverjum degi frá stýrikerfið. Og þá á hverju kvöldi á 2:00 AM, eða þegar þú tímaáætlun það til að keyra, það mun líta í gegnum þinn internet umferð fyrir þann dag. Og þá með næsta degi, þú munt hafa þetta ljómandi, nýja skýrslu eða hvað með allt í Upplýsingarnar sem þú baðst um. Svo í rauninni R er fyrir Cisco forritun á móti Cisco greiningu. Forkeppni er lokið. Við skulum fara í alvöru hlutum. Þannig að það eru þrír alvöru gerðir í tungumáli. Það er tölustafir tegund. Það er tegund af mismunur milli heiltölur og fljótandi stig, en ekki í raun. Það er eðli tegund, sem er strengi. Og það er rökrétt tegund, sem er Booleans. Og þú geta umbreyta á milli tegunda nota þessar aðgerðir eins og tölustafir, sem persónu sem rökrétt. Ef þú kallar, til dæmis, sem tölugildi á streng, það verður að reyna að lesa þessi band sem tala, á sama hátt sem a2i og scanf gera, og C. Ef þú kalla eins tölugildi á satt eða ósatt það mun umbreyta til 1 eða 0. Ef þú kallar og eðli á neitt það verður umbreyta það inn í a streng. Og þá eru vektorar og fylki. Svo vektor eru í grundvallaratriðum 1 víddar fylki. Þeir eru það sem við köllum fylki í C. Fylki, 2 víddar fylki. Og þá hærri víddar fylki þú getur hafa 3, 4, 5 stærðir eða hvað af tölum, af strengjum, rökrétt gildi. Þú hefur einnig listar sem eru eins konar tengin array. Ég næ í þá hluti. Svo einn mikilvægur hlutur að ferðir fólk upp í R er að það eru engin alvöru, hreint lotukerfinu tegundir. Það er engin raunveruleg skil milli a tala, eins tölugildi, og lista yfir tölum. Töluleg gildi eru í raun sama og vektor af lengd 1. Og þetta hefur a tala af mikilvæg áhrif. Einn, þýðir það að þú getur gert það mjög auðveldlega að fela eins og að bæta símanúmeri vektor. R mun í grundvallaratriðum mynd út hvað þú átt við með því. Og ég næ að því í annað. Það þýðir líka að það er engin leið fyrir þá tegund checker-- að því marki að eitthvað svona er í R-- að segja þegar þú hefur staðist í einu gildi hvenær hann telur array eða öfugt. Og það getur valdið sumum skrýtið vandræði sem ég hljóp inn þegar Ég var að nota R á starfi í sumar mínu. Og það eru engin blönduð gerð fylki. Svo þú getur ekki hafa fylki voru Fyrstu þættir er, ég veit ekki, strengurinn "John" og Annað þáttur er númer 42. Ef þú reynir að gera það, þá munt þú fá allt bara breytt í streng. Þannig að við höfum string John, string 42. Svo óvenjulegt nokkur dæmi um setningarleg features-- mest R setningafræði er mjög svipuð C Það eru nokkur mikilvæg munur. Vélritun er mjög veik. Þannig að það eru engar breytilegum yfirlýsingar. Framsal notar undarlegt villa rekstraraðila minna en bandstrik. Athugasemdir eru með kjötkássa merki. Ég held nú daga og við köllum það hashtag þó það er í raun ekki accurate-- ekki tvöfaldur rista. Mát leifar eru með merki %%. Integer deild er með% /%, sem er mjög erfitt að lesa þegar það er spáð upp á skjánum. Þú getur fengið svið heiltölur í ristli. Svo 2,5 mun gefa þér vektor af allar tölur 2 til 5. Fylki eru einn-verðtryggð, sem skrúfur a einhver fjöldi af fólk upp ef þeir eru frá fleiri dæmigerð forritunarmál, eins og C, þar sem mest það eru núll-verðtryggð. Aftur, þetta er þar sem arfleifð R er sem tungumál fyrir ekki eins faglega forritari kemur í. Ef þú ert félagsfræðingur eða hagfræðingur eða eitthvað og þú ert að reyna að nota R grundvallaratriðum sem viðbót að meira máli þitt faglega vinnu, þú ert að fara að finna einn-flokkun aðeins meira náttúrulegur. Vegna þess að þú byrja að telja á 1 í daglegu lífi, ekki 0. Fyrir-lykkjur, þetta er svipað og sem framhandleggur reisa í PHP, sem þú munt fá að læra in-- fljótlega. Sem er fyrir gildi í vektor og þá getur þú gert það með gildi. Áhorfendur: Það er að koma upp í fyrirlestri. CONNOR HARRIS: Ó, það er koma upp fyrirlestur, framúrskarandi. Áhorfendur: Framsal, er það ætlast til að benda frá hægri til vinstri? CONNOR HARRIS: Frá hægri til vinstri, já. Þú getur hugsað um það sem verðmæti á rétt shoved í breytunni til vinstri. Áhorfendur: OK. CONNOR HARRIS: Og að lokum virka setningafræði er svolítið skrítið. Þú hefur nafn virka foo, úthlutað að þetta efni virka, fylgt með öll rök og síðan var Lík virka eftir það. Aftur þetta getur virðast svolítið skrítið. Þær verða annað eðli eftir þú vinnur með tungumálið fyrir smá. Svo vigra, hvernig þú Teikna vigur er þú slærð C, sem er leitarorðið, þá allar tölur sem þú vilt eða strengir eða hvað sem er. Rök einnig vektor. En vegna array fær fletja. Svo þú getur ekki hafa fylki hvar sumir þættir eru einn tölur og sumir þættir eru fylki sjálfir. Þannig að ef þú reynir að reisa array voru fyrsti þátturinn er 4 og Annað þáttur er fylki 3,5 þú munt bara fá þrjá þætti array, 4,3,5. Þeir geta ekki verið af blönduðum gerð. Ef þú reynir að lesa eða skrifa utan marka vigurs þú munt fá þetta gildi kallast NA a sem stendur fyrir vantar gildi. Og þetta er ætlað fyrir eins tölfræðinga sem eru að vinna með ófullnægjandi gagnagrunna. Ef þú sækir um aðgerðina sem er ætlað að taka bara eitt númer til fjölda þá er það sem þú munt fá er aðgerð mun kortleggja yfir fylkisins. Þannig að ef virka segjum tekur númer og skilar það ferningur. Þú sækir að til fylkisins 2,3,5 Það sem þú munt fá er array 4,9,25. Og það er mjög gagnlegt því það þýðir að þú þurfa ekki að skrifa fyrir lykkjur fyrir gera mjög einfalda hluti eins beita aðgerð til allra félagsmanna í gögnum. Sem ef þú ert að vinna með stór gagnagrunnar, þú þarft að gera a einhver fjöldi. Tvöfaldur aðgerðir eru beitt færslu eftir færslu. Ég næ í það. Þú getur fengið aðgang að þeim með fylki eða vektor með hornklofum. Þannig að nafn vektor hornklofum 1 mun gefa þér fyrstu frumefni. Nafnið Vector hornklofum 2 mun gefa þér annað frumefni. Þú geta fara framhjá á vektor vísitalna og þú munt komast aftur út í grundvallaratriðum undir þáttur. Svo þú getur gert vektor nafn sviga C, 2,4 og þú munt fá út vektor sem inniheldur öðrum og fjórða þættir array. Og ef þú vilt bara Samantekt tölfræði af vektor eins kvartelabilið svið, miðgildi, hámark, hvað, þú getur bara slegið yfirlit vektor nafn og fá það út. Það er í raun ekki gagnlegt í forritun en ef þú ert að spila um gagnagrunna, það er vel. Matrices-- grundvallaratriðum hærri víddar fylki. Þeir hafa sérstakan veldistáknun setningafræði. Matrix með fjölda sem fær fyllt in-- miður, fylkinu sem gögn, Fjöldi lína, fjölda dálka. Þegar þú hefur nokkrar upplýsingar, fyllir það í array í rauninni að fara efst til botn fyrst. Þá vinstri til hægri. Svo, eins og þessi. Og R hefur byggt í Matrix margfeldi, spectral niðurbrot, diagonalization, a einhver fjöldi af hlutur. Ef þú vilt meiri víddar fylki, svo 3, 4, 5, eða hvað mál sem þú getur gert það. The setningafræði er array lítil jafngildir c, þá listi yfir mál. Svo ef þú vilt a 4 víddar array með mál 4., 7., 8., 9., fylking, lítil jafngildir C (4,7,8,9). Þér aðgang einstaklings- gildi með sviga Fyrsta færsla kommu annarri færslu. Þú getur fengið allt sneiðar lína eða dálka. Með þessu ófullnægjandi setningafræði það er bara róa tala komma eða kommum dálk númer. Svo listar eru eins konar tengslum fylkisins. Þeir hafa eigin setningafræði þeirra hér. Aftur ekki frantically afrita alla þessa niður. Þetta er bara þannig að fólk fara í gegnum renna síðar hafa þetta allt í fallegu tilvísun. Og þetta mun verða mjög eðlilegt þegar Ég geng reyndar í gegnum kynningum. Svo útlistar rauninni tengist fylki. Þú getur fengið aðgang að gildi með Nafnið listi, dollaramerki, lykill. Svo ef þinn heitir foo, þá er hægt að nálgast það svona. Þú getur fengið heilt lykill-gildi par við brottför í veldi krappi vísitölunni. Ef þú lest úr non- lykill, munt þú fá null. Það mun ekki villa. Málið er, R vilja gera eins og mikið með null eins og það getur. Og þetta getur þýtt að ef þú ert ekki búast við að fá null út sumir lista lesa, munt þú fá sumir óútreiknanlegur villur neðar línan. Þetta gerðist við mig minn starf sumar þegar ég var að nota R þar sem ég breytti hvernig ákveðin lista var skilgreind í einum stað en ekki breyta síðar á kóða sem lesið gildi frá henni. Og svo það sem gerðist var að ég var lesa núll gildi út af þessum lista, liggur þá í aðgerðum, og vera mjög ruglaður þegar ég fékk alls konar handahófi infinities cropping upp í þessa aðgerð. Vegna þess að ef þú sækir viss hámark eða lágmarkskröfur aðgerðir á núll, þú munt fá óendanlega gildi út. Gögn rammar, þá eru þeir undirflokkur listanum. Sérhver gildi er vektor af sömu lengd. Og þeir eru að nota til að kynna, grundvallaratriðum, töflum. Það er þetta frumstilling setningafræði. Þetta mun allt, aftur, miklu skýrari þegar þú fá til the kynningu. Og ágætur hlutur óður gögn ramma er að þér getur gefið nafn öllum dálkum og nöfn til allra raðir. Og svo gerir að aðgangur þeim aðeins vinalegri. Einnig er þetta hvernig flest störf sem lesa í gögn frá Excel tafla eða úr skrá texta, til dæmis, mun lesa í gögnum sínum. Þeir setja það inn einhvers konar gögn ramma. Svo functions-- aðgerðir setningafræði er svolítið skrítið. Aftur er það nafn af the virka, úthluta, þetta leitarorð virka og þá listi yfir rök. Þannig að það eru sumir ágætur atriði um hvernig aðgerðir vinna hér. Fyrir einn, getur þú í raun að tengja sjálfgefnar ákveðnum rökum. Svo þú getur sagt R1 equals-- þú getur sagt foo er fall þar sem R1 jafnt eitthvað sjálfgefið ef notandinn skilgreinir engin rök. Annars er það hvað hann setti í. Og þetta er mjög vel vegna þess að mikið af störfum okkar oft heilmikið eða hundruð rök. Til dæmis þær sem fyrir samsærismaður myndrit eða samsærismaður dreifið Lóðir hafa rök sem stjórna allt frá titli og ás merki til lit aðhvarfsgreiningu línum. Og svo ef þú vilt ekki til að gera fólk að tilgreina hvert einasta einn af þessum hundruð rök stjórna hvert einasta þætti lóð eða afturför eða hvað, það er gott að hafa þessar sjálfgefin gildi. Og þá getur þú í raun að skrifa eins og þú sást aftur hingað. Eða finna betri dæmi. Þegar hringt aðgerðir sem þú getur í raun kalla þá nota rök nöfn. Svo er hér dæmi um fylkið framkvæmdaaðila. Það tekur þrjár rök. Venjulega þú hefur gögn, sem er vektor. Þú ert N röð, sem er fjöldi lína. Þú ert N cols-- fjölda dálka. Málið er ef þú skrifar N röð yfir hvað og N Col jafngildir hvað sem þegar þú ert að kalla þessa aðgerð, þú getur raunverulega snúa þeim. Svo er hægt að setja N Col fyrst og N röð annað og það breytir engu. Svo er það ágætur lítill lögun. Gerði innflutning og útflutning. Þetta er hægt að gera, í grundvallaratriðum. Það eru einnig aðstaða til að skrifa út handahófskennt R mótmælir tvöfaldur skrá og þá lesa þau aftur síðar. Sem er vel ef þú ert að gera stór gagnvirkt fundur R og þú þarft að vista það mjög fljótt. Sjálfgefið R hefur vinna möppu sem skrár fá skrifað út í og lesa aftur frá. Þú getur séð það með getwg, breyta því með setdw. Ekkert sérstaklega áhugavert hér Svo nú í raun tölfræði stuff-- multilinear aðhvarfsgreiningu. Svo venjulegum setningafræði er dálítið flókið. Líkanið er stór hlutur í grundvallaratriðum. Það fær úthlutað til LM, sem er fall hringja. Fyrsti þáttur, y tilda x1 plús hvað sem er. Setningafræði mín hér er dálítið ruglingslegt. Ég er alveg miður, þetta er staðall leið að tölvunarfræði bók gera þetta. En það er dálítið undarlegt. Svo í rauninni, það er LM sviga, fyrsta lið er variable-- miður, háð breyta tilda x1 plús x2 plús þó margir sjálfstætt breytur sem þú hefur. Og þá eru þessir geta annað hvort að vera vektor, öllum sama lengd. Eða þeir geta verið dálkur haus í gögnum ramma sem þú tilgreinir bara í Önnur rökin gögn ramma. Þú getur einnig tilgreint flóknari formúla svo þú þarft ekki að línulega læknað a einn háða breytan, eða einni ferju á fyrirliggjandi vektor. Þú getur til dæmis vektor hluti Y veldi plús 1 og læknað að móti log af einhverjum öðrum vektor. Hægt er að prenta samantektir líkan með þessa skipun sem heitir summary-- bara samantekt parens líkan. Aftur eitthvað annað sem ég ætti að skýra. Eitthvað annað sem mun fá leiðrétt þegar renna upp á internetinu. Ef þú vilt bara að reikna einfalt fylgni þú getur notað fylgni vigur 1 vektor 2 virka algerlega. Aðferð er sjálfgefið Pearson fylgni. Þeir eru staðlaðar sjálfur þú getur gert. Einnig Spearman og Kendell fylgni sem eru nokkrar margs Lesblinda röð fylgni. Jæja þeir ekki reikna vöru augnablik milli vigra sjálfum, en af ​​staða pantanir Vigurinn er. Ég skal útskýra það síðar. Áhorfendur: Quick spurning CONNER HARRIS: Jú. Áhorfendur: Svo þegar þú ert að reikna Fyrir þeirri einföldu fylgni gera þú ráð fyrir að það er tölfræðileg þýðingu á fylgni? CONNER HARRIS: Þú þarft ekki að. An LM er í grundvallaratriðum bara vél. Það mun taka í tveimur hlutum og það mun spýta út stuðlarnir fyrir bestu línu. Hún lýsir einnig staðall villur á þeim stuðlum. Og það mun segja þér, eins og er stöðva tölfræðilega marktækur eða munur frá 0. Er halla bestu passa lína tölfræðilega frábrugðin núlli, et cetera. Svo það er gert ráð fyrir ekkert, ég held er besta svarið við spurningunni þinni. OK. Plotting-- svo helsta ástæða að þú ættir nota R, eins og multilinear aðhvarfsgreiningu. Grundvallaratriðum að sérhvert tungumál hefur einhverja aðstöðu fyrir það. Og setningafræði heiðarlega R fyrir aðhvarfsgreiningu er dálítið yfirnáttúrulegt. En samsærismaður er þar sem það skín í raun. The dráttarklár virka er samsæri og það tekur tvo vigra, x og y. Og þá ellipses stendur fyrir mjög Fjölmargar valfrjálst rök að stjórna öllu frá titlum litum ýmissa línur eða ýmsum stöðum, að gerð söguþræði. Hægt er að hafa dreifið Lóðir eða lína Lóðir. [Inaudible] 2 vektor af sömu lengd. Þú getur undan þessu með festu gögn ramma í handritið. Og þetta mun leyfa þér að nota bara dálk haus í stað aðskildum vigra. Þú getur bætt við bestu línu og sveitarfélaga afturför línur til línurit þitt. Þessar skipanir skráð hér, AB línu og línur, sjálfgefið þetta fá skrifaður í pop up glugga vegna þess að það gerir ráð fyrir að þú ert að nota R gagnvirkt. Ef þú ert ekki þú getur skrifa tvær skrár sem eru í raun allir snið þú vilt. Sorry, ég er með innsláttarvillu Ég áttaði mig bara. Ef þú vilt opna annar myndræna tæki þú getur notað þessa virkni sem kallast PNG eða JPEG eða fullt af öðrum sniðum mynd. Og þú getur skrifað myndrit til hvað skrá nafn sem þú tilgreinir. Til að hætta við að þú þarft að use-- Ég vissi ekki að skrifa þetta í slide-- en það er aðgerð sem kallast dev punktur burt sem tekur ekki rök. Þá er aðstaða fyrir 3D samsærismaður og fyrir útlínu samsærismaður ef þú vilt gera gröf tveimur sjálfstæðum breytum. Ég mun ekki fá í þessum núna. Það eru einnig nokkur Aðstaða fyrir fjör þeir eru yfirleitt viðhaldið af þriðja aðila. Ég hef gert fjör með R gröf, en ég hef ekki notað þessar þriðja aðila bókasöfn. Svo ég get í raun ekki staðfesta að hversu góð þau eru. Það sem ég mæli með ef þú vilt að gera hreyfimyndir með R er hægt að skrifa út allar rammar fyrir fjör og þá er hægt að nota þriðja aðila program-- dæmigerð Þeir eru kallaðir FFmpeg eða ImageMagick-- að sauma allar rammar inn í einn fjör. Svo tíma fyrir kynningu. Svo ef þú ert að nota hvaða Unix eins kerfi sem er Linux BSD en hver notar BSD. OS X opna Terminal glugga og Type R í stjórn hvetja. Ef þú ert R stúdíó eða þess háttar, sem einnig virkar. Fyrir Windows notendur sem þú ættir að vera fær um að finna R í Start valmyndinni. Það ætti að vera kölluð eitthvað eins R x64 3. liður hvað. Opinn það upp þar. Svo nú láta mig bara opna Terminal glugga. Allt í lagi, leita. Áhorfendur: Command-Space CONNER HARRIS: Command-Space, þakka þér. Ég er ekki venjulega nota Macs. Terminal, sýna að nýja glugga. Nýjum glugga er stillingar undirstöðu, R. Svo þú ættir að fá velkomin skilaboð, eitthvað eins og þetta. Þannig að ég ætla að nota R gagnvirkt. Þú getur líka skrifað R skriftum að sjálfsögðu. Í grundvallaratriðum forskriftir hlaupa nákvæmlega sama hátt og ef þú varst að sitja við tölvuna slá inn í hverja línu einu í einu. Svo skulum byrja á því að gera vigur. A ör C 1, 2. 1, 2, 4. OK, viss. Ég get gert leturstærð stærri. Áhorfendur: Command-Plus CONNER HARRIS: Command-Plus. Command-Plus. Allt í lagi, hvernig er það? Gott? OK. Svo skulum byrja á því að lýsa vektor skrá. Gera, ör, C 1.2.4. Við getum séð. Ekki hafa áhyggjur óður í the krappi þar. Sviga eru svo ef þú prentað út mjög lengi fylki, við getum þar sem þú ert. Eitt dæmi myndi vera ef ég bara bilinu 2 til 200. Ef ég prenta mjög lengi array, sviga eru bara svo ég geti haldið fylgjast með því hvaða vísitölu við erum á ef ég er að leita í gegnum þetta sjónrænt. Svo einhvern veginn höfum við a. Svo ég sagði áður að fylki samskipti mjög vel með, til dæmis, unary starfsemi eins og þetta. Svo hvað þér ég fá ef ég tegund plús 1? Jebb. Einmitt, nú ég ætla að gera þetta öðruvísi array. Skulum segja b c 20,40, 80. Svo hvað finnst þér Þessi stjórn mun gera? Bæta þætti. Og svo í rauninni er það sem það gerir. Svo er þetta nokkuð þægilegt. Svo ég hvernig um ég gera þetta. c er, við skulum segja, 6 sinnum 1 til 10. Svo hvað ég vil sjá gámur, finnst þér? Svo allir margfeldi af sex. Nú, hvað finnst þér gerist ef ég geri þetta? Ég ætla að gera þetta svolítið skýrari, C, C. Svo gerist það, er það nokkuð hugsa, ef ég geri þetta? plús c. [Inaudible] Áhorfendur: Annaðhvort villu eða það bara bætir fyrstu þrjá þætti. CONNER HARRIS: Ekki alveg. Þetta er það sem við fengum. Hvað gerist er styttri array, a, fékk hjólaði. Þannig að við fengum 124, 124, 124. Já. Og í rauninni er hægt að skoða þessi hegðun áður, plús 1, sem undirflokki þessa hegðun, þar sem stysta array er bara númer 1, sem er einn þáttur array. Ég bara að segja vektor allt tími stað array, því það er það sem r skjöl er venjulega. Það er samgróin c venja. OK, og svo nú höfum við þetta fylki. Þannig að við höfum þetta array, c. Við getum fengið yfirlit hagskýrslur um c, samantekt c. Og það er gott. Svo nú skulum gera sumir Matrix hluti. Skulum segja m er fylki. Við skulum gera það þrjú af þremur einu. Svo nrows jafngildir 3 og ncols jafngildir 3. Og fyrir gögn skulum do-- svo hvað finnst þér þetta er að fara að gera? Rétt, það er næsta einn. Það er nrow og ncolumn. Svo er það sem ég hef gert að ég hef lýst þriggja af þremur fylki og ég hef samþykkt í níu staka fylki. Svo lógaritma allt þættir einn til níu. Og öllum þeim gildum fylla upp array-- hryggur? Áhorfendur: Þeir eru grunnfjárhæðir 10 logs? CONNER HARRIS: Nei, log er náttúrlega lógaritma, þannig grunn e. Já, ef þú vildir stöð 10 Log, held ég að þú vilt hafa til að skrá þig hvað, deilt með log 10. Og svo gögnin sem [inaudible] bara fyllir upp array, svo toppur til botn, þá vinstri til hægri. Og ef þú vildir gera einhver önnur array, við skulum segja n er fylki. Við skulum gera, ég veit ekki, 2 til 13. Eða ég ætla að gera eitthvað meira áhugavert. Ég mun gera 2 til 4. nrow jafngildir, við skulum segja, 3. Ncol jafngildir 4. n. Þannig að við höfum fengið þetta. Og nú ef við viljum að margfalda þetta, við myndum gera n prósent sinnum prósent, því það er n. Og við höfum Matrix vörur. Með því að þeir hætti, sástu hvernig þegar ég lýsti n er 2 til 4 vektor fékk hjólaði þar fyllti upp alla n? Ef þú vildir taka eigingildið niðurbrot, þetta er eitthvað sem við getum gert mjög auðveldlega. Við getum gert Eigen n. Og svo er þetta fyrsta vor fundur með lista. Svo Eigen n er listi með tveimur lyklum. Gildi, sem er þetta array hér. Og vektor, sem er þetta array hér. Svo ef þú vildir að draga, segjum þetta þriðja dálki frá eiginvektorar fylki, vegna að eiginvigrar eru dálki vigrar. Þannig að við getum gert vec Eigen n dollaramerki vektor, komma 3, af [inaudible]. Vec. Er það, eins og þú gætir átt von á. Þá segja n sinnum prósent sinnum vec. Svo niðurstaðan hér vissulega lítur út eins og ef við tók þriðja eigingildisverkefnið hér, sem samsvarar þriðja eigenvector. Það margfaldast bara allt í þetta eigenvector, hluti-vitur, af eigingildisverkefnið. Og það er það sem við myndum búast við, því það er það eigingildi eru. Hefur einhver hér ekki tekið línuleg algebra? Tveimur fólk, OK. Bara snúa gáfur þínar burt fyrir a hluti. Og reyndar ef við tökum Eigen n dollaramerki gildi 3 sinnum vec, vel að fá það sama. Það er á mismunandi sniði sem röð vektor í stað þess að dálk genaferju, en stór samningur. Og svo þeir eru í grundvallaratriðum ágætur hlutir sem við getum gert við fylkjum, sýnt listum. Ég ætti að sýna fram á gott atriði um virka eins og heilbrigður. Svo skulum say-- [inaudible] virka, hringja skulum það Func gegn virka n n squared-- reyndar, það er í raun ekki sú besta. a, b, a ferningur plús b. Svo bara eitt um aðgerðir, aftur, er þeir þarft ekki skýr yfirlýsingar aftur. Svo er hægt að just-- á síðustu yfirlýsingu metin verður yfirlýsingu aftur, eða gildi aftur. Þannig að í þessu tilfelli erum við aðeins að meta einn yfirlýsingu, a ferningur plús b. Það verður sjálfgefið skilagildi. Það er aldrei sárt að setja í aftur gildi skýrt, sérstaklega ef þú ert að takast á við virka mjög flókið rökfræði renna. En þú þarft ekki á þeim. Svo nú getum við gert Störf 5, 1, og þetta er í grundvallaratriðum það sem þú vilt búast. Eitthvað annað sem við getum gert, við getum í raun gert Störf b jafnt og 1, sem er jafngildir 5. Þannig að ef við tilgreina hvaða fjölda hér, sem rök fer sem rök í aðgerðina, getum við Flip kringum þessi gildi hvar sem við viljum. Áhorfendur: Er einhver ástæða að skrifa það út með b jafngildir öfugt við bara að nota tölur og komma? CONNER HARRIS: Já, yfirleitt gera þetta ef þú ert með virka með fullt af rökum. Það gæti oft verið eins og fánar sem þú vilt bara vilt nota í mjög sjaldgæfum tilvikum. Og þannig að þú getur only-- þig getur átt við ákveðin rök sem þú vilt nota ekki sjálfgefin gildi fyrir, og þú þarft ekki að skrifa út fullt af fánar jafngildir rangar eftir þeim. Eða ég get skrifað þetta aftur með sjálfgefið gildi eins b jafngildir 2. Og þá gat ég gert f Störf, Ég geri 4, 1 að þessu sinni. Og 17, sem er 4 í öðru veldi plús 1, eins og þú might búast. En ég gat líka bara kalla þetta með Störf 4, og ég ætla að fá 18, vegna þess að Ég tilgreinir ekki b. Svo fær b sjálfgefið gildi 2. OK, svo nú ef þú ert Eftirfarandi ásamt kynningu, gerð þessa línu á stjórn þinni hvetja og sjá hvað kemur upp. Reyndar veit það ekki. Tegund þetta. Þú ættir að fá eitthvað eins og this. Svo mtcars er byggð á gögnum sett fyrir þessum mótmælum tilgangi sem kemur with-- sem kemur í sjálfgefið með r dreifinguna þína. Þetta er samantekt á tölum frá a 1974 útgáfu tímaritsins Motor Trend er á ýmsum gerðum bíla. Svo er það kílómetra á lítra, cylinders-- Ég gleymi því Disp is-- hestöfl. Sennilega. Ef þú bara Google MT bíla, þá einn af þeim fyrstu niðurstöður verða úr opinber r skjöl og það mun útskýra Öll þessi gögn sviðum. Svo þyngd is-- wt er þyngd á bílnum í tonn. Q sec er QUARTER MILE tíma. Svo nú getum við gert nokkrar skemmtilega hluti um MT bíla er gagnasvæði. Þannig að við getum gert hlutina eins róður nöfn, MT bílum. Og þetta er listi yfir allar raðir í gagnasafninu sem eru nöfn á bílum. Við getum gert colnames, MT bíla þetta. Ef þú gerir mt bíla, undir-tölulegar vísitölu, eins og 2. við fáum annað dálkinn út af þetta, sem væri strokka. Áhorfendur: Hvað gerðir þú? CONNER HARRIS: Ég slóst lestir bíla, sviga E, sem gaf mér annað dálki út mt bíla. Eða ef við viljum röð, get ég slegið mtcars Comma 2, til dæmis. Aðrar umferð 2 komma, svona. Og það fer í röð þinn. Þetta hér bara gefur þér dálki, en dálkur sem vektora. Ég áttaði mig bara nú ég gleymdi að sýna sumir kaldur hlutur um vigra sem þú getur gert með vísitölum. Svo láta mig gera það núna. Svo skulum gera c gets-- setja þetta á pause-- 2 sinnum 1 til 10. Svo c er bara að fara að vera vigurinn 2 til 20. Ég get tekið þætti svona, c2. Ég kemst í vektor eins og þetta, c-- láta mig nota annað nafn en c, eins vec c. Í grundvallaratriðum, ég er að gera þetta þannig að þú færð ekki rugla á milli C sem vektor smíði virka, og þá c sem breytu nafninu. Več sviga C 4, 5, 7. Þetta mun fá mig út fjórða, fimmta, og sjö þætti array. Ég get gert vec, setja í neikvætt Vísitala, eins neikvæð 4. Sem vilja fá mig burt með fjórða þáttur fjarlægt. Þá ef ég vildi gera sneiðar, Ég get gert vec 2 til 6. 2 ristill 6 er bara annað vektor, sem er 2, 3, 4, 5, 6. Spits út að. Svo einhvern veginn aftur að mt bíla. Svo skulum gera sumir regressions. Skulum segja líkan gets-- skulum línulega regress-- Ég veit það ekki. Fyrst skulum ekki hengja mtcars, auðvitað. Svo [inaudible] líkan LM, við skulum læknað kílómetra á lítra á Tilde þyngd. Og þá er gögn ramma mtcars. Svo samantekt líkan. OK, svo lítur þetta svolítið flókið. En í grundvallaratriðum, sjá eins og ef við reyna að tjá kílómetra á lítra sem línulegt fall af þyngd, þá fengum þessa línu hér, sem rekur á 37.28. 37,28 væri fræðileg kílómetra á lítra af bíl sem vega núll. Og þá fyrir hvert viðbótar tonn, þú högg um fimm kílómetra á lítra burt af því. Báðar þessar stuðlum þú er hægt að sjá, staðlaðar villur þar. Og þeir eru mjög tölfræðilega marktækur. Þannig að við getum verið mjög viss um að 1 E 10 til neikvæð 10. Svo 1 sinni eitthvað að neikvæð 10, að ef þú gerir þyngri bíl, það mun hafa verri mílur á lítra. Eða getum við prófað nokkrar aðrar líkan. Eins og í stað þess að regressing þetta á þyngd, skulum læknað það á log þyngd, vegna kannski skilvirka þyngd á mílufjöldi er einhvern veginn ekki línuleg. Þetta gaf okkur r veldi af 0.7528. Svo skulum reyna þetta. Í þetta sinn skulum gera a öðruvísi breyta líka. Model2. Svo samantekt, model2. Allt í lagi, svo aftur, að við fékk okkar bestu línu hér. Og þetta time-- þetta er að segja, grundvallaratriðum að í hvert skipti sem þú auka vægi bíl með stuðlinum e þú missir þetta margar mílur á lítra. Og svo þetta sinn leifar staðall okkar villa it-- það skiptir ekki máli, í raun. Leifar staðall villa er í rauninni bara venjulegt villa sem þú átt eftir eftir þér taka burt stefna línu. Og r okkar veldi hér er 0.81, sem er aðeins betri en það sem við höfðum áður, 0.52. Og svo nú skulum bæta Hugtakið þessari afturför. Svo skulum læknað kílómetra á lítra bæði á þig þungi og, við skulum gera, q kílómetra, QUARTER MILE tíma. OK, verður það að hafa the-- allt í lagi, qsec. Qsec. Actually-- miður, hvað? Leyfðu mér að kalla þetta eitthvað annað að auki model2. Leyfðu mér að kalla þetta model3. Og svo nú getum við gert samantekt model3. Og svo aftur, þetta er í grundvallaratriðum það sem þú gætir átt von á. Þú hefur jákvæð skurðpunkt. The árangursríkur auka þyngd er neikvæð. Og virkt auka QUARTER MILE tími er jákvæð, en þó minna svo en þyngd. Nú innsæi, þú geta gera skilningarvit af þetta með því að segja að hugsa um íþróttir bíla. Það er mjög fljótur hröðun, mjög stutt QUARTER MILE sinnum. Þeir eru líka að fara að nota meira gas, en fleiri skynsamlegar bílar eru að fara að hafa hægari hröðun, hærri QUARTER MILE sinnum, og nota minna gas ,, svo hærri kílómetra á lítra. Great. Og svo nú er kominn tími til að samsæri eitthvað eins og þetta. Svo skulum do-- svo ber bein sem við getum gert plots-- vegna þess að ég hef fest þessi gögn ramma before-- við getum bara gert plots, wt mpg. Gera þetta svolítið stærri. Þar höfum við í rauninni dreifa samsæri, en stig eru eins konar erfitt að sjá um þetta. Ég man ekki offhand hvað setningafræði er til að breyta lóð. Þannig að ég held að þetta verði góður tími til að koma upp, það er mjög gott builtin hjálp lögun, virka hjálpa vitna nafn. Við munum koma upp í grundvallaratriðum allt sem þú vilt. Ég held að ég í raun að gera þetta gerð jafngildir bls fyrir stig Lóðir. Gerði það að breyta neinu? Og nei, eiginlega ekki. Allt í lagi. Fyrir sumir ástæða, þegar ég gerði þetta á minn eigin tölvu á meðan síðan, allir dreifið stig voru miklu skýrari. Einhvern veginn, eru dreifa konar sýnileg? Það er eitt það. A fáir, nokkrar þar. Þú getur konar séð þær, ekki satt? Svo ef við viljum bæta bestu línu þessari lóð hér, sem er svolítið ber bones-- láta mig gera það svolítið betur. Main jafngildir móti þyngd. Miles á lítra. Aftur, getur þú séð hvernig gagnlegt valfrjálst rök eru hér með einnig ekki að þurfa að setja hlutina í ákveðinni röð með lyklaborðinu rök þegar þú ert plots, vegna þetta taka mikið af rökum. Xlab jafngildir þyngd, þyngd, tonn. Allt í lagi. OK, já, þetta tæki er að vera svolítið pirrandi. En þú getur séð svoleiðis þarna, það er línurit titill á hlið. Hérna there's-- á botni hér eru ás merki. Ég man ekki offhand hvað skipanir ars-- hvað aðgerðir eru að aukast stærð þessara merkimiða og titla, en þeir eru þar. Og svo ef við viljum bæta bestu línu, við gætum gert eitthvað like-- I hafa setningafræði skrifað upp hér. Svo man við bætum bara líkan var MPG, þyngd, mtcars. Og svo ef ég vildi bæta við besta falli lína, gæti ég gert, b línu líkan. Og búmm, höfum við bestu línu. Það er eins konar erfitt að sjá aftur. Ég er alveg miður um tæknilegra örðugleika. En það liggur í grundvallaratriðum efst til vinstri til neðst til hægri. Og ef umfang voru stærri, getur þú séð að stöðva er það sem þú getur finna frá samantekt tölfræði ef þú skrifar samantekt líkan. OK, þannig að ég vona að allir gerist eitthvað af tilfinningu um hvað R er, hvað það er gott fyrir. Þú gætir gert miklu betur Lóðir en þetta á eigin tíma, ef þú vilt. Þannig að erlend virka tengi. Þetta er eitthvað sem er ekki venjulega fjallað í inngangs fyrirlestrum eða inngangs nokkuð fyrir r. Það er ekki líklegt að þú ert að fara að þurfa það. Hins vegar fann ég það gagnlegt í mín eigin verkefni í fortíðinni. Og það er ekki gott kennsluforrit fyrir það á netinu. Þannig að ég ætla bara að fara að þjóta þér allt í gegnum þetta og þá þú ert frjáls til að fara. Og svo erlenda virka tengi er hvað þú getur notað til að hringja út til að sjá virka með R. innbyrðis, R er byggt á stærðfræði C. R er bara C 64-bita fleytitölu tölur, sem er tegund manna [inaudible]. Og þú might vilja til að gera þetta fyrir fullt af ástæðum. Fyrir einn, R er túlkað, það er ekki saman niður í vél númer. Svo er hægt að umrita þinn innri lykkjur í C ​​og þá fá the kostur af using R. Eins það er dálítið þægilegra en C. Það hefur betri birta gröf aðstöðu og whatnot. Og á meðan enn sé hægt að fá toppur hraði af innri lykkjur, sem er þar sem þú þarft virkilega. Endurnýta C bókasöfnum, það er einnig mikilvægt. Ef þið hafið einhverjar C bókasafn fyrir eins, Ég veit ekki, Fourier umbreytir eða einhver mjög Archean tölfræði er notuð í hár orka stjarneðlisfræði eða eitthvað, ég veit ekki. Hár orka stjarneðlisfræði er ekki einu sinni hugsa, held ég. En þú getur gert það í stað þess að hafa að skrifa innfæddur R tengi þeirra. Og á the-- og aftur, eins og ef þú líta í flestum vanræksla bókasöfnum r er, á innri, eru innri fara að nota erlenda virka tengi mjög mikið. Þær hafa allt eins Fourier umbreytir eða computing fylgni stuðlar skrifaður í C, og þeir bara R umbúðum kringum þá. The tengi er dálítið erfitt. Ég held erfiðleikar hennar er ýkt í fullt af leiðbeiningum sem þú munt finna. En engu að síður, það er dálítið ruglingslegt. Og ég hef ekki verið fær um að finna góða einkatími fyrir það, þannig að þetta er það núna. Aftur, þetta allt hluti er meira fyrir haga. Ekki hafa áhyggjur af afritun allt niður núna. Svo eftirfarandi leiðbeiningum eru fyrir Unix-eins kerfi, Linux, BSD, OS X. Ég veit ekki hvernig þetta virkar á Windows, en vinsamlegast bara ekki þinn Lokaverkefni á Windows. Þú virkilega vilt ekki að. Unix er miklu betra sett upp fyrir frjálslegur forritun. Svo, í grundvallaratriðum erlendum virka tengi. Ef þú vilt að skrifa C virka til notkunar með R, það þarf að taka alla rök sem ábendingum. Svo fyrir einn gildi, þetta þýðir það bent að verðmæti. Fyrir fylki, þetta er bendi að fyrsta þáttur, sem er það array nöfn raun þýtt. Aftur, þetta er eitthvað sem þú ættir að hafa nokkuð algerlega niður eftir bls sett fimm. Array nöfn eru bara ábendingar að fyrsta frumefni, The fljótandi-lið gerð er tvöfaldur. Og virka þarf að skila ógilt. Eina leiðin sem það getur í raun segja R hvað gerðist er með því að breyta minni sem R gaf á það í erlendum virka tengi. Þannig að ég hef skrifað þetta dæmi hér, þetta er fall sem reiknar notkun punktur tveggja vigra. Það tekur tvær breytur, vec1, vec2, sem eru vektor sjálfir, og þá, sem er n a lengd, því aftur, R hefur byggt í [inaudible] til að finna út lengd genaferja, en C er ekki. Í C, vektorar er handahófskennt afmarkast klumpur af minni. Svo eins og þú getur reikna punktur vörur er bara að setja þetta fram breytu núlli og þá kunnugt um frá 1 til stjörnu n, vegna þess að n er bendi á lengd, bara bæta eitthvað við þetta út breytu. Og það getur verið gott starf ef þú ert að fara að gera þetta til að skrifa tvö aðskilin aðgerðir C. Einn af þeim has-- einn af þeim bara tekur rök og gerðir að þeir myndu venjulega vera í C. Þannig að það tekur fjölbreytta rök sem ábendingum. En einn-gildi rök eins n, það tekur bara eins gildum með eintak, án ábendingum. Og þá er það ekki [Inaudible] út bendi. Og þá er hægt að hafa annað, í grundvallaratriðum, umbúðir virka sem í grundvallaratriðum annast kröfur af erlendum virka tengi fyrir þig. The vegur þú kalla þetta í R er, þegar þú þarft virka skrifað í C, þú skrifar R cmd shlib, R stjórn hluti bókasafn, foo punktur c, eða hvað skrá nafn þitt er, og OS skel ekki í R flugstöðinni. Og þetta mun skapa a Bókasafn heitir foo punktur svo. Og þá er hægt að hlaða hana í handrit okkar eða gagnvirkt með stjórn Dyn punktur álag. Þá er það hlutverk í R heitir punktur c. Þetta tekur rök sem eru Fyrsta nafn virka í C sem þú vilt hringja í. Og þá allar breytur að að virka, þeir verða að vera í réttri röð. Þú þarft að nota þessa tegund þvingunum virka eins heiltölu, sem tvöfaldur, eins og eðli, og eins og rökrétt. Og svo þegar það skilar lista, sem aftur er bara hlutdeildarfélag array af breytu nöfn og gildi eftir að virka hefur keyrt. Þannig að í þessu tilfelli, vegna þess punktur Prod hefur rök vec1, vec2, og int N, N út. Að punktur c við höfum punktur Prod, nafn virka við köllum, vec1, vec2, tegund kúga. Lengd annaðhvort genaferju, Ég valdi bara vec1 geðþótta. Það myndi vera traustara að segja s heiltala mín lengd vec1, lengd vec2. Þá bara eins og tvöfaldur núll, vegna þess að við í raun ekki sama hvað fer í út breytu vegna þess að við erum setja það á núll samt. Og þá niðurstöður eru að fara að vera stór tengd array af grundvallaratriðum vec1 er hvað, vec2 er hvað sem er. En við erum áhuga á út, svo við getum fengið það út. Þetta er aftur, mjög leikfang dæmi af erlendum virka tengi. En ef þú ert að reikna punktur vörur gríðarlegu vigra í lykkjur, eða ef þú ert að gera eitthvað annað í lykkju, og þú vilt ekki að treysta á R, sem hjartarskinn hafa a hluti af kostnaður byggt inn í það, þetta getur verið gagnlegt. Aftur, þetta er yfirleitt ekki inngangsnámskeið efni til R. Það er ekki mjög vel skjalfest. Ég ætla bara að meðtöldum það vegna Mér fannst það gagnlegt í fortíðinni. Svo, slæmur venjur. Ég nefndi að það er fyrir lykkju í aðgerðina. Almennt þú ættir ekki, í tungumálið, ekki nota það. Byggt á því hvernig R útfærir endurtekning innbyrðis, það getur verið hægur. Þeir bara líka líta ljót. R annast vektor mjög vel, svo oftsinnis þú þarft ekki að nota það. Þá getur þú venjulega skipta vigur oft Með þessum aðgerðum kallast hár pöntun aðgerðir, Kort, Minnka, Finna, eða Sía. Ég ætla bara að gefa sumir dæmi um hvað þetta gerir. Kortið er hærri röð virka því það tekur aðgerð sem rök. Svo er hægt að gefa það í aðgerð, þú getur gefið það fylki, og það mun gilda aðgerðina að hvert frumefni í fylkinu og aftur nýja fylkisins. Minnka, í grundvallaratriðum þú gefur það fylki, gefa þér það fall sem tekur tvær breytur. Það mun beita virka fyrst, fyrsta rifrildi með nokkrum startara gildi. Þá að því niðurstöðu í sekúndu. Þá að því vegna í þriðja, þá sem leiða til fjórða. Og síðan aftur þegar það fær til enda. Svo til dæmis, ef þú vilt reikna summu allra þátta í fylki, en þú gætir hringt draga með [inaudible] draga viðbót virka, eins og Störf a, b, skila auk b. Og þá byrja gildið 0. Og allt þetta, getur þú fundið þá lýst er í R gögnum, í hvaða kennslubók um hagnýtur forritun. Það er líka þetta flokkur aðgerðir kallast gilda aðgerðir, sem ég don't-- þeir eru svolítið erfitt að útskýra, en ef þú lítur í [inaudible] bókar sem ég vitna í upphafi, Hann útskýrir þá nokkuð vel í Viðauki hans á R forritun. Meira um starfshætti, auka við til vektor. Já? Ég held að ég ætti að leiðrétta það. Í þeirri fyrstu línu, vec ör, sem örin ætti ekki að vera þar. Þú getur tengt vektor, aftur, eftir að lengd auk 1 og framselja nokkur gildi við því. Það mun lengja vigurinn, eða þú getur gert vec Jafnt c, vec newvalue. Aftur, ef þú notar C með eitt rifrildi sem vektor, leiðir stigveldi fær fletja. Svo þú munt bara fá vigur sem er framlengdur um 1. Aldrei gera þetta. Ástæðan fyrir því að þér ætti ekki að gera þetta er þetta. Þegar þú úthluta vektor, það gefur það ákveðna klumpur af minni. Ef þú eykur þessi vektor stærð, það þarf að endurúthluta vektor einhvers staðar annars staðar. Og svo er endurúthlutun alveg dýr. Ég mun ekki fara inn í smáatriði um hvernig minni allocators eru framkvæmdar á stýrikerfi stigi, en það tekur a einhver fjöldi af tími að finna nýja klumpur af minni. Og einnig, ef þú ert -Endurúthluta fullt og fullt af smám stærri klumpur, enda þú upp með eitthvað sem kallast minni sundrungu, þar sem tiltækt minni er skipt í fullt af litlum blokkir í minni allocators sjónarmiði. Og það verður erfiðara og erfiðara að finna minni fyrir aðra hluti. Þannig að í stað, ef þú þarft að gera þetta, ef þú þarft að vaxa vigur frá einum enda til annars, í stað þess að auka við til þess stöðugt, ættir þú fyrirfram úthluta því. Vec ör, vektor lengd jafngildir 1.000, eða hvað. Og þá getur þú bara að tengja að smitferjunni er gildum einn tími eftir að þú hefur úthlutað það einu sinni. Ég hljóp inn í þetta, aftur, vinnu sumar mitt þegar ég var að skrifa NRA vaxtamun Jafna leysa. Ekki táknræn tölulegar. Hugmyndin er að þegar þú hefur eitt gildi fyrir lausn þína, þú notar það til að reikna þann næsta. Svo eðlilegt mín barnaleg Halla var að segja OK, þannig að ég ætla að byrja með ferju það er mikils virði. Reiknið frá því næsta verðmæti sem fer á lausn vektor minn, og bæta það. Búa til eitthvað annað, bæta það. Það fór mjög, mjög hægt. Og þegar ég áttaði mig á þessu og ég breytti tölvunni minni frá appending til þessa ferju á eins 10,000 til 100,000 sinnum, bara pre-úthlutun vigur og bara gangi með það. Ég fékk meira en 1.000 falt flýta. Þannig að þetta er mjög algengt gildru fyrir R forritun. Ef þú þarft að byggja upp vigur stykki eftir stykki, pre-úthluta því. Önnur algeng ferð up-- þetta er síðasta minn renna, ekki worry-- er villa meðhöndlun. R, til að vera hreinskilinn, ekki í raun að gera þetta mjög vel. There ert a einhver fjöldi af vandamál sem geta uppskera upp. Til dæmis, ef þú færð fylki eða ferju út af virka sem þú varst að búast einn gildi að koma frá, eða öfugt, og þú fara að í aðgerð sem þú skrifaði von eitt gildi, sem getur verið vandamál. Tilteknar aðgerðir aftur null sem gera, segja, lesa úr engin lykill í lista. En null er ekki eins og C þar sem ef þú reynir að lesa frá gömlum músina, [inaudible] á núll músina, það seg bara galla og ef þú ert í aflúsara þinn það segir þér nákvæmlega hvar þú ert. Þess í stað, null mun do-- aðgerðir mun gera ófyrirsjáanlegum hlutum ef þeir eru afhent null. Eins og ef þú ert afhent max null, það mun gefa þér neikvæð óendanlegt. Og svo, já. Og svo þetta gerðist við mig einu sinni þegar ég var breytt fullt af sviðum í lista uppbyggingu mínu einu sinni án þess að breyta þeim annars staðar þegar ég var að lesa úr þeim. Og þá fékk ég alls konar handahófi Infinity Niðurstöður cropping upp og ég ekki hugmynd hvar þeir komu frá. Og því miður, það er enginn alvöru R strangur háttur þar sem þú getur sagt ef eitthvað lítur út eins og það gæti verið villa, bara að hætta þarna svo ég get verið öguð og laga það. Hins vegar er eitthvað kallað stöðva ef ekki. Þetta jafngildir að fullyrða C er, ef þú hefur talað um það. Ég held ekki C fullyrða er fyrirlestur umræðuefni, en hluti leiðtogi þinn gæti hafa farið yfir það. Og hætta ef ekki í grundvallaratriðum tekur eitthvað eiginleikann, svo allir yfirlýsingu að getur verið satt eða ósatt. Og ef það er ósatt, hættir það áætlun sína. Það segir þér nákvæmlega hvað línu þú voru á og það ástand mistókst. Og þetta mjög nytsamleg, til dæmis, geðheilsan stöðva, virka inntak. Þannig að ef þú ert með virka og þú átt von á, segjum, ef þú ættir að gefa mér dagsetninguna, ég vil dagsetningar vera bara vektor lengd 1 og einhvers staðar á milli 1 og 31. Og ef ekki, ég veit eitthvað er farið rangt. Og ég vel að stoppa það áður en þetta hefur handahófi högg á áhrif með kóða að það er erfiðara að rekja í gegnum. Svo er það eitt hægt nota fyrir stöðva ef ekki. Einhvern veginn, OK. Svo er það endirinn. Þakka þér svo mikið fyrir að koma. Ég er röðun áhugamaður á þessu. Svo leitt ef þú ert leiðindi eða rugla eða hvað hefur þú. Ég er fús til að taka spurningum með tölvupósti á connorharris@college.harvard.edu~~pobj. Þetta fer líka fyrir alla horfa þetta í beinni eða síðar. Einnig, þó að ég er ekki a TF, ég er líka mjög fús til að þjóna sem óopinber ráðgjafi fyrir einhver sem er nota R í lokaverkefni. Ef þú vilt það, þá bara tala við TF þinn og þá skrifa mér tölvupóst svo Ég veit hvað þú ert að vinna á og svo ég geti sett upp fundi sinnum með þér ef þú vilt. Svo aftur, þakka þér kærlega. Ég vona að þú njóta það. Áhorfendur: [inaudible]. CONNER HARRIS: Auðvitað. Áhorfendur: Hvers konar verkefni myndi CS nemandi nota R fyrir? CONNER HARRIS: Svo ef þú ert ekki að gera eitthvað sem er eingöngu í gögn námuvinnslu, til dæmis, og þar eru fullt af hlutum þú gætir gert með því að með gögn Nám og vél nám. Þú might vilja til að nota R fyrir hluti af einhverju. Ég ólst upp, upphaflega, dæmi um ef þú ert að skrifa á vefsíðu og þú vilt keyra sjálfvirkum tölfræðileg greining á vefþjóninum þínum logs á ákveðnum tíma á hverjum degi, sem gæti verið eitthvað sem er mjög auðvelt að gera í bara stutta R handritinu sem þú getur tímasett að hlaupa á hverju kvöldi, til dæmis. Og ég er viss um, ef það er einhver ástæða að þú vilt vilt tölfræði eða graphing getu og hafa þetta að keyra sjálfkrafa í staðinn þess að þurfa að hafa samskipti með það í Excel, til dæmis, það er eitthvað þú might vilja til að nota R fyrir. Svo einhverjar fleiri spurningar áður en ég fer? Nei? Allt í lagi, vel, og aftur, þakka þér kærlega fyrir komuna.