[MUZIKO Ludante] Dustin Tran: Saluton. Mia nomo Dustin. Do mi prezentos Datumoj Analizo en R. Nur iomete iomete pri mi mem. Mi estas aktuale studento de postgrado la Inĝenierio kaj Sciencoj Aplikitaj. Mi studos intersekco de maŝina lerno kaj statistikoj tiel Datumoj Analizo en R estas vere fundamentaj al kio Mi faras ĉiutage. Kaj R estas speciale bona por datumoj analizo ĉar ĝi estas tre bona por prototipado. Kaj ĝenerale, kiam vi faras ian de datuma analitiko, okazas multe da problemoj tuj kognitiva. Kaj tial vi simple volas havi kelkaj vere bona lingvo estas nur bona por fari korpigita funkcioj, kontraste al devi trakti malalta nivelo aĵoj. Do en la komenco, Mi simple intencas enkonduki kio estas R, kial estus vi volas uzi ĝin, kaj tiam transiru en kelkaj demo, kaj ĝuste iri de tie. Do kio estas R? R estas nur lingvo evoluinta por statistikaj komputado kaj vidigo. Do kion tio signifas estas ke ĝi estas tre bonega lingvo por ia ajn afero kiu traktas necerteco aŭ datumoj videbligo. Do vi havas ĉiujn tiujn probablodistribuoj. Tie tuj estos korpigita funkcioj. Vi ankaŭ havas bonegajn komplotanta pakoj. Python estas alia rivalante lingvo por datumoj. Kaj unu afero kiun mi trovas ke R Estas multe pli bone ĉe estas vidigo. Do kion vi vidos en la demo kiel bone estas nur tre intuicia lingvo ke nur funkcias ekstreme bone. Ĝi estas ankaŭ libera kaj malferma fonto, kiel Estas iu ajn alia bona lingvo mi supozas. Kaj tie, faskon de ĝuste sxlosilvortoj ĵetitaj ĉe vi. Estas dinamikaj, kio signifas, se vi havas specifa tipo atribuitaj al objekto ol ĝi malebligos simple ŝanĝi ĝin sur la muŝo. Estas mallaborema tial estas inteligentaj pri kiel lin faras kalkulojn. Funkcia signifa ĝi povas vere funkcii bazita ekstere de funkcioj tiel anything-- omnaspeca manipulado vi estas faranta, ĝi bazos ekstere funkcioj. Do duumaj operatoroj, ekzemple, estas nur imanente funkcioj. Kaj ĉio tio vi estas iranta fari estas tuj estos kuri for funkcioj mem. Kaj tiam objekto orientita tiel. Do jen estas XKCD intrigo. Ne nur ĉar mi sentas min kiel XKCD estas fundamenta al omnaspeca de prezento, sed ĉar Mi sentas kiel ĉi tio vere marteloj la punkto kiu multaj de la tempo kiam vi faras ian datumoj analizo, la problemo ne estas tiel kiel rapide kuras, sed kiel longe ĝi tuj konduki vin plani la taskon. Do jen estas nur analizas se strategio a aŭ b estas pli eficiente. Ĉi tuj estos iu kiu vi estas tuj trakti amason kun en speco de malalta-nivelo lingvoj kie vi kontraktanta kun seg kulpoj, memoro atribuo, initializations, eĉ farante la enkonstruita en funkcioj. Kaj ĉi tiu ŝtofo estas ĉiuj manipulitaj tre, tre elegante en R. Do ĝuste al martelo ĉi punkto, la plej granda botelkolo tuj estos kognitiva. Do datumoj analizo estas tre malfacila problemo. Ĉu vi faras maŝino lernado aŭ vi estas faranta ĝuste ian bazaj datumoj tuŝo, vi ne volas havi preni dokumenton kaj tiam kompili ion ĉiufoje kiam vi volas vidi kion kolumno similas, kio aparta enskriboj en matrico aspektas. Do vi simple volas havi iuj vere bela interfaco vi povas kuri simpla funkcio kiu indeksas al cuantos Vi ŝatus kaj nur kuri ĝin de tie. Kaj vi bezonas domajno specifajn lingvojn por tio. Kaj R estos vere helpi vin difini la problemon kaj solvi ĝin tiamaniere. Do jen estas komploto montrante programado populareco de R kiel ĝi estas irita super tempo. Do kiel vi povas vidi, kiel 2013 aŭ do ĝi nur blovita supren terure. Kaj tiu estis justa pro ke grandega tendenco en la teknologia industrio pri grandaj datumoj. Ankaŭ, ne nur la teknologio industrio, sed vere ajna industrio that-- ĉar multon de la industrioj estas ia nepre necesa provas solvi tiujn problemojn. Kaj ĝenerale, vi povas havi iom da bona maniero de mezuri tiuj problemoj aŭ eĉ difini ilin aŭ solvanta ilin uzante datumoj. Do mi pensas nun R estas la 11-a plej populara lingvo en TIOBE kaj ĝin pligrandiĝis ekde tiam. Do jen kelkaj pli karakterizaĵoj de R. Ĝi havas enorma kvanto de ujoj kaj por ĉiuj tiuj malsamaj aferoj. Do iam vi havas determinita problemo, plej la tempo R havos domadministranto por vi. Do ĉu vi volas konstruu ian maŝinon lernante algoritmon vokis Hazarda Arbaro aŭ Decido Arboj, aŭ eĉ provante preni la meznombro de funkcio aŭ ajna de ĉi stuff, R havos tiun. Kaj se vi faros vin interesas optimumigo, unu afero estas komuna estas ke post vi faris prototipado ia altnivela lingvo, vi forĵetos ke in-- vi volas nur haveno kiu super al iuj malalta nivelo lingvo. Kio estas bona pri R estas, ke iam vi estas farita prototipado ĝin, vi povas kuri C ++, aŭ Fortran, aŭ pri iu el tiuj malsupra ebenaĵoj rekte en R. Do tio estas vere malvarmeta trajto cxirkaux R, se vi vere zorgas pri la optimización punkto. Kaj estas ankaŭ vere bonaj por TTT visualizaciones. Do D3.js, ekzemple, estas Mi supozas alian seminarion ke ni prezentis hodiaŭ. Kaj tiu estas vere imponega por fari interaktiva visualizaciones. Kaj D3.js supozas ke vi havas ia datumoj al esti grafike kaj R estas granda maniero de povi fari la analizo de datumoj antaŭ eksporti ĝin super al D3.js aŭ eĉ nur kuri D3.js ordonas en R sin, tiel kiel ĉiuj tiuj aliaj bibliotekoj tiel. Do kiu estis ĝuste la enkonduko de kio estas R kaj kial vi eble uzos ĝin. Do espereble, mi konvinkis vin ion pri nur provas vidi kion estas. Do mi iros por antaŭeniri kaj trairu iuj fundamentoj pri R celoj kaj kion vi povas vere fari. Do jen estas nur faskon de math komandoj. Do diru you're-- vi volas konstrui lingvo mem kaj vi nur volas havi multajn malsamajn ilojn. Omnaspeca operacio vi pensas vi ŝatus volas estas sufiĉe tre tuj estos en R. Do jen estas 2 plus 2. Ĉi tie estas 2 fojoj pi. R havas faskon de primitivaj konstantoj ke vi ofte uzas kiel pi, kaj. Kaj poste, jen 7 plus runif, do runif de 1. Tiu estas funkcio kiu estas generas unu hazarda uniformo de 0 al 1. Kaj tiam tie estas 3 al la potenco de 4. Ekzistas kvadrataj radikoj. Jen la protokolo. Do ensaluti faros bazo eksponenta per sin. Kaj tiam, se vi specifas bazo, tiam Vi povas fari kion ajn bazo vi deziras. Kaj tiam tie estas kelkaj aliaj komandoj. Do vi havas 23 mod 2. Tiam vi havas la reston. Tiam vi havas sciencan skribmaniero se vi ankaŭ volas fari nur pli kaj pli komplikaj aferoj. Do jen estas farita. Do tipaj taskoj en R estas farita kun sago do ĝi estas malpli ol kaj poste la streketo. Do jen mi simple asignanta 3 al la variablo val. Kaj tiam mi presanta el val kaj tiam ĝi presas el tri. Apriore en R interpretisto, ĝi presos tion por vi tial vi ne devas specifi presi val ajna tempo vi deziras presi ion. Vi povas simple fari val kaj tiam ĝi faros ke vin. Ankaŭ, vi povas uzi egalas teknike kiel asigno operatoro. Estas malpeza subtilaĵoj inter uzi la sagon operatoro kaj la egalaj operatoro por faritaj. Plejparte per konvencio, ĉiuj Mi nur uzu la sago operatoro. Kaj tie, mi asignanta ĉi oblikva skribmaniero nomata 1 colon 6. Tiu generas vektora de 1 ĝis 6. Kaj ĉi tio vere bela ĉar tiam vi ĵus atribui la vektoro al val kaj kiu funkcias per sin. Do tiu estas jam iranta de unu single-- tre intuicia datumoj strukturo de ĵus duobla de iu tipo de tipo en vektora kaj kiu kolektos cxiujn la skalaraj valoroj por vi. Do post iri de skalaro, vi havas R celoj kaj ĉi estas vektora. Vektoro estas omnaspeca Kolekto de la sama tipo. Do ĉi tie estas faskon de vektoroj. Do tiu estas nombraj. Numera estas R maniero diri duobla. Kaj tiel implicite, ĉiu numero estos duobla. Do se vi havas c de 1,1, 3, negativa 5.7, la c estas funkcio. Ĉi concatena ĉiuj tri nombroj en vector. Kaj jen be-- do se vi rimarkos 3 per sin, Normale vi supozus ke ĉi tio estas kiel entjero, sed ĉar ĉiuj vektoroj estas la sama tipo, ĉi estas vektora de duobloj aŭ nombraj en tiu kazo. rnorm estas funkcio kiu generas norma normala variables-- aŭ norma normala valoroj. Kaj mi preciziganta du el ili. Do mi faras rnorm 2, atribuante ke al devs, kaj tiam mi presi ekstere devs. Do tiuj estas nur du hazarda normalaj valoroj. Kaj tiam ints se vi faros vi zorgas pri entjeroj. Do ĉi tiu estas nur cxirkaux memoro atribuo kaj ŝparante memoro grandeco. Do vi devus alfiksus via nombroj per la ĉefurbon L. Ĝenerale, tiu estas R historia skribmaniero por iu nomita longa entjero. Do plejofte, vi esti kontraktanta kun duobloj. Kaj se vi iam volas poste sur optimizar via kodo, Vi povas simple aldoni tiujn L's poste aŭ dum ĝi se vi ŝatas precognitive pri kio vi faros tiuj variabloj. Do jen estas karaktero vectorial. Do, denove, mi concatenando tri kordoj tiu tempo. Rimarku ke duoblaj kordoj kaj sola kordoj estas samaj en R. Do mi havas Arthur kaj Marvin aj kaj tiel kiam mi presi ĝin, ĉiuj ili tuj montras duoblan kordoj. Kaj se vi ankaŭ volas inkludi la duobla aŭ sola kordo en via karakteroj, tiam vi povas ĉu alterni viajn ŝnurojn. Do Marvin informoj por la dua elemento, tiu estas tuj show-- vin Nur oni duoblaj kordoj kaj tiam sola kordo tial tiu estas alterna. Alie, se vi volas uzi duobla kordo operatoro en duobla kordo kiam vi deklarante ĝin, tiam Vi nur uzu la ellasilo operatoro. Do vi faru la backslash duoblaj kordoj. Kaj fine, ni ankaŭ havas logikan vektoroj. Do logical-- tiel VERA kaj Malvero, kaj ili estas tuj estos ĉiuj majuskloj. Kaj tiam, denove, mi concatenando ilin kaj tiam asignanta ilin al bools. Do bools tuj montri vi VERA, FALSA kaj VERA. Do jen vectorized indeksado. Do en la komenco, mi am prenante function-- ĉi tio nomiĝas sequence-- sekvenco de 2 ĝis 12. Kaj mi ferios dum sekvenco per 2. Do ĝi estas tuj faros 2, 4, 6, 8, 10 kaj 12. Kaj poste, mi indeksado akiri la tria ero. Do unu afero teni en menso estas ke R indeksoj startante de 1. Do vals 3 tuj donos vi la tria ero. Tio estas ia malsama de aliaj lingvoj kie startas de nulo. Do en C aŭ C ++, ekzemple, ke vi estas tuj ricevas la kvara ero. Kaj tie estas la vals de 3 al 5. Do unu afero estas vere malvarmeta estas ke vi povas generi temporal variablo interne kaj tiam simple uzi ilin sur la muŝo. Do jen estas 3 al 5. Do mi generante vektoro 3, 4, kaj 5 kaj tiam Mi indeksante akiri la tria, kvara kaj kvina elementoj. Do simile, vi povas abstrakta ĉi al nur faru omnaspeca vektoro kiu donas al vi indeksado. Do jen estas la vals kaj tiam la unua, tria kaj sesa elementoj. Kaj tiam, se vi volas fari komplemento, tial vi nur faru la minus poste kaj tio estos doni al vi ĉion, kio ne estas la unua, tria, aŭ sesa ero. Do tiu estos 4, 8, kaj 10. Kaj se vi volas ricevi eĉ pli progresinta, vi povas concatenate Buleaj vektoroj. Do tiu indico tuj donos vin ĉi Bulea vektoro de longo 6. Do rep VERA komo 3. Ĉi ripetos VERA trifoje. Do ĉi donos al vi vektora VERA, VERO, VERA. rep FALSA 4-- tiu tuj donos vin vektora de Malvero, Malvero, Malvero, Malvero. Kaj tiam c tuj concatenate tiuj du Booleans kune. Do vi estas iranta akiri tri TRUEs kaj tiam kvar FALSEs. Por ke kiam vi indekson vals, vi estas tuj akiri la VERO, VERO, VERA. Por ke tuj diru jes, Mi volas tiuj tri elementoj. Kaj tiam Malvero, Malvero, Malvero, Malvero tuj diri ne, mi ne volas tiujn elementojn Tuj kiam ne tuj redonos ilin. Kaj mi supozas ke estas reale tajperaro tie ĉar tiu diras ripeto VERA 3 kaj ripeti FALSA 4, kaj teknike, vi nur havas ses elementoj tiel ripeti Malvero, ĝi devus esti ripeto FALSA 3. Mi kredas R estas ankaŭ inteligenta sufiĉa tia ke se vi simple entajpi 4 tien, tiam ĝi ne falsado eksteren. Ĝi ĵus donas al vi ĉi tiun valoron. Do ĝi malebligos preterlasu ke kvara Malvero. Do jen vectorized farita. Do set.seed-- ĉi simple fiksas la semo por pseudoaleatorios nombroj. Do mi opcio la semon al 42, signifante ke se mi generi tri hazarda normalan valoroj, kaj tiam, se vi kuri set.seed sur via propra komputilo uzanta la saman valoron 42, tiam vi ankaŭ preni la samaj tri hazarda normals. Do ĉi tiu estas vere bona por reproducibilidad. Kutime, kiam vi faras iun ia scienca analizo, vi volus, por devigadi la semo. Tiel aliaj sciencistoj povas ĝuste reprodukti la ĝusta sama kodo vi havas faris ĉar ili havos la ĝustan sama hazarda variablo that-- hazarda valoroj kiujn vi prenis el tiel. Kaj tial la vectorized asigno tie montras la vals 1 al 2. Do necesas la unuaj du elementoj de vals kaj tiam asignas ilin al 0. Kaj tiam, vi ankaŭ povas simple fari la simila afero kun la Booleans. Do vals estas ne egala al 0-- tiu volo donu vin vektora Malvero, Malvero, VERA en tiu kazo. Kaj poste, ĝi estas dironta ajnan de tiuj indeksoj ke estis vera, tiam okazos al atribui ke al 5. Do necesas la tria ero tie kaj tiam asignas ĝin al 5. Kaj tiu estas vere bela kompare malalta nivelo lingvoj kie oni devas uzi por masxojn fari ĉion ĉi vectorized stuff ĉar estas nur tre intuicia Kaj ĝi estas sola unu-Liner. Kaj kio estas granda pri vectorized skribmaniero estas kiu en R, jen estas ia korpigita por ke ili estas preskaŭ tiel rapida kiel faras en malalta nivelo lingvo kiel kontraste al fari por buklo en R kaj tiam havante ŝin fari la dinamika indeksado mem. Kaj tio estos malrapida ol faranta tian vectorized afero kie povas fari ĝin en paralela, kie ĝi estas fari ĝin en sekvante esence. Do jen estas vectorized operacioj. Do mi generante valoro 1 al 3, asignanta ke vec1, 3 al 5, vec2, aldonante ilin kune. Ĝi aldonas ilin komponanto-saĝa tiel ĝi estas 1 plus 3, 2 plus 4, kaj tiel plu. vec1 fojojn vec2. Ĉi multiplikas la du valoroj komponanto saĝa. Do estas 1 fojoj 3, 2 fojojn 4 kaj tiam 3 fojoj 5. Kaj tiam, simile oni povas ankaŭ fari comparisons-- logika komparoj. Do estas FALSA FALSA VERA en ĉi kazo ĉar 1 ne estas pli granda ol 3, 2 estas ne pli granda ol 4. Ĉi tiu estas, mi supozas, alia tajperaro, 3 nepre ne estas pli granda ol 5. Yeah. Do vi povas simple fari ĉiuj tiuj simplaj operacioj ĉar ilia heredita de la klasoj mem. Do kiu estis ĝuste la vektoro. Kaj tio estas speco de la plej fundamentaj R objekto ĉar donita vektora, vi povas konstrui pli antaŭitaj celoj. Do jen matrico. Tio estas esence la abstraktado de kia matrico estas sin. Do en ĉi tiu kazo, ĝi estas tri malsamaj vektoroj, kie ĉiu estas kolumna, aŭ vi povas konsideri ĝin kiel ĉiu estas vico. Do mi stokante matricon de 1 al 9 kaj tiam mi preciziganta 3 vicoj. Do 1 al 9 donos vin vektora 1, 2, 3, 4, 5, 6, kaj la tuta vojo ĝis 9. Unu afero ankaŭ teni en menso estas ke R tendencas valoroj en kolumno-granda formato. Do alivorte, kiam vi vidos 1 al 9, ĝi tuj stoki them-- ĝi okazas al esti 1, 2, 3 en la unua kolumno, kaj tiam ĝi faros 4, 5, 6 en la dua kolumno, kaj tiam 7, 8, 9 en la tria kolumno. Kaj jen kelkaj aliaj komunaj funkcioj povas uzi. Do nebrila mato, ĉi donos vin la dimensioj de la matrico. Ĝi estas tuj revenos al vi vektoro de la dimensio. Do en ĉi tiu kazo, ĉar nia matrico estas 3 por 3, ĝi estas tuj donos al vi nombraj vektora tio 3 3. Kaj tie estas ĝuste montrante matrica multipliko. Do kutime, se vi nur faru asterisk-- tiel mato asterisko mat-- ĉi tiu tuj estos komponanto-saĝa operacio aŭ kion nomas la Hadamard produkto. Do ĝi estas tuj faros ĉiu elemento komponanto-saĝa. Tamen, se vi volas matrico multiplication-- tial multiplikante la unua vico fojojn la dua matrico unua kolumno kaj tiel on-- vi uzus tiu procento operacio. Kaj t de mato estas nur operacio por transpono. Do mi celas kapti la transpono en la matrico, multipliki ĝin per la matrico mem. Kaj tiam tuj revenos al vi alian 3 per 3 matrico ekmontrigxo la produkto vi volus. Kaj tiel tio estis matrico. Ĉi tie estas kio nomas datuma kadro. Datumo kadro vi povas pensi pri kiel matrico, sed ĉiu kolumno mem tuj esti de malsama tipo. Do kio estas vere malvarmeta pri datumoj kadroj estas kiu en datumoj analizo mem, vi tuj havos tiun tutan heterogenaj datumoj kaj ĉiuj tiuj vere senorda aferoj kie ĉiu kolono si povas esti de malsamaj tipoj. Do jen mi estas diranta krei datumo kadro, fari ints de 1 al 3, kaj tiam ankaŭ havi karakteron vektoro. Do mi povos indekso tra ĉiu el tiuj kolumnoj kaj tiam mi prenos la valoroj mem. Kaj vi povas ankaŭ fari ian de operacioj en datumoj kadroj. Kaj plejparto de la tempo, kiam vi estas faranta analizon de datumoj aŭ ian de preprocesamiento, vi estos laborante kun tiuj datumstrukturoj kie ĉiu kolumno tuj esti de malsama tipo. Fine, do ĉi tiuj estas esence nur la kvar esencaj celoj en R. Listo simple kolekti ajnan aliaj celoj vi deziras. Do estos stoki ĉi en unu variablo kiu vi povas facile aliri. Do jen, mi ferios dum lerta. Mi estas diranta aferojn egalas 3. Do mi nepre akiros unu elemento en la listo, kaj tio nomiĝas stuff, kaj ĝin tuj havos la valoron 3. Mi ankaŭ povas krei matricon. Do tiu estas 1 ĝis 4 kaj fino vico egalas 2, do a 2 per 2 matrico. Ankaŭ en la lerta kaj ĝi nomiĝas mato. moreStuff, signoĉenon, kaj eĉ alia lerta en oni sama. Do tiu estas listo tio estas 5 kaj urso. Do ĝi havas la valoron 5 kaj ĝi havas la signoĉeno urso kaj ĝi estas lerta ene listo. Do vi povas havi tiujn rekursiaj aferoj kie vi havas another-- oni tajpi ene la tipo. Do simile, vi povas havi matrico ene alia matrico ktp. Kaj lerta estas ĝuste bona vojo kolekti kaj agregi ĉiuj tiuj malsamaj celoj. Kaj fine, ĉi tie estas nur helpi en kazo ĉi ĵus transiris tre rapide. Do anytime vi estas konfuzita pri ia funkcio, Vi povas fari helpon de tiu funkcio. Do vi povas fari helpon matrico aŭ demandosigno matrico. Kaj helpo kaj la demandosigno estas nur stenografio por la sama aĵo Do oni alias. lm estas funkcio kiu ĝuste faras lineara modelo. Sed se vi nur havas neniun ideon kiel tio verkoj, vi povas simple fari helpon de lm kaj tio donos al vi iuj speco de dokumentado kiu similas kiel kiel man-paĝon Unikso, kie vi havas mallongan priskribon de kio jes, kaj kion lia argumentoj estas, kio revenas, kaj ĝuste konsiletoj sur kiel por uzi ĝin, kaj iuj ekzemploj ankaŭ. Do lasu min iri antaŭen kaj spektaklo iuj demo de uzante R. OK. Do mi iris tre rapide nur la datumoj strukturoj kaj ia la op-- iuj de la operacioj. Jen iuj funkcioj. Do jen mi simple irante difini funkcio. Do mi ankaŭ uzas asigno operatoro tie, kaj tiam mi estas diranta deklari ĝin kiel funkcio. Kaj ĝi prenas la valoron x. Do tiu estas ajna valoro vi volas kaj mi tuj revenos x mem. Do tiu estas la identa funkcio. Kaj kio estas malvarmeta pri tiu kompare al aliaj lingvoj kaj alia malalta-nivelo lingvoj estas ke x eblas de ajna tipo mem kaj ĝi devos reveni al tiu tipo. Do vi povas imagine-- do ni mi ĵus kuras ĉi rapide. Pardonu. Do unu aferon mi devas mencii ankaŭ estas ke tiu redaktilo Mi uzas nomas rstudio. Jen kion nomas IDE. Kaj unu afero estas bonege pri tiu estas ke ĝi korpigas multajn el la tion vi volas fari en R per sin nur tre intuicie. Do jen estas interpretilo konzolo. Do simile, vi povas ankaŭ atingi ĉi konzolo krudan nur faranta majuskla R. Kaj tiu estas ĝuste la samon kiel la konzolo. Do mi povas nur faru identigilo funkcio x, x, x. Kaj then-- kaj tiam ke estos bone mem. Do rstudio estas granda ĉar ĝi havas la konzolon. Ĝi ankaŭ havas la dokumentoj Vi ŝatus kuri plu. Kaj tiam ĝi havas iuj variabloj ke vi povas vidi en medioj. Kaj tiam, se vi havas fari intrigoj, tiam vi povas simple vidi ŝin tie, kontraste al administri ĉiuj tiuj malsamaj fenestroj aparte. Mi fakte persone uzas Vim, sed mi sentas rstudio estas bonega simple por interesigi bona ideo de kiel uzi R. Kutime, kiam vi provas lerni iun novan taskon, vi ne volas manipuli tro da aferoj samtempe. Do R estas nur very-- rstudio estas tre bona maniero de lernado R sen devi trakti ĉiuj tiuj aliaj aĵoj. Do jen mi kurante identigilo saluton. Ĉi revenas saluton. identigilo 123. Jen estas vektoro de entjeroj. Do simile, ĉar vi povas preni ajnan ian valoron, Vi povas fari reveni identigilo de x tiom revenas 1234 kaj 5. Kaj lasu min nur montras al vi, ke ĉi estas ja entjero. Kaj simile, se vi faras klason identigilo x, ĝi estas tuj estos entjero. Kaj tiam, vi povas ankaŭ kompari la du kaj ĝi estas vera. Do mi kontrolanta se identigilo de x egalas egaluloj x kaj avizo ke ĝi donas al vi du TRUEs. Do tiu estas ne diras estas la du celoj identaj, sed estas ĉiu de la eniroj ene la vektoroj identaj. Jen bounded.compare. Do ĉi tiu estas iomete pli komplika en kiu havas se kondiĉo kaj alie kaj tiam ĝi prenas du argumentoj ĉiufoje. Do x estas de ajna tipo. Kaj mi diras ĉi dua argumento estas. Tio povas esti io tiel. Sed implicite, ĝi estas tuj prenos 5 Se vi ne specifas ion. Do jen mi intencas diri se x estas pli granda ol unu. Do, se mi ne specifi, ĝi diras se x estas pli granda ol 5, tiam Mi tuj revenos vera. alie, mi tuj revenos Malvero. Do lasu min iri antaŭen kaj difini ĉi. Kaj nun mi iras al kuri bounded.compare 3. Do ĝi diras estas 3 malpli than-- estas 3 pli granda ol 5. Ne, estas ne tiom Malvero. Kaj bounded.compare 3 kaj Mi iras kompari ĝin uzante egalas 2. Do nun mi diras jes, nun mi volas esti io alia. Do mi intencis diri al, vi devas esti 2. Mi povas ĉu fari tian skribmaniero aŭ mi diras a egalas 2. Jen pli legebla en tiu kiam vi estas rigardante tiujn vere komplikaj funkcioj kiuj preni multnombraj arguments-- kaj ĉi povas esti dekoj oftentimes-- nur diras a egalas 2 estas pli legebla por vi por ke poste en la estonteco vi scios kion vi faras. Do en ĉi tiu kazo, kiu estas parolo estas 3 pli granda ol 2. Jes ĝi estas. Kaj simile, mi povas simple forigi tion kaj diri, estas 3 pli granda ol 2 kie a egalas 2. Kaj tio estas ankaŭ vera. Jes? Publiko: Ĉu vi ekzekutinte linio por linio? Dustin Tran: Jes mi estas. Do kion mi faras tie ĉi estas prenante ĉi teksto document-- kaj kio estas granda pri rstudio estas ke Mi povas nur kuri short-- ŝlosilan ŝparvojo. Do mi faras Kontrolo-ENTER. Kaj poste, mi ferios la linio en la teksto dokumenton kaj tiam metante en la konzolo. Do jen mi estas diranta, bounded.compare kaj mi faras Kontrolo-X. Do mi povas simple kuras tie ankaŭ. Kaj tiam ke prenos la linio kaj tiam metis ĝin ĉi tie. Kaj tiam simile, mi povas ja kuras tie. Kaj tiam estos simple teni difinanta la liniojn en la konzolo tiel. Kaj se vi ankaŭ rimarkos la frizita krampoj estas tie ĝuste kiel en C sintakso. x-- se la se kondiĉo estas ankaŭ tuj uzos krampojn kaj poste vi povas uzi alie. Alia estas alie se. Do tiu tuj estos x egalas egalas al, ekzemple. Kaj poste mi iros redoni ion tie. Rimarku ke estas du malsamaj aferoj tie ke okazas. Unu estas, ke ĉi tie mi preciziganta redonas la valoron True. Jen Mi nur diras x. Do R kutime defaŭlte preni la lastan arguments-- aŭ prenu la lastan linion de la kodo, kaj tio estos kio ĝi estas liverita. Do jen tiu estas la sama aĵo kiel fari reveno x. Kaj nur por montri al vi. Kaj poste, ĝi funkcios ĝuste tiel. Do lasu min daŭrigi kun tiu. Do alie se. Kaj vere, mi povas reveni io mi ŝatus. Do mi eĉ ne devos reveno Booleans tuta tempo, Mi povas simple reveni io alia. Do mi povas fari revenon urso. Do se x egalas egalas al, ĝi tuj revenas urso. Alie, ĝi estas tuj revenos vera. Mi povas ankaŭ fari vektoro aŭ vere nenion. Kaj kutime en statike tajp lingvojn, vi devus specifi tipo tie. Kaj rimarki ke ĝi povas nur esti io. Kaj R estas inteligenta sufiĉe ke ĝi Mi nur faru tion kaj ĝi funkcias bone. Do lasu min difini ĉi. Unexpected-- Ho bedaŭras. Ĝi devus esti krispa krampoj tie. Akcepti. Cool. Bone. Do nun ni komparu 3 kaj a egalas 3. Do ĝi devus return-- yeah-- la valoro urso. Do nun pli ĝenerala afero estas kiel kio pri aliaj datumstrukturoj. Do vi havas tiun funkcion. Ĉi tuj laboros sur omnaspeca de valoro kiel 3 aŭ ajna nombroj, datoj en aliaj vortoj, duobla. Sed kio pri io kiel vektoro. Do kio okazas se vi do-- do mi estas tuj atribuos val al, ni diru, 4 al 6. Do se mi revenos ĉi, ĉi estas vektoro de 4, 5, 6. Nun ni vidu kion okazas se mi faras bounded.compare val. Do tiu tuj donos vin 15 1251. Do alivorte, ĝi estas jene se vi rigardas ĉi kondiĉo tial ĝi diras x estas malpli ol aŭ io. Do ĉi tiu estas iomete konfuzanta ĉar nun vi simple ne scias kio okazas. Do mi supozas unu afero vere bonon pri nur provas elpurigi estas ke vi povas nur fari val estas pli granda ol kaj vidu kio okazas tie. Do val-- a estas defaŭlte 5 do ni simple Val granda ol 5. Do tiu estas vektora FALSA FALSA VERA. Do nun kiam Vi rigardata tiu, ĝi tuj diros se, kaj tiam ĝi estas tuj donos al vi ĉi estas vektora de FALSA FALSA VERA. Do kiam vi pasas ĉi en R, R havas neniun ideon kion vi faras. Ĉar ĝi atendas unu sola valoro, kiu estas Bulea, kaj nun vi donante vektoro de Booleans. Do implicite, R estas ĝuste tuj diros kion la heck, Mi iras al supozi ke vi estas tuj prenos la unua elemento tie. Do Mi tuj say-- Mi iras supozi ke tiu estas malvera. Do estas dironta ne, tio ne pravas. Simile, ĝi tuj esti val egalas egalas al. Ne, bedaŭras 5. Kaj ĝi estas ankaŭ tuj estos falsaj ankaŭ. Do tuj diri ne, tio ne veras tiel do ĝi estas tuj revenos ĉi lasta. Do tiu estas ĉu estas bona afero aŭ malbona afero, dependanta sur kiel ci vidas ĝin. Ĉar kiam vi estas krei tiujn funkciojn, vi ne vere scias kio okazas. Do kelkfoje vi volus eraro, aŭ eble vi simple volas averto. En tiu kazo, R ne fari tion. Do estas vere ĝis vi bazitaj ekstere de kio vi opinias la lingvon faru en tiu kazo se vi pasas en vektora de Booleans kiam vi faras unu se kondiĉo. Do diru ke vi havis la originalo unu kun se alie redoni vera kaj vi estas tuj revenos Malvero. Do unu maniero de abstracting tiu estas mi eĉ ne bezonas ĉi kondiĉa afero. Alia afero, kiun mi povas fari estas simple redonante la valoroj mem. Do se vi rimarkos, se vi fari val estas pli granda ol 5, ĉi tuj resendas vektora FALSA FALSA VERA. Eble tiu estas kion vi volas por bounded.compare. Vi volas reveni vektoro de Booleans kie komparas ĉiu de la valoroj al si. Do vi povas simple bounded.compare funkcio x, egalas 5. Kaj tiam anstataŭ fari tiu se alie kondiĉo, Mi nur tuj revenos x estas pli granda ol 5. Do se tio estas vera, tiam ĝi estas tuj revenos vera. Kaj tiam se ĝi ne estas, ĝi estas tuj revenos Malvero. Kaj tio funkcios por iu el tiuj strukturoj. Do mi povas bounded.compare c 1 6 aŭ 9 kaj tiam mi tuj diros a egalas 6 ekzemple. Kaj tiam tuj doni al vi la rajton Buleaj vektora ke vi desegni. Do tiuj estas nur funkcioj kaj nun lasu min nur montri vin kelkaj interagaj vidaĵojn. Mi ne kredas ke mi efektive havas Wi-Fi ĉi tie tiel mi nur iru antaŭen kaj transsaltu tion Mi supozas. Sed unu afero estas malvarmeta tamen estas kiu se vi nur volas testi faskon da malsamaj datumoj ordonojn, tie estas faskon da malsamaj datasets kiuj jam precargada en R. Do unu el ili estas vokis la iriso dataset. Jen unu el la plej konata en maŝina lerno. Vi kutime nur faru ian testo kazoj vidi se via kodo kuras. Do ni simple kontrolu kion irizo. Do tion tuj esti datumo kadro. Kaj estas speco de longa ĉar Mi ĵus presita ekster iriso. Ĝi estas presanta el la tuta afero. Do ĝi havas ĉiujn tiujn malsamaj nomoj. Do iriso estas kolekto de malsamaj floroj. En tiu kazo, estas diri vi la speco de tio, ĉiuj tiuj malsamaj larĝaj kaj longoj de la sepalo kaj la petalo. Kaj tiel normale, se presotan iriso, ekzemple, vi ne volas havi ĝin faras cxi tiun tutan ĉar tio povas transpreni via tuta konzolo. Do unu afero vere bela estas la kapo funkcio. Do se vi nur faru kapo Iriso, ĉi donos vin la unuaj kvin vicoj, aŭ ses mi supozas. Kaj tiam bone, vi povas simple entajpi tie. Do 20-- ĉi donos vi la unuaj 20 vicojn. Kaj mi fakte estis afabla de surprizitaj ke ĉi donis al mi ses tial mi iros antaŭen kaj kontrolu iris-- aŭ kapo, sorry. Kaj tie li donos vi la dokumentado de kio la valoro kapo faras. Do li revenas la unua aŭ lasta de objekto. Kaj poste mi iros rigardi la defaŭltojn. Kaj tiam diras la defaŭlta metodo kapo x kaj n egalas 6L. Do tiu redonas la unuaj ses elementoj. Kaj simile, se vi rimarkos tie ĉi, mi ne devas entajpi n egalas 6. Defaŭlte ĝi uzas ses, mi supozas. Kaj tiam, se mi volas specifi certan valoro, tiam mi povas vidi ke tiel. Tiel ke estas iuj simplaj komandoj kaj jen alia jen just-- bone, Mi can-- ĉi estas efektive iom pli kompleksa, sed tiu estos nur prenu la klaso de ĉiu kolumno de la iriso dataset. Do ĉi montros vin kion ĉiu el tiuj kolumnoj estas en terminoj de iliaj tipoj. Do sepalo longo estas nombraj, sepalo larĝa estas nombraj. Ĉiuj tiuj valoroj estas nur nombraj ĉar vi povas diri de ĉi datumoj strukturi tiuj estas ĉiuj tuj nombraj. Kaj la Specioj kolumno tuj esti faktoro. Do kutime, vi pensus ke tiu similas al signoĉeno. Sed se vi nur faru irisSpecies, kaj tiam mi iros fari kapo 5, kaj tiu tuj presi el la unuaj kvin valoroj. Kaj tiam rimarkos ĉi niveloj. Do ĉi tio komencis diri ĉi estas R vojo havi kategoriaj variabloj. Do anstataŭ simple havanta karaktero ŝnuroj, ĝi havas nivelojn preciziganta kiu el tiuj aĵoj estas. Do diru irisSpecies 1. Do kio vi deziras fari ĉi tie estas mi subsetting al ĉi Specioj kolumno. Do ĉi prenas la Specioj kolumno kaj poste ĝi indeksas akiri la unuan elementon. Do ĉi donu vin setosa. Kaj ĝi ankaŭ donas vin niveloj tie. Do vi povas ankaŭ kompari ĉi al la karaktero setosa kaj ĉi tio ne tuj esti vera ĉar unu estas de malsama tipo ol la aliaj. Aŭ mi supozas ke estas vera ĉar R estas pli inteligenta ol tio. Kaj ĝi rigardas tion kaj tiam diras, eble tiu estas kion vi volas. Do ĝi estas tuj diri la karaktero kordo setosa estas la sama kiel tiu ĉi. Kaj tiam simile, vi povas ankaŭ simple kaptu tiujn kiel tiel plu. Do tio estas nur ia rapidajn komandojn de la aro de datumoj. Do jen kelkaj datumoj tuŝo. Do ĉi tiu estas iom pli implikita kun la analizo de datumoj. Kaj tiu estas prenita de iuj bootcamp en R cxar en Berkeley. Do biblioteko fremdaj. Do mi iros al ŝarĝi en biblioteko kiu nomas fremdaj. Do tiu tuj donu al mi read.dta tial supozas ke mi havas ĉi dataset. Tiu estas stokita en la nuna laborante dosierujo de mia konzolo. Do ni simple vidas kion la laborantaj dosierujo estas. Do jen mia laborista dosierujo. Kaj legu dot datumoj, ĉi aferon, diras tiu dosiero situas en la datumoj dosierujo de tiu fluo laborista dosierujo. Kaj read.dta ĉi ne estas defaŭlta komando. Supozeble mi ŝarĝis lin en la jam. IEI supozis mi ŝarĝis ĉi en jam. Sed tiel read.dta ne tuj esti defaŭlte komando. Kaj tio estas kial vi estas iranta havi ŝargi en tiu biblioteko package-- tiu pako nomita fremdaj. Kaj se vi ne havas la pakaĵon, mi opinias fremda estas unu el la enkonstruita Ones. Alie, vi povas ankaŭ fari install.packages kaj Tiu instalos la pakaĵon. Kaj ĉi donos vin R. Uh, ne. Kaj tiam mi simple tuj haltos ĉar mi jam havas ĝin. Sed kio estas vere bela pri R estas kiu la demarŝo de pakoj sistemo estas tre eleganta. Ĉar ĝi stokas ĉiun vere bele vin. Do en ĉi tiu kazo, ĝi estas tuj stoki ĝin, mi kredas, ĉi biblioteko tie. Do anytime vi volas instali novan pakojn, estas nur tiel simpla kiel faranta install.packages kaj R sukcesos ĉiuj la pakoj por vi. Do vi ne devas fari ion en Python, kie vi havas eksterajn pako perantoj kiel papero Anakondo kie vi estas doing-- vi instalu la pakoj ekstere de Python kaj tiam vi provas kuri ilin mem. Do ĉi tiu estas vere bela maniero. Kaj install.packages postulas interreto. Ĝi prenas ŝin de servanto kaj la Repository kolektas ĉiujn pakoj nomas CRAN. Kaj vi povas specifi kion tipo de spegulo vi volas elŝuti la pakaĵoj el. Do jen mi prenante ĉi dataset. Mi legas ĝin uzante ĉi tiu funkcio. Do lasu min antaŭeniri kaj fari tion. Do ni supozu ke Havante tiun dataset kaj vi havas absolute neniun ideon kio ĝi estas. Kaj tion efektive venas supren sufiĉe ofte en la industrio kie vi nur havas tiujn tunoj kaj tunoj de senorda aferoj kaj ili estas nekredeble neetikedita. Do jen mi havas ĉi dataset kaj mi ne scias kio estas do mi simple montrante rigard ĝin. Do mi tuj faros kapon unue. Do mi kontrolu la unuaj ses kolumnoj de kion ĉi dataset estas. Do tiu estas stato, pres04, kaj tiam ĉiuj tiuj malsamaj ia kolumnojn. Kaj kio estas interesa tie, mi supozas, estas ke vi supozus ke tio aspektas kiel ia elekto. Kaj mi supozas ĝuste el rigardante la dosiero Name Jen ia kolekto de datumoj pri kandidatoj aŭ balotantoj kiuj voĉdonis por specifaj prezidantoj aŭ prezidanto kandidatoj por la 2004 elekto. Do jen valorojn 1, 2 tial unu vojo de stokante la prezidanto kandidatoj estas iliaj nomoj. En tiu kazo, ĝi similas Ili estas nur entjeraj valoroj. Do 2004, estis Bush kontre Kerry mi kredas. Kaj nun, ni diru simple ne scias ĉu 1 korespondas al Bush aŭ 2 respondas al Kerry aŭ kaj tiel plu kaj tiel plu, ĉu ne? Kaj tiu estas, ĝuste al mi, sufiĉe komuna problemo. Do kion vi povas fari en ĉi tiu kazo? Do ni kontrolu ĉiuj tiuj aliaj aĵoj. stato, estas akceptante ĉi devenas malsamajn statojn. partyid, enspezoj. Ni rigardu partyid. Do eble unu afero vi povas fari estas rigardu ĉiu de la observoj kiu havas partyid de Respublika aŭ Demokrato aŭ io. Do ni simple rigardu kio partyid estas. Do mi iros por preni dat kaj tiam mi iros fari cxi dolaro signo manipulantino faris antaŭe kaj tiu tuj subaro al tiu kolumno. Kaj poste mi iros por estri ĉi en 20, nur por vidi, kion tio aspektas. Do ĉi tiu estas nur bando de Nas. Do alivorte, vi havas mankas datumoj pri tiuj infanoj. Sed vi ankaŭ rimarkas ĉi dat partyid estas faktoro tiel ĉi donas vin malsamaj kategorioj. Do alivorte, partyid povas preni Demokrato, Respublikano, Sendependa, aŭ ion alian. Do ni iru antaŭen kaj ni vidi kiu el tiuj is-- Oh, OK. Do mi iros al subaro al partyid kaj tiam rigardi, kiuj estas Demokrato, ekzemple. Ĉi tuj donos vin Bulea, grandega Buleaj de TRUEs kaj FALSEs. Kaj nun diru mi volas al subaro al tiuj infanoj. Do tiu tuj prenos mian dat kaj subaro al kiom observoj havi partyid egaluloj egalas demokrato. Kaj tiu estas sufiĉe longa ĉar ekzistas tiom da ili. Do nun mi iros por estri ĉi en 20. Kaj kiel vi rimarkos, egalas egaluloj Estas interesa ke vi estas already-- vi ankaŭ inkludante la NAS. Do en ĉi tiu kazo, vi ankoraŭ ne povas atingi ajna informo ĉar nun vi havas nas kaj vi nur volas vidi, kiu el la observo respondas al Democrat kaj ne tiuj mankas valoroj mem. Do kiel vi forigi tiujn nas? Do jen mi simple uzante la supren klavo sur mia kursoro kaj tiam dirante movante ĉirkaŭe. Kaj tiam tie mi simple irante diri is.na datpartyid. Do ĉi kaj kaj prenos du malsamaj Buleaj vektoroj kaj diri ĝin tuj estos VERA kaj FALSA ekzemple. Do ĝi estas tuj faros ĉi komponanto-saĝa. Do jen mi diras iom la datumoj kadro, subaro al tiuj, kiuj respondas al la demokrato, kaj forigi ajnan el ili kiuj ne estas Na. Do ĉi will-- devus doni al vi ion. Vidu is.na. Ni provu is.na datpartyid. Kaj ĉi donu you-- sorry-- nur Bulea vektoro. Kaj tiam, ĉar ĝi estas tiel longa, Mi iras al subaro al 20. Akcepti. Do tiu devus labori. Kaj tiu unu ankaŭ estos TRUEs. Ha, do mia eraro tie estas ke I'm-- mi uzi C ++ kaj R interŝanĝeble do mi faros tiun eraron tutan tempon. La kaj telefonisto estas fakte tiu kiun vi volas. Vi ne volas uzi du ampersands, nur sola unu. Akcepti. Do ni vidu. Do ni subsetted al la partyid kie ili estas demokrato kaj ili ne mankas valoroj. Kaj nun ni rigardu kio aĵoj ili voĉdonis por. Do ŝajnas kiel plej de ili voĉdonis por 1. Do mi iros por antaŭeniri kaj diri ke estas Kerry. Kaj simile, vi povas ankaŭ iros al Respublika kaj espereble, ĉi devus doni vin 2. Estas nur faskon de malsamaj kolumnoj. Kaj ja, ĝi estas 2. Do partyid ĉiuj Respublika, plejparte ili voĉdonas por 2. Do ĝi similas, nur rigardante ĉi, Respublika tuj estos oni very-- aŭ la partyid tuj estos tre granda faktoro en determinado kiu kandidato ili estas tuj voĉdoni por. Kaj tiu estas evidente vera ĝenerale. Kaj tiu egalas viajn intuicio, kompreneble. Do ĝi similas min elkuranta de tempo tiel lasu min nur iru antaŭen kaj montri iujn rapidajn bildoj. Do jen iu kiu estas iomete pli komplikita kun visualización. Do en ĉi tiu kazo, ĉi tiu estas tre simpla analizo de simple kontrolanta kion la prezidanto de '04 estas. Do en ĉi tiu kazo, ni diru vi volis respondi tiun demandon. Do supozu ni volis koni la balotado konduto en la 2004 prezidanto elekto kaj kiel kiu varias laux gento. Do ne nur vi volas vidi la balotado konduto, sed vi volas subaro de ĉiu raso kaj varo de resumi tion. Kaj vi nur povas diri per tiu kompleksa skribmaniero ke tio estas speco de prenanta malprecizaj. Do unu el la plej antaŭitaj R pakoj kiuj estas ankaŭ speco de freŝaj nomas dplyr. Do estas ĉi tiu rajto tie. Kaj ggg-- ggplot2 estas nur bela maniero de fari bona visualizaciones ol la enkonstruita unu. Do mi iros al ŝarĝi tiuj du bibliotekoj. Kaj tiam, mi estas ironta antaŭen kaj kuri ĉi komando. Vi povas simple trakti tion kiel nigra skatolo. Kio okazas estas kiu ĉi pipon operatoro preterpasas en tiu argumento en ĉi tie. Do mi celas grupon de dat raso kaj tiam prezidanto 04. Kaj tiam, ĉiuj tiuj aliaj komandoj estas filtri kaj tiam resumante kie mi faras elnombradon kaj tiam mi komplotanta ŝin tie. OK malvarmeta. Do ni iru antaŭen kaj vidu kion ĉi aspektas. Do kio okazas ĉi tie estas ke mi nur komplotis ĉiu de la kuroj kaj tiam kio aĵoj ili voĉdonis por. Kaj tiujn du malsamajn valoroj respondas al 2 kaj 1. Se vi volas esti pli eleganta, vi povas ankaŭ nur specifi ke 2 estas Kerry-- aŭ 2 estas Bush, kaj tiam 1 estas Kerry. Kaj vi povas ankaŭ havi ke en via legendon. Kaj vi povas ankaŭ fendi tiuj trinkejo grafeoj. Ĉar unu afero estas ke, se vi rimarkos, ĉi tio ne estas tre facila identigi kiu el tiuj du valoroj estas pli grandaj. Do unu afero vi volus fari estas preni ĉi blua spaco kaj simple movi ĝin tien tiom vi povas kompari tiujn du flankon ĉe flanko. Kaj mi supozas ke tio estas io mi ne havas tempon por fari ĝuste nun, sed tio estas ankaŭ tre facile fari. Vi povas simple rigardi en la viro paĝoj de ggplot. Do vi povas simple ggplot ŝatas ke kaj legas en tiu viro paĝo. Do lasu min nur rapide montri al vi iom malvarmeta aĵoj. Ni iru antaŭen kaj iru to-- nur apliko de maŝino lernado. Do diru ni havas tiujn tri pakoj tiel Mi iras ŝarĝi tiujn en. Do ĉi nur presas el iuj informoj post mi ŝarĝis en la afero. Do mi diras ĉi read.csv, tiu aro de datumoj, kaj nun Mi iras al antaŭeniri kaj rigardas kaj vidi kio estas ene ĉi dataset. Do la unuaj 20 observoj. Do mi nur devas X1, X2, kaj Y. Do Ŝajnas kiel faskon da tiuj valoroj ili iras de eble 20 ĝis 80 aŭ tiel. Kaj tiam simile por X2 kaj tiam ĉi Y ŝajnas esti stampoj 0 kaj 1. Kontroli ĉi, mi povas nur faru resumon datumoj X1. Kaj tiam simile por ĉiuj tiuj aliaj kolumnoj. Do resumo estas rapida ebleco nur montrante vin rapida valoroj. Ho, pardonon. Ĉi tiu devus esti Y. Do en ĉi tiu kazo, ĝi donas la quantiles, mezaj, maxes tiel. En tiu kazo, dataY, vi povas vidi ke ĝi estas nur tuj esti 0 kaj 1. Ankaŭ la meznombro estas diranta 0.6, nur signifas ke Ŝajnas kiel mi havas pli _1s_ ol _0s_. Do lasu min iri antaŭen kaj spektaklo vi kion ĉi aspektas. Do mi simple tuj komploti ĉi. Vidu kiom por liberigi ĉi. Ho OK. Akcepti. Do tiu estas kio similas. Do ŝajnas kiel flavaj mi specifita kiel 0, kaj tiam ruĝa Mi indikis kiel _1s_. Do jen ĝi aspektas kiel label punktoj kaj ĝi ŝajnas kvazaŭ vi simple volas iun ia clustering sur oriento. Kaj lasu min simple iru antaŭen kaj spektaklo vi kelkajn el tiuj korpigitaj en funkcioj. Do jen estas lm. Do tiu estas nur provas persvadi linio al tiu. Do kio estas la plej bona vojo ke mi povu persvadi linion tian ke estos bona apartigi tiu speco de clustering. Kaj ideale, vi povas simple vidi ke mi ĵus kuras la komandojn kaj tiam mi iros antaŭen kaj aldoni la linion. Do ĉi tio ŝajnas kiel la plej bona diveno. Ĝi estas prenante la plej bona kiu minimumigas la eraro en provi persvadi tiu linio. Evidente, ĉi tiu similas kiel bonon, sed ĝi ne estas la plej bona. Kaj linearaj modeloj, en ĝenerala, tuj estos vere granda por teorio kaj ĝuste speco konstrumetio fundamentoj de maŝino lerni. Sed en praktiko, vi tuj volas fari ion pli ĝeneralan. Do vi povas simple provi kurante iu nomita neŭra reto. Tiuj aferoj estas ĉiufoje pli pli komuna. Kaj ili nur laboras fantazie por grandskalaj datasets. Do en ĉi tiu kazo, ni nur have-- ni see-- ni havas nrow. Do nrow estas ĝuste diri numeron de vicoj. Do en ĉi tiu kazo, mi havas 100 observoj. Do lasu min iri antaŭen kaj fari neŭra reto. Do ĉi tiu estas vere bela ĉar mi povas simple diri nnet kaj tiam mi regressing Y. Do la Y estas tiu kolumno. Kaj tiam regressing ĝin sur la aliaj du variabloj. Do ĉi tiu estas pli mallonga skribmaniero por X1 kaj X2. Do ni iru antaŭen kaj kuri ĉi. Ho, pardonon. Mi bezonas kuri ĉi tiu tuta afero. Kaj tiu estas ĝuste presi skribmaniero por kiom rapide aŭ ne rapide konverĝis. Do ĝi aspektas kiel ĝi konverĝas. Do lasu min iri antaŭen kaj printi kion tio aspektas. Vidu ĉi tie la pentraĵo kaj tie estas kontura montrante kiel bonege ĉio sidas. Kaj jen estas just-- vi povas vidi ĉi tiu tiu estas tre, tre bela. Ĝi inkluzive eblus overfitting, sed vi povas ankaŭ klarigi ĉi kun aliaj teknikoj kiel kruco-validación. Kaj ĉi tiuj estas ankaŭ konstruitaj en R. Kaj lasu min nur montras al vi apogi vektora maŝino. Tio estas alia vere komuna tekniko en maŝina lernado. Ĝi estas tre simila al linearaj modeloj, sed uzu kio nomiĝas kernon metodo. Kaj ni vidos kiom bone ke faras. Do ĉi tiu estas tre simila al kiel bone neural reto realigas, sed estas multe pli milda. Kaj tiu estas bazita for de what-- kiom SVMs laboro. Do ĉi tio estas nur tre rapidan superrigardon de kelkaj de la konstruita-en funkcioj kiujn vi povas fari kaj ankaŭ iuj de la datumoj tuŝo. Do lasu min ĝuste sekvas antaŭeniras kaj reiri al la diapozitivoj. Do evidente, tiu estas ne tre ampleksa. Kaj tiu estas vere ĝuste teaser montrante al vi, kion vi povas vere fari en R. Do se vi volas simple ŝatas lerni pli, jen estas faskon de malsamaj rimedoj. Do se vi ŝatis lernolibroj aŭ vi estas nur ŝatis legi tion en interreto, tiam ĉi tiu estas fantazia unu post Hadley Wickham, kiu ankaŭ kreis ĉiujn tiujn vere malvarmeta pakoj. Se vi estas ŝatanto al videos, tiam Berkeley havas terurigan bootcamp tio several-- ke estas iom longa. Kaj ĝi instruos vin preskaŭ ĉio vi ŝatus scii pri R. Kaj simile, estas Codeacademy kaj ĉiuj tiuj aliaj speco de interagaj retpaĝaroj. Ili ankaŭ ricevas common-- pli kaj pli komuna. Do tiu estas tre simila al Codeacademy. Kaj fine, se vi nur volas Komunumo kaj helpi, tiuj estas aro da tion vi povas iri al. Evidente, ni ankoraŭ uzi dissendolistojn, ĝuste kiel preskaŭ ĉiu alia programlingvo komunumo. Kaj #rstats, tiu estas nia komunumo Twitter. Tiu estas certe sufiĉe komunaj. Kaj tiam uzanto! Estas nur nia konferenco. Kaj tiam, kompreneble, vi povas uzi ĉiujn tiujn aliajn Q & A aferojn, kiel Stack Overflow, Google, kaj tiam GitHub. Ĉar plejparto de ĉi tiuj pakoj kaj multe de la komunumo estos centrita ĉirkaŭ evoluantaj kodo ĉar ĝi estas malfermita fonto. Kaj estas ĝuste vere bela en GitHub. Kaj fine, vi povas kontakti min se Vi nur devas ajnan rapidan demandoj. Do vi povas trovi min sur Twitter tie, mia retejo, kaj nur mian retpoŝton. Do espereble, ke estis something-- malmultan teaser de kio R estas vere kapablas fari. Kaj espereble, vi nur Kontroli ĉi tiuj tri ligoj kaj vidi kion vi povas fari pli. Kaj mi supozas ke estas nur pri ĝi. Dankon. [Aplaŭdo]