>> [Speel van musiek]
Dustin TRAN: Hi.
My naam se Dustin.
So ek sal aanbied Data-analise in R.
Net 'n bietjie oor myself.
Ek is tans 'n nagraadse student in die Ingenieurswese en Toegepaste Wetenskappe.
Ek bestudeer 'n kruising van masjien leer en statistieke
so Data-analise in R is regtig fundamenteel tot watter
Ek doen op 'n daaglikse basis.
>> En R is veral goed vir data-analise
want dit is baie goed vir prototyping.
En gewoonlik wanneer jy doen 'n soort van data-analise, 'n baie van die probleme
gaan kognitiewe.
En so jy net wil hê 'n paar baie goeie taal wat
is net goed vir doen ingeboude funksies, in teenstelling
te om te gaan met 'n lae vlak dinge.
So in die begin, is ek net gaan bekend te stel wat R, hoekom sou
jy wil om dit te gebruik, en gaan dan oor in 'n paar demo,
en net gaan van daar.
>> So, wat is R?
R is net 'n taal ontwikkel vir statistiese rekenaar
en visualisering.
So, wat dit beteken is dat dit is 'n baie goeie taal
vir enige soort van ding wat handel oor onsekerheid of data visualisering.
So jy het al hierdie waarskynlikheidsverdelings.
Daar gaan wees ingeboude funksies.
Jy sal ook 'n uitstekende plot pakkette.
>> Python is 'n ander meeding taal vir data.
En een ding wat ek vind dat R is baie beter is visualisering.
So, wat jy sal sien in die demo as goed is net 'n baie intuïtief taal
wat werk net baie goed.
Dit is ook 'n gratis en open source, as enige ander goeie taal wat ek dink.
>> En hier, 'n klomp van die net sleutelwoorde gegooi by jou.
Dit is dinamiese, wat beteken as jy 'n spesifieke tipe wat aan 'n voorwerp
as wat dit sal net verander op die vlieg.
Dit is lui so dit is slim oor hoe dit berekeninge.
Funksionele beteken dit kan regtig werk gebaseer af van funksies so anything--
enige vorm van manipulasie jy doen, sal dit gebaseer word funksies af.
>> So binêre operateurs, byvoorbeeld, is net inherent funksies.
En alles wat jy gaan doen, is
gaan om te loop af funksies self.
En georiënteerde dan voorwerp as well.
>> So hier is 'n Kletskerk plot.
Nie net omdat ek voel soos Kletskerk is fundamenteel tot enige soort
van aanbieding, maar omdat Ek voel soos dit werklik
hamers op die punt dat 'n groot deel van die tyd wanneer jy doen 'n soort van data
analise, die probleem is nie soveel hoe vinnig dit loop,
maar hoe lank dit gaan neem om die taak te programmeer.
So hier is net te ontleed of strategie a of b is meer doeltreffend.
Dit gaan wees iets wat jy
gaan 'n baie om te hanteer in soort van lae-vlak tale
waar jy met seg foute, geheuetoekenning, initializations,
selfs die maak van die ingeboude funksies.
En hierdie dinge is al hanteer baie, baie elegant in R.
>> Dus net dit te hamer punt, die grootste knelpunt
gaan kognitiewe wees.
So data-analise is 'n baie harde probleem.
Of jy doen masjien leer of jy
doen net 'n soort van basiese data eksplorasie,
jy wil nie hê 'n dokument te neem
en dan stel iets wat elke keer as jy
wil om te sien wat 'n kolom lyk, wat veral inskrywings in 'n matriks
lyk.
So jy net wil hê 'n paar baie mooi koppelvlak
jy kan 'n eenvoudige funksie hardloop dat indekse wat
jy wil en net loop dit van daar af.
En jy moet domein spesifieke tale vir hierdie.
En R sal regtig help jy definieer die probleem en los dit op hierdie wyse.
>> So hier is 'n plot wat programmering gewildheid van R as dit is weg met verloop van tyd.
So soos jy kan sien, soos 2013 of so dit is net opgeblaas geweldig.
En dit is net as gevolg van daardie groot neiging in die IT-industrie
oor die groot data.
Ook, nie net die tegnologie bedryf, maar regtig
enige bedryf that-- omdat 'n groot deel van die nywerhede
is soort van fundamentele te probeer om hierdie probleme op te los.
En gewoonlik, kan jy 'n paar goeie het manier van meet hierdie probleme
of selfs definieer of los met behulp van data.
So ek dink nou R is die 11de gewildste taal op TIOBE
en dit groei sedertdien.
>> So hier is 'n paar meer kenmerke van R. Dit het
'n enorme aantal pakkette en vir al hierdie verskillende dinge.
So 'n tyd wat jy het 'n sekere probleem, die meeste
die tyd R sal daardie funksie vir jou.
Dus, of jy wil bou 'n soort van die masjien
leer algoritme genoem Ewekansige Forest of besluit Bome,
of selfs probeer om die gemiddelde te neem 'n funksie of enige van hierdie dinge,
R sal dit.
>> En as jy dink jy omgee optimalisering, een ding wat algemeen
is dat na jy prototyping gedoen 'n soort van 'n hoë-vlak taal,
jy sal gooi dat in-- sal jy net hawe wat oor
sommige lae-vlak taal.
Wat is goed oor R is dat sodra jy gedoen prototyping, kan jy hardloop C ++,
of Fortran, of enige van hierdie laer vlak kinders direk in R.
So dit is een regtig koel funksie oor R,
as jy regtig omgee die optimalisering punt.
>> En dit is ook baie goeie vir web visualisaties.
So D3.js, byvoorbeeld, is Ek dink 'n ander seminaar
dat ons wat vandag.
En dit is regtig awesome vir doen interaktiewe visualisaties.
En D3.js aanvaar dat jy 'n soort van data te geplot word
en R is 'n goeie manier om te kan doen die data-analise voordat jy voer dit
oor te D3.js of selfs net loop D3.js beveel in R self,
sowel as al hierdie ander biblioteke sowel.
>> So dit was net die bekendstelling van wat is R en waarom jy dalk dit gebruik.
So hopelik, ek het oortuig dat jy iets
oor net om te probeer om te sien wat dit is.
So ek gaan om voort te gaan en gaan deur sommige beginsels oor R voorwerpe
en wat jy kan regtig nie.
>> So hier is net 'n n klomp van die wiskunde-opdragte.
So sê you're-- jy wil bou taal jouself en jy wil net
'n klomp van verskillende gereedskap te hê.
Enige soort van operasie jy dink jy wil wil hê, is pretty much gaan wees in R.
>> So hier is 2 plus 2.
Hier is 2 keer pi.
R het 'n klomp van die gebou-in konstantes dat jy gereeld sal gebruik soos pi, e.
>> En dan, hier is 7 plus runif, so runif van 1.
Dit is 'n funksie wat genereer een ewekansige uniform 0-1.
En dan is daar 3 tot die krag van 4.
Daar is vierkantswortels.
>> Daar is log.
So teken sal nederig doen eksponensiële deur self.
En dan, as jy spesifiseer 'n basis, dan jy kan doen wat basis wat jy wil.
En dan is hier is 'n paar ander opdragte.
So jy het 23 mod 2.
Dan moet jy die res.
Dan moet jy wetenskaplike notasie as jy ook
wil net meer te doen en meer ingewikkeld dinge.
>> So hier is opdrag.
So tipies opdragte in R is gedoen met 'n pyl
so dit is minder as en dan die koppelteken.
So hier is ek net toeken 3 aan die veranderlike val.
>> En dan is ek uit te druk val en dan is dit druk uit drie.
By verstek in R tolk, dit sal dinge uit te druk vir jou
sodat jy nie hoef te spesifiseer druk van 'n val enige tyd wat jy wil hê om iets te druk.
Jy kan net nie val en dan sal dit doen dit vir jou.
>> Ook, kan jy gebruik gelyk tegnies as 'n opdrag operateur.
Daar is effense subtiliteite tussen die gebruik van die pyl
operateur en die gelykes operateur vir opdragte.
Meestal deur konvensie, almal sal net gebruik die pyl operateur.
>> En hier, ek toewys skuins notasie genoem 1 kolon 6.
Dit genereer 'n vektor van 1 tot 6.
En dit regtig lekker want dan jy net ken die vektor val
en wat werk deur die self.
>> So dit is reeds gaan van 'n single-- 'n baie intuïtief data
struktuur van net 'n dubbele 'n soort van tipe in 'n vektor
en wat al versamel die skalaarproduk waardes vir jou.
So na gaan van skalaar, jy het R voorwerpe en dit is 'n vektor.
'N Vektor is 'n soort van versameling van dieselfde tipe.
So hier is 'n klomp van die vektore.
>> So, dit is numeriese.
Numeriese R se manier om te sê dubbel.
En so by verstek, enige nommer sal wees om 'n dubbel.
>> So as jy 'c van 1.1, 3, negatiewe 5.7, die c is 'n funksie.
Dit concatenates al drie getalle in 'n vektor.
En dit sal so as be-- jy agterkom 3 deur homself,
normaalweg sou jy aanvaar dat dit soos 'n heelgetal,
maar omdat alle vektore is dieselfde tipe,
dit is 'n vektor van dubbelspel of numeriese in hierdie geval.
>> rnorm is 'n funksie wat standaard normale variables--
of standaard normale waardes.
En ek spesifiseer twee van hulle.
So ek doen rnorm 2, toewys om dit te devs, en dan is ek uit te druk devs.
So dit is net twee ewekansige normale waardes.
>> En dan SY as jy dit doen jy omgee heelgetalle.
So dit is net oor die geheue toekenning en spaar geheue grootte.
So wat jy wil hê om by te voeg jou nommers deur die hoofstad L.
>> In die algemeen, is dit R se historiese notasie
vir iets genoem lang heelgetal.
So die meeste van die tyd, sal jy wees wat met dubbelspel.
En as jy ooit sal later op te optimaliseer jou kode,
jy kan net voeg hierdie L's daarna of gedurende dit
as jy soos precognitive oor wat jy gaan om hierdie veranderlikes te doen.
>> So hier is 'n karakter vektor.
So, weereens, ek concatenating drie snare hierdie tyd.
Let daarop dat dubbele snare en enkele snare is dieselfde in R.
So ek het Arthur en Marvin se en so wanneer ek druk dit uit, almal van hulle
gaan dubbel stringe te vertoon.
En as jy ook wil insluit die dubbele of enkele string
in jou karakters, dan kan jy óf wissel jou snare.
>> So Marvin se vir die tweede element, dit is
gaan jou show-- net dubbel stringe
en dan 'n enkele string so dit is afwisselend.
Andersins, as jy wil 'n dubbele gebruik string operateur in 'n dubbele string
wanneer jy dit is verklaar, dan jy net gebruik om die ontsnapping operateur.
So jy doen agteroorskuisstreep dubbel string.
>> En ten slotte, ons het ook het logiese vektore.
So logical-- so WAAR en vals is, en hulle is
gaan wees alles in hoofletters.
En dan weer, ek concatenating hulle en dan die toeken van hulle te bools.
So bools gaan om te wys jy WAAR, vals, en waar is.
>> So hier is vectorized kruip.
So in die begin, ek ek neem 'n function--
hierdie is 'n sequence-- genoem volgorde 2-12.
En ek neem 'n reeks met 2.
So dit gaan doen 2, 4, 6, 8, 10 en 12.
En dan, ek is kruip die derde element te kry.
>> So een ding om in gedagte te hou, is dat R indekse deur te begin vanaf 1.
So Vals 3 gaan gee die derde element.
Dit is 'n soort van verskillende van ander tale waar dit begin van nul.
So in C of C ++, byvoorbeeld, is jy gaan die vierde element te kry.
>> En hier is Vals 3-5.
So een ding wat regtig cool is dat jy
kan tydelike veranderlikes binne genereer en dan net gebruik om hulle op die vlieg.
So hier is 3 tot 5.
So ek skep van 'n vektor 3, 4, en 5 en dan
Ek kruip die derde te kry, vierde en vyfde elemente.
>> So so, kan jy abstrakte dit te doen net
enige soort van 'n vektor wat gee jou kruip.
So hier is Vals en dan die eerste, derde en sesde elemente.
En dan, as jy wil hê 'n aanvulling te doen,
sodat jy net nie die minus daarna en dit sal
gee jou alles wat nie die eerste, derde, of sesde element.
So dit sal wees 4, 8, en 10.
>> En as jy wil te kry selfs meer gevorderde,
jy kan koppel Boole vektore.
So hierdie indeks gaan jy te gee hierdie Boole vektor van lengte 6.
So rep WAAR komma 3.
Dit sal waar drie keer herhaal.
So dit sal jou 'n gee vektor WAAR, WAAR, WAAR.
>> rep ONWAAR 4-- dit gaan om jou te gee 'n vektor van vals is, vals, vals is, vals.
En dan is c gaan koppel daardie twee Booleans saam.
So jy gaan drie te kry TRUEs en dan vier FALSEs.
>> Sodat wanneer jy indeks Vals, is jy gaan die ware, WAAR, WAAR kry.
So wat gaan om te sê ja, Ek wil daardie drie elemente.
En dan vals is, vals, Vals is, vals gaan
om te sê nie, ek wil nie die elemente so dit is nie van plan om hulle om terug te keer.
>> En ek dink daar is eintlik 'n tikfout hier want dit sê herhaling WAAR 3
en herhaal ONWAAR 4, en tegnies, jy slegs ses elemente so herhaal ONWAAR,
Herhaal ONWAAR 3 moet wees.
Ek dink R is ook slim genoeg is om so dat as jy net spesifiseer 4 hier, dan
dit sal nie eers fout uit.
Dit sal net gee jou hierdie waarde.
So dit sal net ignoreer daardie vierde ONWAAR is.
>> So hier is vectorized opdrag.
So set.seed-- dit stel net die saad vir pseudo random nommers.
So ek die opstel van die saad te 42, wat beteken dat as ek genereer
drie ewekansige normale waardes, en dan as jy
hardloop set.seed op jou eie rekenaar met behulp van dieselfde waarde 42,
dan kry jy ook die Dieselfde drie ewekansige normals.
>> So, dit is regtig 'n goeie vir herhaalbaarheid.
Gewoonlik, wanneer jy besig met 'n soort van wetenskaplike analise,
jy wil die saad te stel.
Op dié manier ander wetenskaplikes kan net presies dieselfde kode wat jy het reproduseer
gedoen, want hulle sal die presiese het dieselfde ewekansige veranderlikes that-- of ewekansige
waardes wat jy geneem het om uit sowel.
>> En so het die vectorized opdrag hier is wat die Vals 1 tot 2.
So dit neem om die eerste twee elemente Vals en dan wys hulle tot 0.
En dan, jy kan ook net nie die soortgelyke ding met die Booleans.
>> So Vals is nie gelyk sal dit aan 0-- gee jou 'n vektor vals is, vals, WAAR
in hierdie geval.
En dan, gaan dit 'n te sê van daardie indekse wat WAAR was,
dan is dit gaan om dit te wys aan 5.
So dit neem om die derde element hier en dan wys dit tot 5.
>> En dit is baie mooi in vergelyking met 'n lae-vlak tale
waar jy moet gebruik vir lusse al hierdie vectorized dinge te doen
want dit is net baie intuïtief en dit is 'n enkele een-liner.
En wat is 'n groot oor vectorized notasie
is dat in R, dit is soort van ingeboude sodat hulle is amper so vinnig
as doen in 'n lae-vlak taal as teenstelling met die maak van 'n lus vir in R
en dan om dit te doen die dinamiese kruip self.
En dit sal stadiger as om te wees hierdie soort van vectorized ding
waar hy dit kan doen in parallel, waar dit is om dit te doen in threading basies.
>> So hier is vectorized bedrywighede.
So ek genereer 'n waarde 1 tot 3, toeken wat aan vek1, 3 tot 5, vek2,
voeg hulle saam.
Dit voeg hulle komponent-wyse so dit is 1 plus 3, 2 plus 4, en so aan.
>> vek1 keer vek2.
Dit vermeerder die twee waardes komponent wyse.
So dit is 1 keer 3, 2 keer 4, en dan 3 keer 5.
>> En dan, net soos jy kan ook doen comparisons-- logiese vergelykings.
So dit is onwaar onwaar WAAR in hierdie geval, want 1 is nie groter as 3,
2 is nie groter as 4.
Dit is, dink ek, 'n ander tikfout, 3 is beslis nie meer as 5.
Ja.
En so kan jy net doen alles hierdie eenvoudige operasies
omdat hul geërf uit die klasse hulself.
>> So dit was net die vektor.
En dit is soort van die mees fundamentele R voorwerp omdat gegee 'n vektor,
jy kan bou van meer gevorderde voorwerpe.
>> So hier is 'n matriks.
Dit is in wese die onttrekking van wat 'n matriks is self.
So in hierdie geval, dit is drie verskillende vektore, waar elkeen 'n kolom,
of jy kan dit oorweeg as elkeen 'n ry.
>> So ek stoor 'n matriks van 1 tot 9 en dan is ek spesifiseer 3 rye.
So 1 tot 9 sal gee jou 'n vektor 1, 2, 3, 4, 5, 6, en al die pad tot 9.
>> Een ding om ook in gedagte hou, is dat R winkels waardes in kolom-groot-formaat.
So met ander woorde, wanneer jy sien 1 tot 9, gaan dit te stoor them--
dit gaan wees 1, 2, 3 in die eerste kolom,
en dan sal dit doen 4, 5, 6 in die tweede kolom,
en dan 7, 8, 9 in die derde kolom.
>> En hier is 'n paar ander algemene funksies wat jy kan gebruik.
So dowwe mat, dit sal jou gee die dimensies van die matriks.
Dit gaan om terug te keer 'n vektor van die dimensie.
So in hierdie geval, omdat ons matriks is 3 by 3,
dit gaan vir jou 'n numeriese vektor wat is 3 3.
>> En hier is net wat matriksvermenigvuldiging.
So gewoonlik, as jy net doen asterisk-- so mat asterisk mat--
dit gaan wees komponent-wyse werking
of wat genoem word die Hadamard produk.
So dit gaan elke te doen element komponent-wyse.
Maar, as jy wil hê matriks multiplication--
so vermenigvuldig die eerste ry tye die tweede matriks se eerste kolom
en so on-- jy sal gebruik hierdie persent operasie.
>> En t van mat is net 'n operasie vir getransponeerde.
So ek sê neem die getransponeerde in die matriks, vermenigvuldig dit met die matriks
self.
En dan gaan dit terug te keer na jou 'n ander 3
deur 3 matriks vertoning die produk wat jy wil hê.
>> En so dit was matriks.
Hier is wat genoem word 'n data raam.
A data raam wat jy kan dink as 'n matriks, maar elke kolom self
gaan wees van 'n ander soort.
>> So, wat is regtig cool oor data rame is dat in data-ontleding self,
jy gaan al hierdie te hê heterogene data en al hierdie werklik
morsig dinge waar elk van die kolomme hulself kan word van verskillende tipes.
So hier ek sê 'n data raam, doen SY 1-3,
en dan ook 'n karakter vektor.
So kan ek indeks deur elk van hierdie kolomme
en dan sal ek die waardes self.
En jy kan ook doen 'n soort van bedrywighede op data rame.
En die meeste van die tyd wanneer jy data-analise of 'n soort doen
van preprocessing, sal jy werk met hierdie data strukture
waar elke kolom gaan te wees van 'n ander soort.
>> Ten slotte, so dit is in wese net die vier noodsaaklike voorwerpe in R. Lys
sal net versamel enige ander voorwerpe wat jy wil.
So sal dit in die winkel in een veranderlike wat jy maklik kan bekom.
>> So hier, ek neem 'n lys.
Ek sê dinge gelyk aan 3.
So ek gaan een element te hê in die lys, en dit is goed genoem,
en dit gaan om die waarde 3 te hê.
>> Ek kan ook 'n matriks.
So, dit is 1 tot 4 en die einde ry gelyk 2, so 'n 2 by 2 matriks.
Ook in die lys en dit genoem mat.
moreStuff, 'n karakter string, en selfs 'n ander lys op sigself.
>> So, dit is 'n lys wat is 5 en beer.
So het dit die waarde 5 en dit het die karakter string beer
en dit is 'n lys in 'n lys.
So kan jy hierdie dinge het rekursiewe dinge waar
jy het another-- n tik in die tipe.
So so, kan jy 'n matriks het binne 'n ander matriks en so aan.
En 'n lys is net 'n goeie manier van die insameling en saamgevoeg
al hierdie verskillende voorwerpe.
>> En ten slotte, hier is net help in die geval Dit was net weg baie vinnig verby.
So wanneer jy verward oor 'n soort van funksie,
jy kan hulp van daardie funksie te doen.
Sodat jy kan help matriks of 'n vraagteken matriks.
En hulp en die vraagteken is net snelskrif vir die dieselfde ding
sodat hulle is aliasse.
>> lm is 'n funksie wat net nie 'n lineêre model.
Maar as jy net het geen idee hoe om dit werk, kan jy net hulp van lm doen
en wat gee jou 'n paar soort van dokumentasie wat
lyk amper soos 'n man bladsy in Unix, waar
jy het 'n kort beskrywing van wat dit doen nie, ook wat sy argumente is,
wat dit terug, en net wenke oor hoe om dit te gebruik, en 'n paar voorbeelde sowel.
>> So laat my voor en show gaan sommige demo van die gebruik van R. OK.
So het ek oor baie vinnig net die data
strukture en 'n soort van die op-- sommige van die bedrywighede.
Hier is 'n paar funksies.
>> So hier is ek net gaan 'n funksie te definieer.
So ek ook met behulp van opdrag operateur hier,
en dan ek sê verklaar dat dit as 'n funksie.
En dit neem om die waarde x.
So, dit is 'n waarde wat jy wil hê en ek gaan om terug te keer x self.
So, dit is die identiteit funksie.
>> En wat is koel oor hierdie in vergelyking met ander tale
en 'n ander 'n lae-vlak tale is dat x
kan wees van enige tipe self en dit sal die tipe terugkeer.
Sodat jy kan imagine-- so laat my net loop hierdie vinnig.
Jammer.
>> So een ding wat ek moet ook melding is dat hierdie editor Ek gebruik
genoem rstudio.
Dit is wat genoem word 'n IDE.
En een ding wat baie mooi oor hierdie
is dat dit sluit 'n groot deel van die dinge wat jy wil doen in R self
net baie intuïtief.
>> So hier is 'n tolk console.
So so, kan jy ook hierdie konsole rou net deur 'n kapitaal R.
En dit is presies die dieselfde ding as die konsole.
So ek kan net doen id funksie x, x, x.
En then-- en dan sal goed self.
>> So rstudio is groot want dit het die konsole.
Dit het ook die dokumente jy wil om te loop op.
En dan is dit het 'n paar veranderlikes dat jy kan sien in 'n omgewing.
En dan, as jy ' erwe te doen, dan is jy
kan net sien dit hier, in teenstelling met die bestuur van al hierdie verskillende vensters
deur hulself.
>> Ek het eintlik persoonlik gebruik Vim, maar ek voel soos rstudio is uitstekend net
vir die kry 'n goeie idee hoe R. Gewoonlik gebruik,
wanneer jy probeer om te leer 'n paar nuwe taak,
jy wil nie om te hanteer te veel dinge op een slag.
So R is net 'n very-- rstudio is 'n baie goeie manier van leer R
sonder om te gaan met al hierdie ander dinge.
>> So hier Ek hardloop id hallo.
Dit keer terug hallo.
id 123.
Hier is 'n vektor van heelgetalle.
So op soortgelyke wyse, want jy kan neem 'n ander soort van waarde,
wat jy kan doen terugkeer id van x sodat dit terugkeer 1234 en 5.
>> En laat my net wys dat dit is inderdaad 'n heelgetal.
En so, as jy doen die klas id x, dit gaan heelgetal wees.
En dan, kan jy ook vergelyk die twee en dit is waar.
So ek gekyk word of id van x gelyk gelykes x en kennis
dat dit gee jou twee TRUEs.
So is dit nie te sê is die twee voorwerpe identies,
maar elkeen van die inskrywings binne die vektore identies.
>> Hier is bounded.compare.
So, dit is 'n bietjie meer ingewikkeld in dat dit 'n as toestand en anders
en dan neem dit twee argumente op 'n tyd.
So x is van enige soort.
En ek sê dit tweede argument is 'n.
Dit kan enigiets wees as well.
Maar by verstek, dit gaan te neem 5 as jy nie spesifiseer niks.
>> So hier gaan ek om te sê As x is groter as 'n.
So as ek spesifiseer nie 'n, dit sê as x is groter as 5,
dan gaan ek om terug te keer WAAR.
anders, ek gaan om terug te keer ONWAAR is.
So laat my gaan voort en definieer hierdie.
>> En nou gaan ek hardloop bounded.compare 3.
So dit sê is 3 minder than-- is 3 meer as 5.
Nee, dit is nie so ONWAAR is.
>> En bounded.compare 3 en ek gaan om dit te vergelyk met 'n gelykes 2.
So nou is ek sê ja, nou ek wil 'n iets anders te wees.
So ek gaan 'n om te sê, moet jy 2.
>> Ek kan óf doen hierdie soort van notasie of ek sê 'n gelykes 2.
Dit is 'n meer leesbare in dat wanneer jy
kyk na hierdie werklik ingewikkelde funksies wat
neem verskeie arguments-- en hierdie kan dosyne oftentimes-- net sê
'n gelykes 2 is meer leesbaar is vir jou sodat later in die toekoms
sal jy weet wat jy doen.
>> So in hierdie geval, ek is woord is 3 meer as 2.
Ja, dit is.
En so, kan ek net verwyder en sê, is 3 meer as 2
waar 'n gelykes 2.
En dit is ook waar.
Ja?
>> GEHOOR: Is jy uitvoering reël vir reël?
>> Dustin TRAN: Ja, ek is.
So wat ek hier doen, is neem hierdie teks document--
en wat is groot oor rstudio is dat Ek kan net hardloop 'n short-- n sleutel kombenasie.
So ek doen Control-Enter.
>> En dan, ek neem die lyn in die teks dokument
en dan om in die konsole.
So hier ek sê, bounded.compare en ek doen Control-X.
So ek kan net loop hier.
En dan is dit sal neem om die lyn en dan sit dit hier.
En dan op soortgelyke wyse, kan ek nie loop hier.
En dan sal dit hou net die definisie die lyne in die konsole soos dit.
>> En as jy ook kennis van die krullerige draadjies is daar net soos in C sintaksis.
x-- indien die indien toestand is ook gaan hakies te gebruik en dan
jy kan gebruik anders.
Nog een is anders as.
So dit gaan wees x gelyk is gelyk aan ', byvoorbeeld.
En dan gaan ek terug iets hier.
>> Let daarop dat daar twee verskillende dinge hier wat gaan aan.
Een daarvan is dat hier ek spesifiseer terugkeer om die waarde WAAR.
Hier is ek net sê x.
So R sal gewoonlik deur verstek neem die laaste arguments--
of neem die laaste reël van die kode, en wat sal wees wat dit teruggekeer.
So hier is dit dieselfde iets soos dit te doen terugkeer x.
>> En net om jou te wys.
En dan, sal dit werk net so.
So laat my gaan voort met hierdie.
>> So anders as.
En regtig, ek kan terugkeer iets wat ek wil.
So ek het nie eens te terugkeer Booleans al die tyd,
Ek kan net terug iets anders.
So ek kan terugkeer beer doen.
>> So as x gelyk is gelyk aan ', dit gaan beer om terug te keer.
Andersins, dit gaan om terug te keer WAAR.
Ek kan ook nie 'n vektor of regtig iets.
>> En gewoonlik in staties getikte tale,
jy het 'n soort hier spesifiseer.
En agterkom dat dit net kan wees nie.
En R is intelligent genoeg dat dit sal net doen nie en dit sal werk boete.
>> So laat my definieer hierdie.
Unexpected-- oh sorry.
Dit moet 'n krullerige brace hier te wees.
OK.
Cool.
Alle regte.
So laat ons nou vergelyk 3 en 'n gelykes 3.
So dit moet return-- yeah-- die waarde beer.
>> So nou 'n meer algemene ding is soos Wat van ander data strukture.
So jy het hierdie funksie.
Dit gaan om te werk op enige soort van waarde soos 3 of enige numeriese,
Met ander woorde, dubbel.
>> Maar wat van iets soos 'n vektor.
So wat gebeur as jy so do-- Ek is gaan val aan, sê, 4 toe te ken aan 6.
So as ek terug kom nie, so is 'n vektor van 4, 5, 6.
>> Nou laat ons kyk wat gebeur as ek dit doen bounded.compare val.
So dit gaan om jou te gee 15 1251.
So met ander woorde, dit sê As jy kyk na hierdie toestand
so dit sê x is minder as 'n of iets.
So, dit is 'n bietjie verwarrend want nou
jy weet net nie wat gaan aan.
So ek dink een ding wat werklik goed oor net probeer om te ontfout
is dat jy net kan doen Val is groter as 'n en kyk wat daar gebeur.
>> So val-- n is by verstek 5 so Laat ons net Val meer as 5.
So, dit is 'n vektor ONWAAR ONWAAR WAAR.
So nou wanneer jy op soek na hierdie, dit gaan om te sê as,
en dan gaan dit te gee jy hierdie is 'n vektor van false false WAAR.
>> So wanneer jy dit in R, R het geen idee wat jy doen.
Omdat dit verwag 'n enkele waarde, wat is 'n Boole, en nou
jy gee dit 'n vektor van Booleans.
So by verstek, R is net gaan om te sê wat die heck,
Ek gaan om te aanvaar dat jy gaan die eerste element hier neem.
So ek gaan say-- ek gaan om aan te neem dat dit ONWAAR is.
So dit gaan om te sê Nee, dit is nie reg nie.
>> Net so, dit gaan wees Val gelyk gelyk aan 'n.
Nee, jammer 5.
En dit gaan ook om vals te wees as goed.
So dit gaan nie om te sê, dit is nie waar nie so goed so dit is
gaan hierdie laaste een om terug te keer.
>> So, dit is óf 'n goeie ding of n slegte ding, afhangende van hoe jy dit sien.
Want as jy die skep van hierdie funksies,
jy nie eintlik weet wat gaan aan.
So soms jy wil 'n fout wil, of miskien het jy wil net 'n waarskuwing.
In hierdie geval, R dit nie doen nie.
So dit is regtig tot jy die basis van wat
jy dink die taal moet doen in hierdie geval
As jy in 'n vektor van Booleans slaag wanneer jy doen 'n indien toestand.
>> So kom ons sê dat jy het die oorspronklike een met as anders terugkeer waar en jy
gaan om terug te keer ONWAAR is.
So een manier ekserpering dit is om te sê ek
nie eens hierdie voorwaardelike ding nodig.
Nog 'n ding wat ek kan doen, is net die terugkeer van die waardes self.
So as jy sien, as jy doen Val is groter as 5,
dit gaan 'n terugkeer vektor ONWAAR ONWAAR WAAR.
>> Miskien is dit wat jy wil vir bounded.compare.
Jy wil 'n vektor van Booleans om terug te keer waar dit vergelyk elk van die waardes
vir hulself.
So kan jy net nie bounded.compare funksie x, 'n gelykes 5.
En dan in plaas van om hierdie as anders toestand,
Ek gaan net om terug te keer x is groter as 5.
So as dit waar is, dan dit gaan om terug te keer WAAR.
En dan as dit nie, dit is gaan om terug te keer ONWAAR is.
>> En dit sal werk vir enige van hierdie strukture.
So ek kan bounded.compare c 1 6 of 9 en dan gaan ek om te sê 'n gelykes 6,
byvoorbeeld.
En dan gaan dit gee jou die reg Boole
vektor wat jy ontwerp.
>> So dit is net funksies En nou, laat my net
wys jou 'n paar interaktiewe beeldmateriaal.
Ek dink nie ek het eintlik ' Wi-Fi hier so laat my net voort te gaan
en slaan hierdie een wat ek dink.
>> Maar een ding wat is cool is egter dat as jy net
wil 'n klomp van die toets verskillende data opdragte,
daar is 'n klomp van die verskillende datastelle wat reeds preloaded in R.
So een van hulle is genoem die iris dataset.
Dit is een van die mees bekende kinders in die masjien leer.
Jy sal gewoonlik net doen 'n soort van toets gevalle te sien of jou kode loop.
So laat ons net kyk wat iris is.
>> So hierdie ding gaan 'n data raam te wees.
En dit is soort van 'n lang, omdat Ek het net gedruk iris.
Dit is die druk van die hele ding.
So dit het al hierdie verskillende name.
So iris is 'n versameling van verskillende blomme.
In hierdie geval, is dit vertel jy die spesies van dit,
al hierdie verskillende breedtes en lengtes van die kelkblaarkrans en die blom.
>> En so normaal as jy wil iris te druk,
byvoorbeeld, jy nie wil hê om dit te hê al hierdie dinge doen, want dit kan oorneem
jou hele console.
So een ding wat werklik mooi is die hoof funksie.
So as jy net doen hoof iris, dit sal jou gee
die eerste vyf rye, of ses wat ek dink.
En jy dan goed, kan net hier spesifiseer.
So 20-- sal dit gee jy die eerste 20 rye.
En ek was eintlik soort verbaas dat dit
my gegee het ses so laat my gaan voort en kyk iris-- of kop, jammer.
En hier is dit sal gee u die dokumentasie
van wat die waarde kop nie.
So dit gee die eerste of die laaste van 'n voorwerp.
En dan gaan ek kyk na die standaard.
En dan sê dit dat die verstek metode kop x en N gelyk 6L.
So hierdie gee die eerste ses elemente.
En insgelyks as jy hier sien, het ek het nie n te spesifiseer gelyk 6.
By verstek dit gebruik ses, dink ek.
En dan, as ek wil 'n sekere spesifiseer waarde, dan kan ek sien wat as goed.
>> So dit is 'n paar eenvoudige opdragte en hier is 'n ander een wat just-- goed,
Ek can-- dit is eintlik 'n bietjie meer kompleks,
maar dit sal net die klas van elke kolom van die iris dataset.
So dit sal jou wys wat elk van hierdie kolomme is in terme van hul tipes.
So kelkblaarkrans lengte is numeriese, kelkblaarkrans breedte numeriese.
Al hierdie waardes is net numeriese want jy kan vertel van hierdie data
struktureer dit is al gaan numeriese.
>> En die Soort kolom gaan 'n faktor wees.
So normaalweg, sou jy dink dat dit is soos 'n karakter string.
Maar as jy net doen irisSpecies, en dan gaan ek kop 5 te doen,
en dit gaan druk uit die eerste vyf waardes.
>> En dan agterkom vlakke.
So dit is saying-- dit is R se manier van 'n kategoriese veranderlikes.
So in plaas van net met karakterstringe,
dit het vlakke spesifiseer wat van hierdie dinge is.
>> So kom ons sê irisSpecies 1.
So wat jy hier wil doen, is ek subsetting hierdie Soort kolom.
So dit neem die Soort kolom en dan
dit indekse die eerste element te kry.
So dit moet gee jou setosa.
En dit gee jou ook vlakke hier.
>> So kan jy ook vergelyk om dit te die karakter setosa
en dit is nie van plan om waar te wees, want die een
is van 'n ander soort as die ander.
Of ek dink dit is waar, want R is meer intelligent as dit.
En dit lyk op hierdie en dan sê, miskien is dit wat jy wil.
So dit gaan om die karakter te sê string setosa is dieselfde as hierdie een.
En dan so, kan jy ook net gryp hierdie soos so aan.
>> So dit is net 'n soort van vinnige bevele van die dataset.
So hier is 'n paar data eksplorasie.
So, dit is 'n bietjie meer betrokke by die data-analise.
En dit is geneem uit 'n paar Boot Camp in R in Berkeley.
>> So biblioteek buitelandse.
So ek gaan om te laai in 'n biblioteek wat genoem buitelandse.
So dit gaan my te gee read.dta so aanvaar dat ek hierdie dataset.
Dit word in die huidige gestoor werk gids van my console.
So laat ons net sien wat die werk gids is.
>> So hier is my gids te werk.
En lees dot data, hierdie ding, sê hierdie lêer
is geleë in die data gids van hierdie huidige werk gids.
En read.dta dit is nie 'n verstek opdrag.
Ek dink ek laai dit in reeds.
IEI aanvaar ek gelaai dit in reeds.
>> Maar so read.dta gaan nie 'n verstek opdrag te wees.
En dit is hoekom jy gaan te hê om te laai in hierdie biblioteek package--
hierdie pakket genaamd buitelandse.
En as jy nie het nie die pakket, dink ek
buitelandse is een van die ingeboude in kinders.
Anders, kan jy ook doen install.packages
en dit sal die pakket installeer.
En dit sal vir jou R. Uh, nee.
En dan is ek net gaan om te stop dit omdat ek het dit reeds.
>> Maar wat is regtig lekker oor R is dat die pakket bestuur
stelsel is baie elegant.
Want dit sal alles stoor baie mooi vir jou.
So in hierdie geval, dit gaan om te slaan dit in, glo ek, hierdie biblioteek hier.
>> So wanneer jy wil nuwe pakkette te installeer,
dit is net so eenvoudig soos doen install.packages
en R sal almal te bestuur die pakkette vir jou.
So jy hoef nie iets te doen in Python, waar jy moet eksterne pakket
bestuurders soos papier Anaconda waar jy
doing-- jy installeer die pakkette buite Python
en dan probeer jy dit self uit te voer.
So, dit is baie mooi manier.
>> En install.packages vereis internet.
Dit neem dit van 'n bediener en die bron wat
versamel al die pakkette is CRAN genoem.
En jy kan spesifiseer watter soort spieël jy wil die pakkette te laai van.
>> So hier is ek neem hierdie dataset.
Ek lees dit in die gebruik van hierdie funksie.
So laat my gaan voort en doen dit.
>> So laat ons aanvaar dat jy het hierdie dataset
en jy het absoluut geen idee wat dit is.
En dit kom eintlik op redelik dikwels in die bedryf
waar jy net hierdie tonne en tonne van morsig dinge
en hulle is ongelooflik sonder etiket.
So hier het ek hierdie dataset en ek weet nie
wat dit is, sodat ek net wys om dit te sien.
>> So ek gaan eerste hoof te doen.
So ek die eerste ses kyk kolomme van wat hierdie dataset is.
So, dit is die staat, pres04, en dan al hierdie verskillende soort van kolomme.
En wat is interessant hier, dink ek, is dat jy
sou aanvaar dat dit lyk soos 'n soort van die verkiesing.
En ek dink net uit kyk na die lêer
noem dit 'n soort van die versameling van data oor kandidate of kiesers
wat vir 'n spesifieke presidente gestem of president kandidate
vir die 2004-verkiesing.
>> So hier is waardes 1, 2 so 'n manier te stoor
die president kandidate is hulle name.
In hierdie geval, dit lyk soos hulle is net heelgetalwaardes.
So 2004, was dit Bush versus Kerry Ek glo nie.
En nou, kom ons sê jy weet net nie of 1 stem ooreen met Bush of 2
ooreenstem met Kerry of en so aan en so voort, reg?
>> En dit is net vir my, 'n redelik algemene probleem.
So wat kan jy doen in hierdie geval?
So laat ons gaan al hierdie ander dinge.
>> staat, ek neem hierdie kom uit verskillende lande.
partyid, inkomste.
Kom ons kyk na partyid.
So miskien een ding wat jy kan doen, is om kyk na elk van die waarnemings
wat 'n partyid van die Republikeinse of demokratiese of iets.
So laat ons net kyk na wat partyid is.
>> So ek gaan neem dat en dan gaan ek
hierdie dollar teken te doen operateur wat ek gedoen het voorheen
en dit gaan subset aan daardie kolom.
En dan gaan ek hierdie aan die hoof in 20, net om te sien wat dit lyk.
>> So dit is net 'n klomp van die NAS.
So met ander woorde, jy het ontbreek data oor hierdie ouens.
Maar jy moet ook agterkom dat partyid is 'n faktor
so dit gee jou verskillende kategorieë.
So met ander woorde, kan partyid neem Demokratiese, Republikeinse, Onafhanklike,
of iets anders.
>> So laat ons gaan voort en laat ons sien watter van hierdie is-- O, OK.
So ek gaan subset te partyid en dan
kyk na watter is Demokratiese, byvoorbeeld.
Dit gaan vir jou 'n Boole, 'n groot Boole van TRUEs en FALSEs.
>> En nou, kom ons sê ek wil te subset van hierdie ouens.
So dit gaan my dat te neem en subset na wat ookal waarnemings
het partyid gelykes gelyk demokratiese.
En dit is nogal lank, weens daar is so baie van hulle.
So nou, ek gaan om dit te kop in 20.
>> En as jy agterkom, is gelyk aan gelykes is interessant dat jy
already-- jy ook met die NAS.
So in hierdie geval, het jy nog nie kan kry enige inligting, want nou het jy NAS
en jy wil net om te sien wat van die waarneming ooreenstem met demokratiese
en nie dié van ontbrekende waardes hulself.
So hoe sal jy ontslae te raak van hierdie NAS?
>> So hier is ek net die op-sleutel op my wyser en dan sê die skuif.
En dan is hier is ek net gaan is.na datpartyid te sê.
So dit en en sal twee verskillende Boole vektore
en sê dit gaan wees Ware en valse byvoorbeeld.
So dit gaan hierdie komponent-wyse te doen.
So hier ek sê neem die data raam, subset
aan die kinders wat ooreenstem met demokratiese, en verwyder enige van hulle wat nie NA.
>> Dus moet hierdie will-- gee jou iets.
Kom ons kyk is.na.
Kom ons probeer is.na datpartyid.
En dit moet gee you-- sorry-- net 'n Boole vektor.
En dan, want dit is so lank, Ek gaan subset tot 20.
OK.
So dit moet werk.
>> En hierdie een sal ook TRUEs.
Ag, so my fout hier is dat I'm-- ek gebruik C ++ en R uitruilbaar so ek maak
hierdie fout al die tyd.
Die en operateur eintlik die een wat jy wil.
Jy wil nie om te gebruik twee -karakters, net 'n enkele een.
OK.
>> So laat ons sien.
Sodat ons subsetted aan die partyid waar hulle is demokratiese
en hulle is nie van ontbrekende waardes.
En nou, laat ons kyk na watter hulle het vir.
So lyk dit soos die meeste van hulle het vir 1.
So ek gaan om voort te gaan en sê dit is Kerry.
>> En so, kan jy ook gaan na die Republikeinse
en hopelik, hierdie moet gee jou 2.
Dit is net 'n klomp van die verskillende kolomme.
En inderdaad, dit is 2.
So partyid al Republikeinse, die meeste van hulle stem vir 2.
>> So dit lyk, net deur te kyk na hierdie,
Republikeinse gaan wees 'n very-- of die partyid
gaan 'n baie wees groot faktor in die bepaling van
watter kandidaat hulle is gaan stem.
En dit is natuurlik waar in die algemeen.
En dit ooreenstem met jou intuïsie, natuurlik.
So dit lyk asof ek loop uit van die tyd so
laat my net moet voortgaan en toon 'n paar vinnige beelde.
So hier is iets wat effens meer ingewikkeld met visualisering.
So in hierdie geval, dit is 'n baie eenvoudige ontleding van net nagaan wat
die president van '04 is.
>> So in hierdie geval, kom ons sê jy wou om hierdie vraag te beantwoord.
So dink ons ​​wou die stem te leer ken gedrag in die 2004 president verkiesing
en hoe dit verskil van ras.
So nie net wat jy wil sien die stem gedrag,
maar jy wil subset van elke ras en soort van 'n opsomming van dit.
En jy kan net vertel deur hierdie komplekse notasie
dat dit is 'n soort van om vaag.
>> So een van die meer gevorderde R pakkette wat ook soort van onlangse
genoem dplyr.
So is dit hierdie een reg hier.
En ggg-- ggplot2 is net 'n mooi manier van doen beter visualisaties
as die gebou-in-een.
>> So ek gaan om te laai hierdie twee biblioteke.
En dan, ek gaan om te gaan voor en hardloop hierdie opdrag.
Jy kan net behandel dit as 'n swart boks.
>> Wat gebeur is dat die pyp operateur is verby in hierdie argument
in hier.
So ek sê groep dat ras en dan president 04.
En dan, al hierdie ander opdragte is die filter en dan op te som
waar ek doen telling en dan is ek die plot dit hier.
OK cool.
So laat ons gaan voort en sien wat dit daar lyk.
>> So, wat hier gebeur, is dat ek net geplot elk van die wedstryde en dan
watter hulle het vir.
En hierdie twee verskillende waardes ooreenstem met 2 en 1.
As jy wil meer te wees elegant, kan jy ook
net spesifiseer dat 2 Kerry-- of 2 is Bush, en dan 1 is Kerry.
En jy kan ook ' wat in jou legende.
>> En jy kan ook verdeel hierdie staafgrafieke.
Omdat een ding is dat, as jy agterkom,
dit is nie baie maklik om te identifiseer Watter van hierdie twee waardes is groter.
So een ding wat jy graag wil hê om doen, is om hierdie blou gebied
en net beweeg dit hier sodat jy kan hierdie twee kante mekaar vergelyk deur.
En ek dink dit is iets wat ek nie tyd het om nou te doen nie,
maar dit is ook baie maklik om te doen.
Jy kan net kyk na die man bladsye van ggplot.
So jy kan net nie ggplot soos wat en lees in hierdie man bladsy.
>> So laat my net vinnig wys jou 'n paar koel dinge.
Kom ons gaan voort en gaan aan- net 'n aansoek van die masjien leer.
So kom ons sê ons het hierdie drie pakkette so ek gaan om dit te laai in.
So dit net druk 'n paar inligting nadat ek gelaai in die ding.
So ek sê hierdie read.csv, hierdie dataset, en nou
Ek gaan om voort te gaan en te kyk en sien wat binne hierdie dataset.
>> So het die eerste 20 waarnemings.
So ek moet net X1, X2, en Y. So dit lyk soos 'n klomp van hierdie waardes
is wat wissel van miskien 20 en 80 of so.
En dan insgelyks vir X2 en dan hierdie Y lyk etikette 0 en 1 te wees.
>> Om dit te verifieer, kan ek net doen opsomming data X1.
En dan insgelyks vir al hierdie ander kolomme.
So opsomming is 'n vinnige manier net wat jy vinnig waardes.
O, jammer.
Hierdie een moet wees Y.
>> So in hierdie geval, gee die Quantiles, mediane, maxes as well.
In hierdie geval, dataY, kan jy sien dat dit net gaan wees 0 en 1.
Ook die gemiddelde sê 0.6, beteken net dat dit
lyk soos ek het meer 1s as 0s.
>> So laat my voor en show gaan jy wat dit lyk.
So ek is net gaan om dit te stip.
Kom ons kyk hoe om dit te verwyder.
O OK.
OK.
>> So dit is wat dit lyk.
So lyk dit soos geel ek gespesifiseerde as 0, en dan rooi wat ek vermeld as 1s.
So hier is dit lyk soos etiket punte en dit
lyk soos jy wou net 'n paar soort groepering op hierdie punt.
>> En laat my net voort en show gaan jy 'n paar van hierdie ingeboude funksies.
So hier is lm.
So dit is net probeer 'n lyn om dit aan te pas.
So, wat is die beste manier om dat ek kan inpas n lyn soos
dat dit die beste sal skei hierdie soort van groepering.
En ideaal, kan jy net sien dat ek net loop al hierdie gebooie
en dan, ek gaan voort en voeg die lyn.
>> So dit lyk soos die beste raaiskoot.
Dit is om die beste een wat verminder die fout in 'n poging om hierdie lyn te pas.
Natuurlik, dit lyk soort goed, maar dit is nie die beste.
En lineêre modelle, in algemene, gaan wees
werklik 'n groot vir teorie en net soort van beginsels van die masjien gebou
leer.
Maar in die praktyk, jy gaan te wil iets meer algemeen te doen.
>> So jy kan net probeer om iets genoem 'n neurale netwerk.
Hierdie dinge is hoe meer algemeen.
En hulle het net werk fantasties vir groot datastelle.
So in hierdie geval, ons het net have-- laat se see-- ons nrow.
So nrow is net sê aantal rye.
So in hierdie geval, ek 100 waarnemings.
>> So laat my gaan voort en maak 'n neurale netwerk.
So, dit is baie mooi want ek kan net sê nnet
en dan is ek agteruit Y. So het die Y is dat kolom.
En dan agteruit dit op die ander twee veranderlikes.
So, dit is korter notasie vir X1 en X2.
>> So laat ons gaan voort en hardloop hierdie.
O, jammer.
Ek moet hierdie hele ding uit te voer.
En dit is net die druk van notasie vir hoe vinnig of nie vinnig dit
konvergeer.
So dit lyk soos dit het konvergeer.
So laat my voor en druk gaan uit wat dit daar lyk.
>> Sien hier is die foto en hier is 'n kontoer wys hoe goed dit pas.
En dit is just-- jy kan sien dit wat dit is baie, baie mooi.
Dit kan selfs wees overfitting, maar jy kan ook
rekening vir hierdie met ander tegnieke soos kruis-validering.
En dit is ook gebou in R.
>> En laat my net wys jou ondersteun vektor masjien.
Dit is 'n ander baie algemeen tegniek in die masjien leer.
Dit is baie soortgelyk aan lineêre modelle, maar dit gebruik wat 'n kern metode genoem.
En laat ons sien hoe goed wat nie.
So hierdie een is baie soortgelyk aan hoe goed 'n neurale netwerk voer,
maar dit is baie meer gladder.
En dit is die basis van what-- hoe SVMs werk.
>> So dit is net 'n baie vinnige oorsig van sommige
van die ingeboude funksies wat jy kan doen en ook 'n paar van die data-eksplorasie.
So laat my net voort te gaan en terug te gaan na die skyfies.
>> So natuurlik, dit is nie baie omvattend.
En dit is regtig net 'n teaser toon wat jy regtig kan doen in R.
So as jy wil, net soos om meer te leer, hier
is 'n klomp van die verskillende bronne.
>> So as jy lief vir handboeke of jy net lief vir lees dinge online,
dan is dit 'n fantastiese een deur Hadley Wickham,
wat ook geskep om al hierdie regtig cool pakkette.
As jy lief is vir video's, dan Berkeley het 'n awesome Boot Camp
dit is several-- dit is soort van 'n lang.
En dit sal jy amper leer alles wat jy wil weet oor R.
>> En so, daar is Codeacademy en al hierdie ander soort
interaktiewe webtuistes.
Hulle is ook om common-- meer en meer algemeen.
So, dit is baie soortgelyk aan Codeacademy.
En uiteindelik, as jy net wil Gemeenskap en te help,
dit is 'n klomp van die dinge wat jy kan gaan na.
Dit is duidelik dat ons nog steeds gebruik poslyste, net
soos byna elke ander programmeertaal gemeenskap.
En #rstats, dit is ons gemeenskap Twitter.
Dit is eintlik baie algemeen.
En dan gebruiker!
Is net ons konferensie.
>> En dan, natuurlik, kan jy gebruik om al hierdie ander Q & A dinge,
soos Stack oorloop, Google, en dan GitHub.
Omdat die meeste van hierdie pakkette en 'n groot deel van die gemeenskap
sal gesentreer word rondom die ontwikkeling van kode, omdat dit open source.
En dit is net regtig mooi op GitHub.
En ten slotte, kan jy my kontak indien jy moet net 'n vinnige vrae.
So jy my kan vind op Twitter hier, my webwerf, en net my e-pos.
So hopelik, dit was something-- net 'n kort teaser
van wat R is regtig in staat om dit te doen.
En hopelik, jy moet net kyk uit hierdie drie skakels
en kyk wat jy kan meer doen.
En ek dink dit is net oor dit.
Dankie.
>> [Applous]