[MUSIC Playing] Dustin Tran: Hi. Emrin tim Dustin. Kështu që unë do të jetë paraqitur Analiza e të dhënave në R. Vetëm pak për veten time. Unë jam aktualisht një student i diplomuar në të Shkencave Inxhinierike dhe të Zbatuara. Kam studiuar një ndërprerje të të mësuarit dhe statistikat makinë kështu Analiza e të dhënave në R është me të vërtetë themelore për çfarë Unë bëj në baza ditore. Dhe R është veçanërisht e mirë për analizën e të dhënave sepse kjo është shumë e mirë për prototyping. Dhe zakonisht, kur ju jeni duke bërë një lloj i analizës së të dhënave, shumë problemeve do të njohëse. Dhe kështu që ju vetëm duan të kenë disa gjuhë me të vërtetë e mirë që është vetëm e mirë për të bërë ndërtuar në funksione, në krahasim për të pasur nevojë të merren me gjëra të nivelit të ulët. Pra, në fillim, unë jam vetëm duke shkuar për të futur çfarë është R, pse do të ju doni ta përdorni atë, dhe pastaj të shkojë mbi në disa demo, dhe vetëm të shkojnë në nga atje. Pra, çfarë është R? R është vetëm një gjuhë e zhvilluar për informatikë statistikore dhe vizualizimi. Pra, çfarë kjo do të thotë është se kjo është një gjuhë shumë të shkëlqyer për çdo lloj gjë që ka të bëjë me Pasiguria apo të dhëna vizualizimi. Pra, ju keni të gjitha këto Shpërndarjet e probabilitetit. Nuk do të jetë ndërtuar në funksionet. Ju gjithashtu do të keni shkëlqyer komplot paketa. Python është një tjetër konkurrente gjuhë për të dhënat. Dhe një gjë që unë të gjeni se R është shumë më mirë në është vizualizimi. Pra, çfarë ju do të shihni në demo si mirë është vetëm një gjuhë shumë intuitiv që vetëm punon jashtëzakonisht mirë. Ajo është gjithashtu i lirë dhe me burim të hapur, si është ndonjë gjuhë tjetër e mirë I guess. Dhe këtu, një bandë e vetëm fjalë kyçe të hedhur në ju. Kjo është dinamik, do të thotë në qoftë se ju keni një lloj specifik caktuar për një objekt se ajo vetëm do të ndryshojë atë në fluturojnë. Kjo është dembel kështu që është e zgjuar për se si ajo e bën llogaritjet. Funksional përkatësisht ajo mund të vërtetë të veprojë bazuar jashtë e funksioneve kështu anything-- çdo lloj i manipulimit të jeni duke bërë, ajo do të jetë i bazuar jashtë funksioneve. Operatorët Pra binare, për shembull, janë funksione vetëm në thelb. Dhe çdo gjë që ju jeni do të bëni është të do të ik funksionet vetë. Dhe pastaj objekt orientuar si. Kështu që këtu është një komplot XKCD. Jo vetëm sepse unë të ndjehen si XKCD është thelbësore për çdo lloj e prezantimit, por sepse Ndjehem si kjo me të vërtetë hammers pikën që një shumë e kohë kur ju jeni duke bërë një lloj të dhënave Analiza, problemi nuk është aq shumë sa shpejt shkon, por sa kohë ajo do të ju merr për të programit detyrën. Kështu që këtu është vetëm analizuar nëse Strategjia e një ose b është më efikas. Kjo do të jetë diçka që ju jeni do të merren shumë me të në lloj i Gjuhë të nivelit të ulët ku ju jeni që kanë të bëjnë me gabimet Seg, Alokimi kujtesës, initializations, madje duke e bërë funksionet e ndërtuar-në. Dhe kjo stuff është trajtuar të gjithë shumë, shumë elegante në R. Pra, vetëm për të arritur këtë pikë, bela e madhe do të jetë njohës. Pra analiza e të dhënave është një problem shumë i vështirë. Nëse ju jeni duke bërë të mësuarit makinë ose ju jeni duke bërë vetëm një lloj të eksplorim bazë të të dhënave, ju nuk doni të keni për të marrë një dokument dhe pastaj të përpilojnë diçka çdo herë që duan të shohin se çfarë një kolonë si duket, atë hyra veçanti në një matriks duket si. Pra, ju vetëm duan të kenë disa ndërfaqe të vërtetë e bukur ju mund të kandidojë një funksion të thjeshtë që indekseve të çfarëdo ju dëshironi dhe të vetëm të drejtuar atë nga atje. Dhe ju duhet domain Gjuhë të veçanta për këtë. Dhe R me të vërtetë do t'ju ndihmojë të përcaktojë Problemi dhe të zgjidhur atë në këtë mënyrë. Kështu që këtu është një që tregon programimit komplot Popullariteti i R si ato zhduken me kalimin e kohës. Kështu si ju mund të shihni, si 2013 apo kështu që ajo vetëm të hedhur në erë të jashtëzakonshme. Dhe kjo ka qenë vetëm për shkak të se trend i madh në industrinë e teknologjisë Të dhënat në lidhje me të mëdha. Gjithashtu, jo vetëm teknologji industri, por me të vërtetë ndonjë that-- industri sepse shumë nga industritë janë lloj i fundamentale për duke u përpjekur për të zgjidhur këto probleme. Dhe zakonisht, ju mund të ketë disa të mira Mënyra e matjes së këtyre problemeve apo edhe definimin e tyre ose zgjidhjen e tyre duke përdorur të dhënat. Kështu që unë mendoj se tani është R 11 gjuha më e popullarizuar në TIOBE dhe ajo është në rritje që nga atëherë. Kështu që këtu është disa më shumë Tiparet e R. Ajo ka një numër i madh i pakove dhe për të gjitha këto gjëra të ndryshme. Pra, çdo herë që ju keni një Problemi i sigurt, më Ora R do të ketë që funksion për ju. Pra, nëse ju doni të të ndërtuar një lloj të makinës të mësuarit algorithm quajtur Random Forest ose Vendim Pemë, apo edhe duke u përpjekur për të marrë mesataren e një funksion ose ndonjë të këtij stuff, R do të duhet që. Dhe në qoftë se ju bëni ju intereson optimization, një gjë që është e zakonshme është se pasi ju jeni bërë prototyping një lloj gjuhe të nivelit të lartë, ju do të hedhin se in-- ju vetëm do port që gjatë në disa gjuhë të nivelit të ulët. Çfarë është e mirë në lidhje me R është se një herë ju jeni bërë prototyping atë, ju mund të kandidojë C ++, ose Fortran, ose ndonjë nga këto ato të nivelit më të ulët direkt në R. Pra, kjo është një të vërtetë tipar i ftohtë për R, në qoftë se ju të vërtetë kujdeset për pikë optimization. Dhe është gjithashtu e vërtetë e mirë për visualizations web. Pra D3.js, për shembull, është I guess një tjetër seminar që ne të paraqitur sot. Dhe kjo është me të vërtetë awesome për duke bërë visualizations interaktive. Dhe D3.js supozon që ju keni një lloj të dhënave që do të komplotuar dhe R është një mënyrë e madhe për të qenë në gjendje të bëjë Analiza e të dhënave para se të eksportojë atë mbi të D3.js apo edhe vetëm të drejtuar D3.js urdhëron në vetë R, si dhe të gjitha këto bibliotekat e tjera si. Kështu që ishte vetëm futja e çfarë është R dhe pse ju mund të përdorni atë. Kështu që shpresojmë se, unë kam ju bindur diçka gati vetëm duke u përpjekur për të parë se çfarë është si. Kështu që unë jam duke shkuar për të shkuar përpara dhe të shkojnë përmes disa bazat rreth objekteve të R dhe atë që ju me të vërtetë mund të bëjë. Kështu që këtu është vetëm një bandë e komandave të matematikës. Pra, thonë you're-- ju doni të ndërtuar vetë gjuha dhe ju vetëm duan që të ketë një bandë e mjeteve të ndryshme. Çdo lloj i operacionit ju mendoni se ju do të doni është shumë e shumë do të jetë në R. Pra, këtu është 2 plus 2. Këtu është 2 herë më e pi. R ka një bandë e ndërtuar në konstantet që ju do të përdorni shpesh si pi, e. Dhe pastaj, këtu e 7 plus runif, kështu runif i 1. Ky është një funksion që është gjeneron një uniform rastit nga 0 deri 1. Dhe pastaj nuk ka 3 për fuqinë e 4. Nuk ka rrënjët katrore. Ka log. Pra log do të bëjë bazën eksponenciale në vetvete. Dhe pastaj, nëse ju specifikoni një bazë, atëherë ju mund të bëni çfarë të doni bazë. Dhe pastaj këtu janë disa komanda të tjera. Pra, ju keni 23 mod 2. Pastaj ju keni pjesën e mbetur. Pastaj ju keni shkencor simbol nëse ju gjithashtu duan të bëjnë vetëm më shumë dhe gjërat më të komplikuara. Kështu që këtu është detyrë. Detyra aq tipike në R është bërë me një shigjetë kështu që është më pak se dhe pastaj vizë ndarëse. Kështu që këtu unë jam vetëm caktimin e 3 me val ndryshueshme. Dhe atëherë unë jam i shtypjes nga val dhe pastaj ajo printon nga tre. By default në R përkthyes, atë do të shtypura gjëra për ju kështu që ju nuk keni për të specifikojë të shkruar një val çdo herë që doni të shkruar diçka. Ju vetëm mund të bëjë val dhe atëherë kjo do të bëjë që për ju. Gjithashtu, ju mund të përdorni barabartë teknikisht si një operator detyrës. Nuk janë hollësitë vogla në mes duke përdorur arrow operator dhe të barabartë operator për detyra. Kryesisht nga konventës, të gjithë do të përdorin vetëm operatori shigjetë. Dhe këtu, unë jam caktimin kjo simbol zhdrejtë quhet 1 pika 6. Kjo gjeneron një vektor nga 1 në 6. Dhe kjo me të vërtetë e bukur, sepse atëherë ju vetëm të caktojë vektorin në val dhe që punon në vetvete. Pra, kjo është tashmë duke shkuar nga një single-- një të dhëna shumë intuitiv Struktura e vetëm një dyfishit të disa lloj tipi në një vektor dhe e cila do të mbledhë të gjithë vlerat skalar për ju. Pra, pasi duke shkuar nga skalar, ju kemi R objekte dhe kjo është një vektor. Një vektor është çdo lloj i Grumbullimi i të njëjtit lloj. Kështu që këtu janë një bandë e vektorëve. Pra, kjo është numerike. Numerike është mënyrë e r s i thënë dyfishtë. Dhe kështu by default, ndonjë numër do të jetë një të dyfishtë. Pra, nëse ju keni c prej 1,1, 3, negative 5.7, c është një funksion. Kjo concatenates që të tre numra në një vektor. Dhe kjo do të be-- kështu nëse vëreni 3 në vetvete, normalisht ju do të supozojmë se kjo është si një numër i plotë, por sepse të gjithë vektorëve janë të njëjta lloji, kjo është një vektor i dyshe ose numerike në këtë rast. rnorm është një funksion që gjeneron variables-- standardi normal ose vlerat standarde normale. Dhe unë jam duke specifikuar dy prej tyre. Kështu që unë jam duke bërë rnorm 2, caktimin që të devs, dhe atëherë unë jam shtypjen nga devs. Pra, këto janë vetëm dy Vlerat normale të rastit. Dhe pastaj ints në qoftë se ju bëni ju intereson integers. Pra, kjo është vetëm për kujtesën Alokimi dhe kursim madhësia e kujtesës. Pra, ju do të duhet të append Numrat e tua duke kryeqytet L. Në përgjithësi, kjo është Simbol historik r-së për diçka të quajtur numër i plotë i gjatë. Pra, shumica e kohës, ju do të të jetë marrë me dyshe. Dhe në qoftë se ju do të ndonjëherë më vonë për të optimizuar kodin tuaj, ju mund të shtoni vetëm këto L's më pas ose gjatë saj në qoftë se ju jeni si precognitive për atë ju jeni do të bëni këto ndryshore. Kështu që këtu është një vektor karakter. Pra, përsëri, unë jam duke concatenating Tre vargjet kjo kohë. Vini re se strings dyfishtë dhe vargjet e vetme janë të njëjta në R. Kështu që unë kam Arthur dhe marvin-së dhe kështu kur unë jam shtypje atë jashtë, të gjithë ata do të tregojnë vargjet dyfishta. Dhe në qoftë se edhe ju doni që të përfshijë string dyfishtë apo të vetme në karaktere tuaj, atëherë ju mund të ose alternativ vargjet tuaja. Pra marvin-së për Elementi i dytë, kjo është do të show-- ju vetëm duhet strings dyfishtë dhe pastaj një varg i vetëm kështu që kjo është e alternuara. Përndryshe, në qoftë se ju doni të përdorni një të dyfishtë operator string në një varg të dyfishtë kur ju jeni duke deklaruar atë, atëherë ju vetëm përdorni operatorin shpëtojnë. Kështu që ju bëni backslash string dyfishtë. Dhe më në fund, ne gjithashtu kanë vektorëve logjike. Pra logical-- kështu TRUE dhe FALSE, dhe ata janë do të jenë të gjitha shkronja kapitale. Dhe pastaj, përsëri, unë jam duke concatenating ata dhe pastaj caktimin e tyre për bools. Pra bools është duke shkuar për të treguar ju TRUE, FALSE, dhe TRUE. Kështu që këtu është indeksimit vectorized. Pra, në fillim, unë jam duke marrë një function-- kjo quhet një sequence-- sekuencë 2-12. Dhe unë jam duke marrë një sekuencë nga 2. Kështu ajo do të bëjë 2, 4, 6, 8, 10 dhe 12. Dhe pastaj, unë jam i indeksimit për të marrë elementin e tretë. Pra, një gjë për të mbajtur në mend është se indekset R duke filluar nga 1. Pra i besueshmërisë 3 është duke shkuar për të dhënë ju element i tretë. Kjo është lloj i ndryshëm nga tjetri Gjuhë ku ajo fillon nga zero. Pra në C ose C ++, për shembull, ju jeni shkuar për të marrë elementin e katërt. Dhe këtu është Vals nga 3 në 5. Pra, një gjë që është e me të vërtetë ftohtë është se ju mund të gjenerojnë të variablave të përkohshme brenda dhe pastaj vetëm të përdorin ato në fluturojnë. Kështu që këtu është 3 deri 5. Kështu që unë jam duke gjeneruar një vektor 3, 4, 5 dhe pastaj Unë jam indeksimin për të marrë të tretën, katërt, pestë dhe elemente. Pra, në mënyrë të ngjashme, ju mund të abstrakt ky për të vetëm të bëjë çdo lloj i një vektor që ju jep indeksimit. Kështu që këtu është Vals dhe pastaj Elementët e parë, të tretë, dhe të gjashtë. Dhe pastaj, në qoftë se ju doni për të bërë një plotësues, kështu që ju vetëm bëni minus më pas dhe që do të ju jap çdo gjë që nuk është së pari, të tretë, ose element i gjashtë. Pra, kjo do të jetë 4, 8, dhe 10. Dhe në qoftë se ju doni të merrni edhe më të avancuar, ju mund të lidh vektorëve boolean. Pra, ky indeks do të ju jap ky vektor Boolean e gjatësi 6. Pra rep presje TRUE 3. Kjo do të përsërisë TRUE tri herë. Pra, kjo do të ju jap një vektor TRUE, TRUE, TRUE. rep FALSE 4-- kjo do të ju jap një vektor i FALSE, FALSE, FALSE, FALSE. Dhe pastaj c do të lidh këto dy Booleans së bashku. Pra, ju jeni do të merrni tre TRUEs dhe pastaj katër FALSEs. Kështu që kur ju Vals indeksit, ju jeni do të merrni TRUE, TRUE, TRUE. Kështu që do të them po, Unë dua këto tre elemente. Dhe pastaj FALSE, FALSE, FALSE, FALSE po shkon për të thënë jo, unë nuk dua ato elemente kështu ai nuk do të kthehen ato. Dhe unë mendoj se ka në të vërtetë një typo këtu sepse kjo është e thënë të përsëritur TRUE 3 dhe të përsëritur RREME 4, dhe teknikisht, ju kanë vetëm gjashtë elemente kaq të përsëritur FALSE, ajo duhet të jetë përsëritje FALSE 3. Unë mendoj R është gjithashtu mjaft i zgjuar për të tilla se në qoftë se ju vetëm të specifikojë 4 këtu, atëherë ajo nuk do të madje gabim jashtë. Ajo thjesht do të ju jap këtë vlerë. Kështu ajo do të injorojë vetëm atë FALSE katërt. Kështu që këtu është detyrë vectorized. Pra set.seed-- kjo vetëm përcakton farë për numrat pseudorandom. Kështu që unë jam vendosjen farën në 42, do të thotë se në qoftë se unë të gjenerojnë tre të rastit normal Vlerat, dhe pastaj nëse ju drejtuar set.seed në tuaj kompjuter duke përdorur të njëjtën vlerë 42, atëherë edhe ju të merrni tre normals njëjtat të rastit. Pra, kjo është me të vërtetë e mirë për riprodhueshmërisë. Zakonisht, kur ju jeni duke bërë disa lloj analize shkencore, ju do të duan të vënë farën. Në këtë mënyrë shkencëtarë të tjerë mund vetëm riprodhuar kodin e njëjtë e saktë që ju keni bërë në bërë për shkak se ata do të kenë saktë variabla të njëjta të rastit that-- ose të rastit Vlerat që ju keni marrë jashtë si. Dhe kështu detyrë vectorized këtu është duke treguar Vals 1 nga 2. Pra, ajo merr dy elementet e para e besueshmërisë dhe pastaj cakton ata për 0. Dhe pastaj, ju mund të bëni vetëm gjë e ngjashme me Booleans. Pra Vals nuk është e barabartë me 0-- këtë vullnet ju jap një vektor i rremë, FALSE, TRUE në këtë rast. Dhe pastaj, ajo do të thonë se çdo e këtyre indekseve që ishin TRUE, atëherë ajo do të caktojë që për 5. Pra, ajo merr elementin e tretë këtu dhe pastaj cakton atë për 5. Dhe kjo është me të vërtetë e bukur në krahasim me gjuhë të nivelit të ulët ku ju keni për të përdorur për sythe për të bërë të gjitha të këtij stuff vectorized sepse kjo është vetëm shumë intuitiv dhe kjo është një e vetme një-astar. Dhe çfarë është gati i madh simbol vectorized është se në R, këto janë lloj i ndërtuar në mënyrë që ata janë pothuajse aq shpejt si duke bërë në një gjuhë të nivelit të ulët si krahasim me të bërë një për lak në R dhe pastaj pasur nevojë që ajo të bëjë vetë indeksimit dinamik. Dhe kjo do të jetë më i ngadalshëm se sa duke bërë kjo gjë e tillë vectorized ku ajo mund ta bëjë këtë në mënyrë paralele, ku kjo e bën atë në fillesë thelb. Kështu që këtu është vectorized operacionet. Kështu I m gjeneruar një vlerë 1 deri 3, caktimin që të vec1, 3 deri 5, vec2, duke shtuar ato së bashku. Ajo shton atyre komponent-i mençur kështu është 1 plus 3, 2 plus 4, dhe kështu me radhë. vec1 herë vec2. Kjo shumëfishon dy vlerat komponent i mençur. Pra, kjo është 1 herë 3, 2 herë 4, dhe pastaj 3 herë 5. Dhe pastaj, në mënyrë të ngjashme ju gjithashtu mund të bëjë comparisons-- krahasime logjike. Pra, kjo është FALSE FALSE TRUE në këtë rast sepse 1 është jo më i madh se 3, 2 është jo më i madh se 4. Kjo është, unë mendoj, një tjetër gabim gjatë shtypit, 3 nuk është aspak më i madh se 5. Vërtet. Dhe kështu që ju vetëm mund të bëjë gjithçka këto operacione të thjeshta sepse i trashëguar i tyre nga vetë klasa. Kështu që ishte vetëm vektor. Dhe kjo është lloj i më fundamental R objekt sepse dhënë një vektor, ju mund të ndërtojnë objekte më të përparuara. Kështu që këtu është një matricë. Kjo është në thelb abstraksion i asaj që një matricë është vetë. Pra në këtë rast, është e tri ndryshme vektorët, ku secili prej tyre është një kolonë, ose ju mund të konsiderojnë atë si çdo një është një rresht. Kështu që unë jam magazinimin e një matricë prej 1 deri 9 dhe pastaj unë jam duke specifikuar 3 rreshtave. Pra 1 deri 9 do të ju jap një vektor 1, 2, 3, 4, 5, 6, dhe të gjithë mënyrë në 9. Një gjë për të mbajtur gjithashtu në mend është se Dyqane R vlerat në format kolonën-madh. Pra, me fjalë të tjera, kur ju shihni 1 në 9, ajo do të ruajë them-- ajo do të jetë 1, 2, 3 në kolonën e parë, dhe atëherë ai do të bëj 4, 5, 6 në kolonën e dytë, dhe pastaj 7, 8, 9 në kolonën e trete. Dhe këtu janë disa të tjera Funksionet e përbashkëta ju mund të përdorni. Pra mat dim, kjo do të ju jap dimensionet e matricës. Ajo do të kthehet ty një vektor i dimensionit. Pra në këtë rast, sepse matricë tonë është 3 nga 3, ajo do të ju jap një vektor numerike kjo është 3 3. Dhe këtu është vetëm duke treguar shumëzimit matricës. Pra, zakonisht, në qoftë se ju vetëm bëni asterisk-- kështu mat asterisk mat-- kjo do të jetë operacion komponent-i mençur ose çfarë quhet produkt Hadamard. Kështu ajo do të bëjë çdo element përbërës-i mençur. Megjithatë, në qoftë se ju doni matricë multiplication-- kështu shumëzuar kohët e para rresht kolona e parë të matricës të dytë dhe kështu on-- ju do të përdorni ky operacion qind. Dhe t i mat është vetëm një operacion për të transpozuar. Kështu që unë jam duke thënë se të marrë zhvendos në matrix, shumohen atë me matricën vetë. Dhe atëherë ajo do të të kthehet tek ju një tjetër 3 nga 3 matricës treguar produkt ju do të doni. Dhe kështu që ishte e matricës. Këtu është ajo që quhet një kornizë të dhënave. Një kornizë të dhëna ju mund të mendoni si një matricë, por çdo kolonë vetë do të jetë i një lloji tjetër. Pra, çfarë është me të vërtetë ftohtë në lidhje me të dhënat e korniza është se në analizën e të dhënave vetë, ju jeni do të ketë e gjithë kjo të dhëna heterogjene dhe të gjitha këto me të vërtetë gjëra të çrregullt ku secili prej kolonave vetë mund të jenë të llojeve të ndryshme. Kështu që këtu unë jam duke thënë të krijojë një frame dhënave, bëjë ints nga 1 deri 3, dhe pastaj të ketë gjithashtu një vektor karakter. Kështu që unë mund indeksin përmes secili prej këtyre kolonave dhe pastaj unë do të merrni vetë vlerat. Dhe ju gjithashtu mund të bëjë një lloj i operacioneve në korniza të dhënave. Dhe shumica e kohës kur ju jeni duke bërë analiza të të dhënave ose disa lloj i preprocessing, ju do të jetë duke punuar me këto struktura të dhënash ku secila kolonë po shkon që të jetë i një lloji tjetër. Më në fund, kështu që këto janë në thelb vetëm katër objekte thelbësore në R. Lista do të mbledhë vetëm ndonjë objekte të tjera që ju dëshironi. Pra, kjo do të ruajtur këtë në një variabël që ju lehtë mund të hyni. Kështu që këtu, unë jam duke marrë një listë. Unë jam duke thënë gjëra të barabartë 3. Kështu që unë jam do të ketë një element në lista, dhe kjo quhet gjëra, dhe ajo do të ketë vlerën 3. Unë gjithashtu mund të krijojnë një matricë. Kështu kjo eshte 1 deri ne 4 dhe rresht fund është e barabartë me 2, kështu që një 2 nga 2 matricë. Gjithashtu në listë dhe është quajtur mat. moreStuff, një varg karakter, dhe madje edhe një tjetër listë në vetvete. Pra, kjo është një listë që është 5 dhe ariun. Pra, ajo ka vlerën 5 dhe atë ka të mbajnë string karakter dhe kjo është një listë brenda një listë. Kështu që ju mund të keni këto gjëra gjithkund rekursive ku ju keni another-- a lloji brenda llojit. Pra, në mënyrë të ngjashme, ju mund të ketë një matricë brenda një matricë dhe kështu me radhë. Dhe një listë është vetëm një mënyrë e mirë e mbledhjes dhe përmbledhë të gjitha këto objekte të ndryshme. Dhe së fundi, këtu është vetëm të ndihmojë në rast kjo ishte zhdukur pak më shumë se shumë shpejt. Pra, në çdo kohë që ju jeni të hutuar për një lloj të funksionit, ju mund të bëni për ndihmën e atij funksioni. Kështu që ju mund të bëni ndihmë matricë ose një matricë pikëpyetje. Dhe ndihmë dhe pikëpyetje janë vetëm stenografi për të njëjtën gjë kështu që ata janë emërtimet. lm është një funksion që vetëm e bën një model linear. Por në qoftë se ju vetëm nuk kanë asnjë ide se si se Punimet, ju mund të bëni vetëm ndihmën e LM dhe se do të ju jap disa lloj i dokumentacionit që duket lloj si një faqe burrë në Unix, ku ju keni një përshkrim të shkurtër të asaj që e bën atë, edhe çfarë argumentet e saj janë, çfarë ajo kthehet, dhe vetëm këshilla se si të përdorin atë, dhe disa shembuj si. Pra më lejoni të shkoj përpara dhe të tregojnë disa demo e përdorimit R. OK. Kështu që unë shkova mbi shumë shpejt vetëm të dhënat e strukturat dhe disa lloj op-- disa operacioneve. Këtu është disa funksione. Kështu që këtu unë jam vetëm duke shkuar për të përcaktuar një funksion. Kështu që unë jam gjithashtu duke përdorur operator detyrë këtu, dhe atëherë unë jam duke thënë deklaroj atë si një funksion. Dhe ajo merr vlerën e x. Pra, kjo është ndonjë vlerë të doni dhe unë jam duke shkuar për të kthyer x vetvete. Pra, ky është funksioni identiteti. Dhe çfarë është e ftohtë në lidhje me këtë në krahasim me gjuhët e tjera dhe një tjetër të nivelit të ulët Gjuhë të është se x mund të jetë e çdo lloji vetë dhe ajo do të kthehet atë lloj. Kështu që ju mund imagine-- kështu le të mua vetëm të drejtuar këtë shpejt. Më vjen keq. Kështu që një gjë unë duhet të përmend është se ky redaktor unë jam duke përdorur quhet rstudio. Kjo është ajo që quhet një IDE. Dhe një gjë që është e të vërtetë e bukur në lidhje me këtë është se ajo përfshin një shumë të gjërat që ju doni të bëni në R vetvete vetëm shumë intuitive. Kështu që këtu është një përkthyes console. Pra, në mënyrë të ngjashme, ju gjithashtu mund të merrni këtë konsol papërpunuara vetëm duke bërë një R. kapitalit Dhe kjo është pikërisht njëjta gjë si tastierë. Kështu që unë mund të bëjë vetëm funksion id x, x, x. Dhe then-- dhe pastaj se do të jetë vetë gjobë. Pra rstudio është e madhe sepse ajo ka konsol. Ai ka gjithashtu edhe dokumentet ju dëshironi për të kandiduar më. Dhe atëherë ajo ka disa variabla që ju mund të shihni në mjedise. Dhe pastaj, në qoftë se ju keni për të bërë komplote, atëherë ju mund të shohim vetëm atë këtu, në krahasim me menaxhimin e të gjitha këtyre dritareve të ndryshme me veten e tyre. Unë në fakt personalisht e përdorin VIM, por unë të ndjehen si rstudio është e shkëlqyer vetëm për marrjen e një ide e mirë e si të përdorin R. Zakonisht, kur ju jeni duke u përpjekur për të të mësojnë disa detyrë të re, ju nuk doni për të trajtuar shumë gjëra në të njëjtën kohë. Pra, R është vetëm një rstudio very-- është një mënyrë shumë e mirë e të mësuarit R pa pasur nevojë të merren me të gjitha këto gjëra të tjera. Kështu që këtu unë jam duke id përshëndetje. Kjo kthen përshëndetje. id 123. Këtu është një vektor i numra të plotë. Pra në mënyrë të ngjashme, sepse ju mund të marrë ndonjë një lloj të vlerës, ju mund të bëni të kthehej id e x kështu që ajo të kthehet 1234 dhe 5. Dhe më lejoni vetëm të ju tregojnë se kjo është me të vërtetë një numër të plotë. Dhe në mënyrë të ngjashme, në qoftë se ju bëni klasë id x, ajo do të jetë numër i plotë. Dhe pastaj, ju gjithashtu mund të krahasojnë të dy dhe kjo është TRUE. Kështu që unë jam duke kontrolluar nëse id e x është e barabartë e barabartë me x dhe njoftimin se ajo ju jep dy TRUEs. Pra, kjo nuk është e thënë të dy objekte identike, por jane secili prej hyra brenda vektorët identike. Këtu është bounded.compare. Pra, kjo është pak më e komplikuar në atë që ajo ka një nëse kusht dhe tjetër dhe pastaj ajo merr dy Argumentet në një kohë. Pra, x është e çdo lloji. Dhe unë jam duke thënë se kjo argumenti dytë është a. Kjo mund të jetë çdo gjë si. Por nga default, ajo do të marrë 5 në qoftë se ju nuk e specifikon asgjë. Kështu që këtu unë jam duke shkuar për të thënë nëse x është më i madh se a. Pra, në qoftë se unë nuk e specifikon një, atë thotë nëse x është më i madh se 5, atëherë unë jam duke shkuar për t'u kthyer TRUE. tjetër, Unë jam duke shkuar për t'u kthyer FALSE. Pra më lejoni të shkoj përpara dhe të përcaktojë këtë. Dhe tani unë jam duke shkuar për të drejtuar bounded.compare 3. Pra, ajo thotë se është 3 më pak than-- është 3 madh se 5. Jo, nuk është kështu FALSE. Dhe bounded.compare 3 dhe unë jam duke shkuar të krahasojnë atë duke përdorur një është e barabartë me 2. Kështu që tani unë jam duke thënë se po, tani unë duan një të jetë diçka tjetër. Kështu që unë jam duke shkuar për të thonë se një, ju duhet të jetë 2. Unë as mund ta bëjë këtë lloj të simbol apo unë them një është e barabartë me 2. Kjo është një më i lexueshëm në që kur ju jeni duke kërkuar në këto të vërtetë Funksionet e komplikuara se merr arguments-- të shumta dhe kjo mund të jetë dhjetra oftentimes-- vetëm duke thënë një është e barabartë me 2 është më i lexueshëm për ju në mënyrë që më vonë në të ardhmen ju do të dini se çfarë jeni duke bërë. Pra në këtë rast, unë jam duke thënë se është 3 më i madh se 2. Po ajo është. Dhe në mënyrë të ngjashme, unë vetëm mund të hiqni këtë dhe thonë, është 3 më i madh se 2 ku një është e barabartë me 2. Dhe kjo është gjithashtu TRUE. Po? AUDIENCA: A jeni ekzekutimin rresht pas rreshti? Dustin Tran: Po unë jam. Pra, ajo që unë jam duke bërë këtu është duke marrë këtë tekst document-- dhe çfarë është e madhe në lidhje rstudio është se Unë vetëm mund të kandidojë një short-- një shkurtore kyç. Kështu që unë jam duke bërë Kontrollit-Enter. Dhe pastaj, unë jam duke marrë vijë në dokumentin e tekstit dhe pastaj të vënë në tastierë. Kështu që këtu unë jam duke thënë, bounded.compare dhe unë jam duke bërë Kontrollit-X. Kështu që unë vetëm mund të do të kandidojë si edhe këtu. Dhe pastaj se do të marrë line dhe pastaj e vënë atë këtu. Dhe pastaj në mënyrë të ngjashme, unë mund të do të kandidojë këtu. Dhe atëherë ajo vetëm do të mbajë përkufizimin linjat në tastierë si kjo. Dhe në qoftë se ju gjithashtu të vini re kaçurrel formatimin e teksteve janë atje vetëm si në C sintaksë. x-- nëse nëse kusht është gjithashtu do të përdorni kllapa dhe pastaj ju mund të përdorni tjetër. Një tjetër është tjetër nëse. Pra, kjo do të jetë x është e barabartë është e barabartë me një, për shembull. Dhe atëherë unë jam duke shkuar për të diçka të kthehen këtu. Vini re se ka dy të ndryshme gjërat këtu që po ndodh. Njëra është që këtu unë jam duke specifikuar kthehet vlera TRUE. Këtu unë jam vetëm duke thënë x. Pra R do të zakonisht nga default marrë arguments-- fundit ose të marrë linjë e fundit e kodit, dhe se do të jetë ajo që është e kthyer. Kështu që këtu kjo është e njëjtë gjë si duke bërë të kthimit x. Dhe vetëm për të treguar ju. Dhe pastaj, ajo do të punojë vetëm si kjo. Pra më lejoni të vazhdoj me këtë. Pra tjetër nëse. Dhe me të vërtetë, unë mund të kthehen ndonjë gjë unë do të doja. Kështu që unë as nuk duhet të kthimit Booleans gjithë kohës, Unë vetëm mund të kthehen diçka tjetër. Kështu që unë mund të bëjë arush kthimit. Pra, në qoftë se x është e barabartë e barabartë me një, ajo do të kthehet arush. Përndryshe, ajo do të kthehet TRUE. Unë gjithashtu mund të bëjë një vektor apo me të vërtetë ndonjë gjë. Dhe normalisht në statically Gjuhë të shtypur, ju do të duhet të specifikoni një lloj këtu. Dhe vini re se kjo mund të jetë vetëm ndonjë gjë. Dhe R është mjaft inteligjent se ajo do të bëjë vetëm kjo dhe kjo do të punojnë mirë. Pra më lejoni të përcaktojë këtë. Unexpected-- oh sorry. Ajo duhet të jetë një mbajtëse kaçurrel këtu. OK. Ftohtë. Dakord. Pra, tani le të krahasojmë 3 dhe një është e barabartë me 3. Pra, ajo duhet të return-- yeah-- ariun vlerë. Deri tani një gjë më e përgjithshme është si ajo që për strukturat e tjera të të dhënave. Pra, ju e keni këtë funksion. Kjo do të punojë në çdo lloj e vlerës si 3 ose ndonjë numerike, me fjalë të tjera, të dyfishtë. Por ajo që për diçka si një vektor. Pra, çfarë ndodh në qoftë se ju do-- kështu që unë jam do të caktojë val të, të themi, 4 deri 6. Pra, nëse unë kthehem kësaj, kjo është një vektor nga 4, 5, 6. Tani le të shohim se çfarë ndodh në qoftë se unë bëj bounded.compare val. Pra, kjo do të ju jap 15 1251. Pra, me fjalë të tjera, ajo është duke thënë në qoftë se ju shikoni në këtë gjendje kështu që ajo thotë se x është më pak se një apo diçka. Pra, kjo është pak konfuze sepse tani ju thjesht nuk e di se çfarë po ndodh. Kështu që unë mendoj një gjë që është e vërtetë mirë në lidhje vetëm duke u përpjekur për të korrigjoj është se ju mund të bëni vetëm val është më i madh se një dhe të shohim se çfarë ndodh atje. Pra val-- një është nga default 5 më shumë le të vetëm e Val më i madh se 5. Pra, kjo është një vektor FALSE FALSE TRUE. Pra, tani, kur ju jeni duke kërkuar në kjo, ajo do të them nëse, dhe pastaj ajo do të ju jap këtë është një vektor i false false TRUE. Pra, kur ju të kalojë këtë në R, R nuk ka asnjë ide se çfarë jeni duke bërë. Për shkak se ajo pret një të vetme vlera, e cila është një Boolean, dhe tani ju jeni duke i dhënë asaj një vektor të Booleans. Pra nga default, R është vetëm do të thonë se çfarë dreq, Unë do të supozojmë se ju jeni do të marrë elementin e parë këtu. Kështu që unë jam duke shkuar për të say-- unë jam duke shkuar të supozohet se kjo është FALSE. Pra, kjo do të thotë jo, kjo nuk është e drejtë. Në mënyrë të ngjashme, ajo do të të jetë e barabartë me val e barabartë me një. Jo, sorry 5. Dhe ajo gjithashtu do të jetë i rremë si. Kështu ajo do të thonë se nuk ka, kjo nuk është TRUE si edhe kështu që është e do të kthehen këtë të fundit. Pra, kjo është ose një gjë e mirë apo një të keqe gjë, në varësi se si ju shikoni atë. Sepse kur ju jeni krijimin e këtyre funksioneve, ju nuk mund të vërtetë e di se çfarë po ndodh. Pra, ndonjëherë ju do të duan një gabim, ose ndoshta ju thjesht duan një paralajmërim. Në këtë rast, R nuk e bën atë. Kështu që është e vërtetë deri në ju bazuar jashtë e çfarë ju mendoni gjuhën duhet të bëjë në këtë rast në qoftë se ju të kalojë në një vektor të Booleans kur ju jeni duke bërë një nëse kusht. Pra, le të thonë se ju kishte origjinale një me nëse tjetër kthehen TRUE dhe ju jeni do të kthehen FALSE. Pra, një mënyrë për të abstraguar kjo do të thotë unë as nuk duhet kjo gjë të kushtëzuar. Një tjetër gjë që unë mund të bëj është vetëm të kthehej vetë vlerat. Pra, në qoftë se ju të vini re, në qoftë se ju bëjë val është më i madh se 5, kjo do të kthehen një vektor FALSE FALSE TRUE. Ndoshta kjo është ajo që ju dua për bounded.compare. Ju dëshironi që të kthejë një vektor të Booleans ku ajo krahason secili i vlerave për veten e tyre. Pra, ju vetëm mund të bëni bounded.compare funksion x, a është e barabartë me 5. Dhe pastaj në vend të bërë kjo nëse kusht tjetër, Unë jam vetëm do të kthehen x është më i madh se 5. Pra, në qoftë se është e vërtetë, atëherë ajo do të kthehet TRUE. Dhe pastaj në qoftë se kjo nuk është, është e do të kthehen FALSE. Dhe kjo do të punojë për ndonjë nga këto struktura. Kështu që unë mund të bounded.compare c 1 6 ose 9 dhe atëherë unë jam duke shkuar për të thonë se një është e barabartë me 6, për shembull. Dhe atëherë ajo do të ju jap Boolean e duhur vektor që ju jeni dizajnimin. Pra, ata janë vetëm funksione dhe tani le të më vetëm ju tregojmë disa visuals interaktive. Unë nuk mendoj se unë në fakt kanë Wi-Fi këtu aq më lejoni vetëm të shkojnë përpara dhe kaloni këtë një të tillë unë mend. Por një gjë që është e ftohtë edhe pse është se në qoftë se ju vetëm duan për të provuar një bandë e Komandat e ndryshme të të dhënave, ka një bandë të dhënash të ndryshme që janë preloaded tashmë në R. Pra, një prej tyre është i quajtur iris dataset. Kjo është një nga më të mirë-njohur ato në të mësuarit e makinës. Ju zakonisht do të vetëm të bëjë një lloj të Rastet e testit të parë nëse kodi juaj shkon. Pra, le të vetëm shikoni çfarë iris është. Pra, kjo gjë është duke shkuar të jetë një kornizë të dhënave. Dhe kjo është lloj i gjatë, sepse Unë vetëm të shtypura jashtë iris. Është shtypjen nga të gjithë gjë. Pra, ajo i ka të gjitha këto emra të ndryshëm. Pra iris është një koleksion lule të ndryshme. Në këtë rast, Është e thënë ju speciet e tij, të gjitha këto widths të ndryshme dhe gjatesite e Nëpetël dhe petal. Dhe kështu normalisht, nëse ju doni të shtypura iris, për shembull, ju nuk doni të keni atë të gjitha këto se që mund të marrë përsipër juaj i tërë console. Pra, një gjë që me të vërtetë i mirë është funksioni kokë. Pra, në qoftë se ju vetëm bëni kokën iris, kjo do të ju jap pesë rreshta e para, apo gjashtë I guess. Dhe pastaj mirë, ju mund vetëm të specifikojë këtu. Pra 20-- kjo do t'i japë ju 20 rreshtat e para. Dhe unë në të vërtetë ishte i sjellshëm habitur nga që ky dha mua gjashtë aq më lejoni të shkoj përpara dhe kontrolloni iris-- ose kokën, sorry. Dhe këtu ai do t'i japë ju dokumentacioni e çfarë bën kreu vlera. Pra, ajo kthehet e parë apo e fundit e një objekti. Dhe atëherë unë jam duke shkuar për të shikoni në standarte. Dhe atëherë ajo thotë parazgjedhje kreu metodë x dhe n është e barabartë 6L. Pra, kjo kthen gjashtë elementet e para. Dhe në mënyrë të ngjashme në qoftë se ju të vini re këtu, unë nuk duhet të specifikojë n është e barabartë me 6. By default ajo përdor gjashtë, I guess. Dhe pastaj, në qoftë se unë dua të specifikojë një të caktuar vlera, atëherë unë mund të shikoni se si. Kështu që është disa komanda të thjeshta dhe këtu është një tjetër që është just-- mirë, Unë can-- kjo është në të vërtetë një kompleks pak më shumë, por kjo vetëm do të marrë klasën e çdo kolonë e CCD iris. Pra, kjo do të ju tregojnë se çfarë secili prej tyre kolona janë në aspektin e llojeve të tyre. Pra gjatësi sepal është numerike, width sepal është numerike. Të gjitha këto vlera janë vetëm numerike sepse ju mund të thoni nga këto të dhëna strukturojë këto janë të gjithë do të numerik. Dhe kolona Speciet do të jetë një faktor. Pra normalisht, ju do të mendojnë se kjo është si një varg karakter. Por nëse ju vetëm bëni irisSpecies, dhe atëherë unë jam duke shkuar për të bërë kokën 5, dhe kjo është duke shkuar për të shtypur nga pesë vlerat e para. Dhe pastaj të vini re këtë nivelet. Pra, kjo është saying-- kjo është mënyra më e r-së të paturit e variablave kategorike. Pra, në vend të vetëm duke pasur strings karakter, ajo ka nivele specifikon cila nga këto gjëra janë. Pra, le të themi irisSpecies 1. Pra, çfarë ju doni të bëni këtu është unë jam subsetting në këtë kolonë Speciet. Pra, kjo merr Kolona Speciet dhe pastaj Indekset ajo për të marrë elementin e parë. Pra kjo duhet të ju jap setosa. Dhe ajo gjithashtu ju jep nivele këtu. Kështu që ju mund të krahasoni kjo me setosa karakter dhe kjo nuk është duke shkuar të jetë TRUE sepse një është e një lloji të ndryshëm nga tjetri. Ose unë mendoj se është e vërtetë, sepse R është më inteligjente se kaq. Dhe kjo duket në këtë dhe pastaj thotë se, ndoshta kjo është ajo që ju dëshironi. Pra, kjo do të them karakterin string setosa është e njëjtë si ky. Dhe pastaj në mënyrë të ngjashme, ju mund të gjithashtu kap vetëm këto si kështu me radhë. Pra, kjo është vetëm një lloj Komandat e shpejtë e CCD. Kështu që këtu është disa eksplorim të dhënave. Pra, kjo është pak më shumë përfshirë me analizën e të dhënave. Dhe kjo është marrë nga disa bootcamp në R për në Berkeley. Pra bibliotekë huaj. Kështu që unë jam duke shkuar për të ngarkuar në një bibliotekë që quhet i huaj. Pra, kjo do të më jepni read.dta kështu që të supozojmë se unë kam këtë dataset. Kjo është e ruajtur në tanishme Lista e tim tastierë pune. Pra, le të vetëm të shohim se çfarë Lista pune është. Kështu që këtu është drejtori im i punës. Dhe lexoj dot të dhëna, këtë gjë, është duke thënë këtë fotografi është e vendosur në dosjen e të dhënave të kjo drejtori aktual të punës. Dhe read.dta kjo nuk është e një komandë default. I guess I ngarkuar atë në tashmë. IEI supozuar I ngarkuar këtë në tashmë. Por kështu read.dta nuk është duke shkuar të jetë një komandë default. Dhe kjo është arsyeja pse ju jeni do të ketë për të ngarkuar në këtë bibliotekë package-- kjo paketë të quajtur huaj. Dhe në qoftë se ju nuk keni paketë, unë mendoj i huaj është një nga ato më të ndërtuar në. Përndryshe, ju gjithashtu mund të bëni install.packages dhe kjo do të instaloni paketën. Dhe kjo do të ju jap R. uh, nr. Dhe atëherë unë jam vetëm do të ndalet kjo sepse unë tashmë e kanë atë. Por ajo që është me të vërtetë e bukur për R është se menaxhimin paketë Sistemi është shumë elegant. Për shkak se ajo do të ruajë gjithçka të vërtetë e bukur për ju. Pra në këtë rast, ajo do të ruajë ajo në, unë besoj, kjo bibliotekë këtu. Pra, në çdo kohë që ju dëshironi të instaloni pako të reja, kjo është po aq e thjeshtë sa duke bërë install.packages dhe R do të menaxhojë të gjithë paketa për ju. Pra, ju nuk keni për të bërë diçka në Python, ku ju keni paketë të jashtëm Menaxherët si letër Anaconda ku ju jeni doing-- ju instaloni paketa jashtë Python dhe pastaj ju të përpiqen për të drejtuar vetë. Pra, kjo është me të vërtetë mënyra më e mirë. Dhe install.packages kërkon internet. Ajo merr atë nga një server dhe depo që mbledh të gjithë paketa quhet cran. Dhe ju mund të specifikoni se cili lloj pasqyre ju doni të shkarkoni paketat nga. Kështu që këtu unë jam marrë këtë dataset. Unë jam duke e lexuar atë në duke përdorur këtë funksion. Pra më lejoni të shkoj përpara dhe të bëjë këtë. Pra, le të supozojmë se ju e keni këtë dataset dhe ju keni absolutisht asnjë ide se çfarë është. Dhe kjo në të vërtetë vjen deri mjaft shpesh në industrinë e ku ju vetëm duhet këto ton dhe ton e gjëra të çrregullt dhe ata janë tepër të unlabeled. Kështu që këtu unë kam këtë dataset dhe unë nuk e di çfarë është kështu që unë jam vetëm duke treguar për të kontrolluar atë. Kështu që unë jam duke shkuar për të bërë kreu i parë. Kështu që unë kontrolloni gjashtë e parë kolona të asaj që kjo dataset është. Pra, kjo është shtet, pres04, dhe pastaj të gjitha këto lloj i ndryshëm i kolonave. Dhe çfarë është interesante këtu, unë mendoj, është se ju do të supozojmë se kjo duket si një lloj të zgjedhjeve. Dhe unë mendoj vetëm nga duke kërkuar në dosjen e emrin kjo është një lloj koleksioni e të dhënave për kandidatët ose votuesve që votuan për kryetarët specifike ose kandidatë Presidenti për zgjedhjet e 2004. Kështu që këtu është vlera 1, 2 kështu një mënyrë e ruajtjes kandidatët Presidenti janë emrat e tyre. Në këtë rast, ajo duket si ata janë vlerat vetëm numer i plote. Pra 2004, ajo ishte e Bush kundrejt Kerry unë besoj. Dhe tani, le të thonë se ju thjesht nuk e di nëse 1 korrespondon Bush apo 2 korrespondon Kerry apo dhe kështu me radhë e kështu me radhë, e drejtë? Dhe kjo është, vetëm për mua, një problem mjaft i zakonshëm. Pra, çfarë mund të bëni në këtë rast? Pra, le të kontrollosh të gjitha këto gjëra të tjera. shtet, unë jam duke supozuar kjo vjen nga shtete të ndryshme. partyid, të ardhura. Le të shikojmë në partyid. Pra, ndoshta një gjë që ju mund të bëni është shikoni në secilin prej vëzhgimeve që kanë një partyid të Republikan apo demokrat apo diçka. Pra, le të vetëm të shikojmë se çfarë partyid është. Kështu që unë jam duke shkuar për të marrë dat dhe pastaj unë jam duke shkuar për të bërë këtë shenjë dollar operator që kam bërë më parë dhe kjo do të nëngrup për atë kolonë. Dhe atëherë unë jam duke shkuar për të kryesuar këtë në 20, vetëm për të parë se çfarë kjo duket si. Pra, kjo është vetëm një bandë e nas. Pra, me fjalë të tjera, ju keni mungojnë të dhënat për këto guys. Por edhe ju këtë njoftim dat partyid është një faktor kështu që kjo ju jep kategori të ndryshme. Pra, me fjalë të tjera, partyid mund të marrë Demokrat, republikan, Pavarur, apo diçka tjetër. Pra, le të shkojnë përpara dhe le të shikoni se cilat nga këto is-- oh, OK. Kështu që unë jam duke shkuar për të nënbashkësi për partyid dhe pastaj shikojmë që ato janë Demokrat, për shembull. Kjo do të ju jap një Boolean, një Boolean madh i TRUEs dhe FALSEs. Dhe tani, le të thonë se unë dua në mesin e këtyre guys. Pra, kjo do të marrë dat time dhe subset te cilado vëzhgime kanë të barabartëve partyid barabartë demokrat. Dhe kjo është mjaft e gjatë, sepse nuk ka aq shumë prej tyre. Kështu që tani, unë jam duke shkuar për të kryesuar këtë në 20. Dhe si ju të vini re, është e barabartë me të barabartëve është interesante në atë që ju jeni already-- ju jeni gjithashtu duke përfshirë NAS. Pra në këtë rast, ju ende mund të mos marrë ndonjë informacion sepse tani ju keni nas dhe ju vetëm duan të shohin se cili prej Vëzhgimi korrespondojnë me demokrat dhe jo këto mungojnë vlerat veten e tyre. Pra, si do të të shpëtoj nga këto nas? Kështu që këtu unë jam vetëm duke përdorur çelësin deri në tim kursorin dhe pastaj duke thënë lëvizin përreth. Dhe pastaj këtu unë jam vetëm duke shkuar për të thënë is.na datpartyid. Pra, kjo dhe dhe do të marrë dy vektorët ndryshme Boolean dhe thonë se kjo do të jetë TRUE dhe FALSE për shembull. Kështu ajo do të bëjë këtë komponent-mençur. Kështu që këtu unë jam duke thënë reagim i kornizë të dhënave, nënbashkësi të atyre që korrespondojnë me demokrat, dhe për të hequr ndonjë prej tyre që nuk janë NA. Pra, kjo will-- duhet ju jap diçka. Le të shohim is.na. Le të përpiqemi datpartyid is.na. Dhe kjo duhet të jap you-- sorry-- vetëm një vektor Boolean. Dhe pastaj, për shkak se është aq e gjatë, Unë jam duke shkuar për mesin e të 20. OK. Pra kjo duhet të punojnë. Dhe kjo do të jetë gjithashtu TRUEs. Ah, kështu që gabimi im këtu është se I'm-- unë përdorin C ++ dhe R interchangeably kështu që unë bëj ky gabim gjithë kohës. Dhe operatori është në të vërtetë ajo që dëshironi. Ju nuk dëshironi të përdorni dy ampersands, vetëm një njeri i vetëm. OK. Pra, le të shohim. Pra, ne subsetted të partyid ku ata janë demokrat dhe ata nuk jeni të humbur vlerat. Dhe tani le të shohim në që ato kanë votuar për. Kështu ajo duket si më prej tyre votuan për 1. Kështu që unë jam duke shkuar për të shkuar përpara dhe thonë se është e Kerry. Dhe në mënyrë të ngjashme, ju mund të gjithashtu të shkojnë në republikan dhe shpresojmë se, kjo duhet të ju jap 2. Është vetëm një bandë e kolona të ndryshme. Dhe me të vërtetë, është e 2. Pra partyid gjitha republikan, shumica e tyre po votojnë për 2. Pra, duket sikur, vetëm duke shikuar në këtë, Republikan do të jetë a very-- ose partyid do të jetë një shumë e faktor i madh në përcaktimin cili kandidat ata janë do të votojnë për të. Dhe kjo është padyshim e vërtetë në përgjithësi. Dhe kjo ndeshje tuaj intuitë, natyrisht. Pra duket sikur jam mbetur shumë kohë kështu më lejoni vetëm duhet të shkoni përpara dhe të tregojnë disa imazhe të shpejtë. Kështu që këtu është diçka që është pak më e komplikuar me vizualizimi. Pra në këtë rast, kjo është një shumë Analiza e thjeshtë e vetëm kontrolluar atë president i '04 është. Pra në këtë rast, le të thonë se ju të kërkuar për t'iu përgjigjur kësaj pyetjeje. Pra, mendoj që ne të kërkuar të dini votimin sjellje në zgjedhjet e 2004 presidentit dhe se si kjo ndryshon nga raca. Pra, jo vetëm që ju doni të shohin sjelljen e votimit, por ju doni të mesin e çdo garë dhe lloj të përmblidhni se. Dhe ju mund të them vetëm nga ky simbol kompleks që kjo është lloj i gjetjes mjegullt. Pra, një nga më të avancuar R paketa që është në gjithashtu lloj i fundit quhet dplyr. Pra, është kjo një e drejtë këtu. Dhe ggplot2 ggg-- është vetëm një e bukur mënyrë për të bërë visualizations më të mira sesa të ndërtuar në një. Kështu që unë jam duke shkuar për të ngarkuar këto dy biblioteka. Dhe pastaj, unë jam duke shkuar për të shkuar përpara dhe të drejtuar këtë komandë. Ju mund të trajtojnë vetëm këtë si një kuti e zezë. Çfarë është duke ndodhur është se ky tub operator është duke kaluar në këtë argument në këtu. Kështu që unë jam duke thënë grup nga dat garë dhe pastaj president 04. Dhe pastaj, të gjitha këto komanda të tjera janë filtrimin dhe pastaj përmbledhjen ku unë jam duke bërë numërimin dhe atëherë unë jam duke komplotuar atë këtu. OK cool. Pra, le të shkojnë përpara dhe të shohim se çfarë kjo duket si. Pra, çfarë po ndodh këtu është se unë vetëm komplotoi secili prej garave dhe pastaj që ato kanë votuar për. Dhe këta dy të ndryshme Vlerat korrespondojnë me 2 dhe 1. Nëse duan të jenë më të elegant, ju gjithashtu mund të vetëm të specifikojë se 2 është Kerry-- ose 2 është Bush, dhe pastaj 1 është Kerry. Dhe ju mund të ketë gjithashtu që në legjendë tuaj. Dhe ju gjithashtu mund të ndahen këto grafikët bar. Sepse një gjë është e që, në qoftë se ju të vini re, kjo nuk është shumë e lehtë për të identifikuar cila prej këtyre dy vlerave janë më të mëdha. Pra, një gjë që ju do të duan të bëni është të marrë këtë zonë blu dhe vetëm lëvizin atë mbi këtu kështu që ju mund të krahasohen këto dy krah për krah. Dhe unë mendoj se kjo është diçka që unë nuk kanë kohë për të bërë të drejtë tani, por kjo është gjithashtu shumë e lehtë për të bërë. Ju vetëm mund të shikoni në faqet njeriu e ggplot. Pra, ju vetëm mund të bëni ggplot si se dhe të lexoni në këtë faqe njeri. Pra më lejoni vetëm të shpejt ju tregojmë disa gjëra cool. Le të shkojnë përpara dhe të shkojnë to-- vetëm një Aplikimi i mësimit të makinës. Pra, le të thonë se ne kemi këto tre paketa kështu që unë jam duke shkuar për të ngarkuar këto në. Pra, kjo vetëm printon nga disa Informacioni pasi kam ngarkuar në gjë. Kështu që unë jam duke thënë këtë read.csv, kjo dataset, dhe tani Unë do të shkoj përpara dhe të kërkoni dhe parë se çfarë ka brenda këtij CCD. Pra 20 vëzhgimet e para. Kështu që unë vetëm duhet X1, X2, dhe Y. Pra ajo duket si një bandë e këtyre vlerave janë duke filluar nga ndoshta 20-80 apo më shumë. Dhe pastaj në mënyrë të ngjashme për X2 dhe pastaj kjo Y duket të jetë etiketat 0 dhe 1. Për të verifikuar këtë, unë mund vetëm të bëjë dhënave përmbledhje X1. Dhe pastaj në mënyrë të ngjashme për të gjitha këto kolona të tjera. Pra përmbledhje është një mënyrë e shpejtë e vetëm duke ju shfaqur vlera të shpejtë. Oh, më vjen keq. Kjo duhet të jetë Y. Pra në këtë rast, i jep quantiles, medians, maxes si. Në këtë rast, dataY, ju mund të shihni se ajo është vetëm do të jetë 0 dhe 1. Gjithashtu do të thotë është duke thënë 0,6, thjesht do të thotë se ajo Duket si unë kanë më shumë 1s se 0s. Pra më lejoni të shkoj përpara dhe të tregojnë ju çfarë kjo duket si. Kështu që unë jam vetëm duke shkuar për të komplotuar këtë. Le të shohim se si të qartë këtë. Oh OK. OK. Pra, kjo është ajo që duket si. Pra, kjo duket si yellows unë specifikuara si 0, dhe pastaj të kuqe unë specifikuar si 1s. Kështu që këtu ajo duket si Pikat etiketë dhe ajo duket sikur ju vetëm të kërkuar disa lloj i clustering mbi këtë. Dhe më lejoni vetëm të shkojnë përpara dhe të tregojnë ju disa nga këto funksione të tjera. Kështu që këtu është lm. Pra, kjo është vetëm duke u përpjekur për të përshtaten një linjë për këtë. Pra, çfarë është mënyra më e mirë që unë mund të përshtatet një linjë e tillë se ai do ta ndajë më të mirë ky lloj i clustering. Dhe në mënyrë ideale, ju vetëm mund të shihni që unë vetëm të drejtuar të gjitha këto komanda dhe pastaj, unë jam duke shkuar përpara dhe të shtoni linjë. Pra, kjo duket si mend mirë. Ajo është duke marrë një më të mirë që minimizon gabim në duke u përpjekur që të përshtaten këtë linjë. Natyrisht, kjo duket lloj i e mirë, por kjo nuk është më e mirë. Dhe modele lineare, në përgjithësi, do të jenë të të vërtetë të madhe për teorinë dhe vetëm lloj e ndërtimit të bazave të makinës të mësuarit. Por në praktikë, ju jeni do të duan të bëjnë diçka më të përgjithshme. Kështu që ju mund vetëm të provoni drejtimin diçka që quhet një rrjet nervor. Këto gjëra janë gjithnjë e më të zakonshme. Dhe ata vetëm punë fantastike për datasets të mëdha. Pra në këtë rast, ne vetëm have-- le të see-- ne kemi nrow. Pra nrow është vetëm duke thënë numrin e rreshtave. Pra në këtë rast, unë kanë 100 vëzhgime. Pra më lejoni të shkoj përpara dhe të të bëjë një rrjet nervor. Pra, kjo është me të vërtetë e bukur sepse unë mund të them vetëm nnet dhe atëherë unë jam duke regressing shkronjes Y. Pra, Y është se kolona. Dhe pastaj hapa prapa atë në dy variabla të tjera. Pra, kjo është më e shkurtër simbol për X1 dhe X2. Pra, le të shkojnë përpara dhe të drejtuar këtë. Oh, më vjen keq. Unë kam nevojë për të drejtuar këtë gjë të tërë. Dhe kjo është vetëm simbol shtypje për sa shpejt apo jo shpejt ajo konverguar. Pra, duket si ajo ka konvergojnë. Pra më lejoni të shkoj përpara dhe të shtypura se çfarë kjo duket si. Shih këtu është fotografia dhe këtu është një kontur duke treguar se si edhe ai i përshtatet. Dhe kjo është just-- ju mund të shihni kjo se kjo është shumë, shumë e bukur. Ajo mund edhe të jetë overfitting, por ju gjithashtu mund të llogari për këtë me tjetrin Teknikat si ndër-validation. Dhe këto janë ndërtuar edhe në R. Dhe më lejoni vetëm të ju tregojnë mbështetur makinë vektor. Ky është një tjetër të vërtetë të përbashkët teknikë në të mësuarit e makinës. Ajo është shumë e ngjashme me modelet lineare, por ai përdor atë që quhet një metodë kernel. Dhe le të shohim se sa mirë që bën. Pra, kjo është shumë e ngjashme me mënyrën se si edhe një rrjet nervor kryen, por kjo është shumë më e duhur. Dhe kjo është e bazuar off i what-- se si SVMs punë. Pra, kjo është vetëm një shumë pasqyrë të shpejtë të disa i funksioneve të ndërtuara në ju mund të bëni dhe gjithashtu disa nga eksplorimit të dhënave. Pra më lejoni vetëm të shkojnë përpara dhe të kthehemi në slides. Pra natyrisht, kjo është jo shumë të plotë. Dhe kjo është me të vërtetë vetëm një ngacmues ju tregon se çfarë ju mund të vërtetë të bëjë në R. Pra, në qoftë se ju do ashtu si për të mësuar më shumë, këtu janë një bandë e burimeve të ndryshme. Pra, nëse ju jeni të dua e teksteve ose ju jeni vetëm dua e lexuar gjëra online, atëherë kjo është një fantastike një nga Hadley Wickham, i cili gjithashtu krijoi të gjitha këto paketa really cool. Nëse jeni të dua e videos, pastaj Berkeley ka një bootcamp tmerrshëm kjo është several-- që është lloj i gjatë. Dhe kjo do të mësojmë pothuajse çdo gjë që ju dëshironi të dini rreth R. Dhe në mënyrë të ngjashme, nuk ka Codeacademy dhe të gjitha këto lloj tjetër Faqet e internetit e interaktive. Ata janë gjithashtu duke u common-- gjithnjë e më shumë i zakonshëm. Pra, kjo është shumë e ngjashme me Codeacademy. Dhe së fundi, në qoftë se ju vetëm dua Komunitetit dhe për të ndihmuar, këto janë një bandë e gjëra që ju mund të shkoni për të. Natyrisht, ne ende përdorin listat e postimeve, vetëm si pothuajse çdo tjetër Komuniteti gjuhë programimi. Dhe #rstats, kjo është Komuniteti ynë Twitter. Kjo është në të vërtetë mjaft të zakonshme. Dhe pastaj përdorues! Është vetëm konferencë tonë. Dhe pastaj, natyrisht, ju mund të përdorin të gjitha këto pyetje dhe të tjera gjëra, si Stack Derdhja, Google, dhe pastaj Github. Për shkak se shumica e këtyre paketave dhe një shumë e komunitetit do të jetë i përqëndruar rreth zhvillimit Kodi për shkak se është burim i hapur. Dhe kjo është vetëm me të vërtetë mirë në Github. Dhe së fundi, ju mund të më kontaktoni nëse ju vetëm keni ndonjë pyetje të shpejtë. Kështu që ju mund të gjeni mua në Twitter këtu, website im, dhe vetëm e-mail im. Kështu që shpresojmë, që ishte something-- vetëm një ngacmues i shkurtër e çfarë R është me të vërtetë në gjendje të bëj. Dhe shpresojmë se, ju vetëm shikoni këto tri lidhje dhe shikoni se çfarë ju mund të bëni më shumë. Dhe unë mendoj se është vetëm në lidhje me të. Thanks. [Duartrokitje]