[Musika nagpe-play] Dustin Tran: Hi. Dustin Ang pangalan ko ay. Kaya ako mag-i-nagtatanghal Pagtatasa ng data sa R. Lamang nang kaunti tungkol sa aking sarili. Ako ay kasalukuyang isang nagtapos na estudyante sa ang Engineering at Applied Agham. -Aral ako ng isang panulukan ng machine pag-aaral at istatistika kaya Pagsusuri ng Data sa R ​​ay talaga pundamental sa kung ano ang Gagawin ko sa araw-araw. At R ay lalong mabuti para sa pagtatasa ng data dahil masyado nang mabuti para sa prototyping. At kadalasan, kapag gumawa ka ng isang uri ng pagsusuri ng data, ng maraming mga problema Magiging nagbibigay-malay. At kaya gusto mo lang na magkaroon ng ang ilang mga talagang mahusay na wika na Maganda para lamang sa paggawa built-in na pag-andar, bilang kabaligtaran sa pagkakaroon haharapin ang mga mababang antas ng mga bagay. Kaya sa simula, lamang ako pupunta upang ipakilala kung ano ang R, bakit na gusto mong gamitin ito, at pagkatapos ay pumunta sa ibabaw sa ilang demo, at pumunta sa lamang mula doon. Kaya kung ano ay R? R ay lamang ng isang wika na binuo para sa statistical computing at visualization. Kaya ano ang ibig sabihin nito ay ito ay isang napaka mahusay na wika para sa anumang uri ng bagay na may mga deal kawalan ng katiyakan o visualization ng data. Kaya mayroon ka ng lahat ng mga posibilidad distribusyon. May ay magiging built-in na pag-andar. Magkakaroon ka rin ng mahusay na Ang paglalagay sa mga pakete. Python ay isa pang nakikipagkumpetensya wika para sa data. At isang bagay na sa tingin ko na R ay higit na mas mahusay na sa visualization ay. Kaya ano ang makikita mo sa demo bilang mahusay lamang ang napaka-intuitive wika na lang gumagana lubos na rin. Ito ay libre at open source din, bilang ay anumang iba pang magandang hulaan wika ko. At dito, isang bungkos ng lang keyword itinapon sa iyo. Ito ay pabago-bago, ibig sabihin kung mayroon kang isang partikular na uri na nakatalaga sa isang bagay kaysa lamang ito makikita baguhin ito sa mabilisang. Ito ay tamad kaya na smart tungkol sa kung paano ito gumagana ang mga kalkulasyon. Functional ibig sabihin talaga ito patakbuhin batay off ng mga pag-andar nang sa gayon anything-- anumang uri ng pagmamanipula ikaw ay paggawa, ito ay batay off ang mga pag-andar. Kaya binary operator, halimbawa, lamang ang likas na pag-andar. At lahat ng bagay na ka ng pagpunta sa gawin ay pagpunta na patatakbuhin off ang mga pag-andar mismo. At pagkatapos ng Bagay oriented na rin. Kaya dito ay isang XKCD isang lagay ng lupa. Hindi lamang dahil nararamdaman kong XKCD ay pundamental sa anumang uri ng pagtatanghal, ngunit dahil Pakiramdam ko ay tulad nito talaga hammers sa punto na maraming mga oras kapag ikaw ay gumagawa ng ilang mga uri ng data -aaral, ang problema ay hindi kaya magkano kung gaano kabilis ito ay tumatakbo, ngunit kung gaano katagal ito pagpunta sa Dadalhin ka nito sa programa ng gawain. Kaya dito ay pag-aaral lamang kung isang diskarte o b ay mas mahusay. Ito ay magiging isang bagay na ikaw ay pagpunta sa harapin ng maraming na may sa uri ng wika sa mababang antas kung saan ka pagharap sa seg mga pagkakamali, memory paglalaan, initializations, kahit na gawin ang mga built-in na pag-andar. At bagay-bagay na ito ay ang lahat ng mga tunggaliang napaka, napaka-elegante sa R. Kaya lang sa martilyo ito punto, ang pinakamalaking bottleneck ay magiging nagbibigay-malay. Kaya pagtatasa ng data ay isang napakahirap problema. Kung ang iyong ginagawa sa pagkatuto ng machine o ikaw ay paggawa ng ilang lamang uri ng pangunahing paggalugad ng data, hindi mo nais na magkaroon upang kumuha ng dokumento at pagkatapos ay sumulat ng libro isang bagay sa bawat oras na Gusto upang makita kung ano ang hitsura ng isang hanay tulad ng, kung ano ang partikular na mga entry sa isang matrix kamukha. Kaya gusto mo lamang na magkaroon ng ang ilang mga talagang maganda ang interface Maaari kang magpatakbo ng isang simpleng pag-andar na ini-index sa anumang gusto mo at patakbuhin lamang ito mula doon. At kailangan mo ng domain partikular na wika para dito. At R ay talagang makakatulong sa iyong tutukuyin ang problema at lutasin ito sa ganitong paraan. Kaya dito ay isang lagay ng lupa na nagpapakita ng programming kasikatan ng R bilang ito ay wala na sa paglipas ng panahon. Kaya bilang maaari mong makita, tulad ng 2013 o kaya tinatangay ng hangin na lamang tremendously. At ito ay hindi lamang dahil sa na malaking trend sa industriya ng teknolohiya tungkol sa malaking data. Gayundin, hindi lamang ang teknolohiya industriya, ngunit talagang anumang that-- industriya dahil ng maraming mga industriya mga uri ng saligang upang sinusubukan mong malutas ang mga problemang ito. At kadalasan, maaari kang magkaroon ng ilang mga magandang paraan ng pagsukat ng mga problemang ito o kahit ng pagtukoy sa mga ito o paglutas ng mga ito gamit ang data. Kaya sa palagay ko sa ngayon ang R ay ang ika-11 pinakasikat na wika sa TIOBE at ito ay lumalaki mula noon. Kaya narito ang ilang higit pa mga tampok ng R. Ito ay may isang malaking bilang ng mga pakete at para sa lahat ng mga iba't ibang mga bagay. Kaya anumang oras na mayroon kang isang ang ilang mga problema, karamihan ang oras R ay magkakaroon ng na pag-andar para sa iyo. Kaya kung nais mong bumuo ng isang uri ng makina algorithm sa pag-aaral na tinatawag na Random Forest o Desisyon Puno, o kahit na sinusubukan mong gawin ang mga ibig sabihin ng isang function o anuman sa mga bagay na ito, R ay magkakaroon iyon. At kapag ginawa mo na mahalaga sa iyo -optimize, isang bagay na karaniwan ay na pagkatapos tapos ka na prototyping isang uri ng wika na may mataas na antas, makikita mo itapon na in-- habilin mo lang port na higit sa sa ilang mga wika sa mababang antas. Ano ang mabuting tungkol R ay na sa sandaling ikaw ay tapos prototyping ito, maaari kang magpatakbo C ++, o Fortran, o alinman sa mga mas mababang antas ng mga nang direkta sa R. Kaya na isa talaga magaling na tampok tungkol R, kung mo ba talagang pakialam sa ang pag-optimize point. At ito ay tunay mabuti rin para sa mga visualization web. Kaya D3.js, halimbawa, ay Sa tingin ko ng isa pang pantas-aral na ipinakita namin ngayon. At ito ay talagang kahanga-hangang para sa paggawa ng mga interactive na visualization. At D3.js Ipinagpapalagay na mayroon kang isang uri ng data na naka-plot at R ay isang mahusay na paraan ng kawalan ng kakayahang gawin ang pagsusuri ng data bago mo i-export ito sa ibabaw upang D3.js o kahit na lamang tumakbo D3.js utos sa R ​​sarili nito, pati na rin ang lahat ng mga iba pang mga library pati na rin. Kaya na lamang ang pagpapakilala ng ano ang R at kung bakit maaari mo itong gamitin. Kaya sana, na hindi ko na ay naniwala sa iyo ng isang bagay tungkol lamang sinusubukan upang makita kung ano ito ay tulad ng. Kaya ako pagpunta sa sige at pumunta sa pamamagitan ng ang ilang mga batayan tungkol sa mga bagay R at ano ang maaari mong gawin talaga. Kaya dito ay isa lamang bungkos ng mga utos matematika. Kaya sabihin you're-- nais mong bumuo ng ang iyong sarili sa wika at gusto mo lang na magkaroon ng isang bungkos ng iba't ibang mga tool. Ang anumang uri ng operasyon sa tingin mo ikaw ay nais ay halos pagpunta sa maging sa R. Kaya dito ay 2 plus 2. Narito ang 2 beses pay. R ay may isang bungkos ng built-in na constants na makikita mo madalas gamitin tulad ng pay, e. At pagkatapos, narito ang 7 plus runif, kaya runif ng 1. Ito ay isang function na bumubuo isang random na pare-parehong 0-1. At pagkatapos ay mayroong 3 sa lakas ng 4. Mayroong mga ugat na parisukat. Mayroong log. Kaya mag-log gagawin base pagpaparami sa pamamagitan ng mismo. At pagkatapos ay, kung tinukoy mo ang isang base pagkatapos, maaari mong gawin ang anumang base na gusto mo. At pagkatapos ay narito ang ilang iba pang mga utos. Kaya mayroon kang 23 mod 2. Pagkatapos mayroon kang ang natitira. Pagkatapos ay mayroon kang pang-agham pagtatanda kung din nais na gawin lamang higit pa at mas komplikado bagay. Kaya dito ay assignment. Kaya tipikal na mga takdang-aralin sa R ay tapos na may isang arrow kaya mas mababa at pagkatapos ay ang gitling. Kaya dito ako lang nagtatalaga 3 sa variable Val. At pagkatapos ay ako sa pag-print out Val at pagkatapos ay ito ng mga Kopya out tatlo. Sa pamamagitan ng default sa R ​​interpreter, ito ay i-print ang mga bagay na para sa iyo kaya hindi mo na kailangang tukuyin mag-print ng Val anumang oras na nais mong i-print ang isang bagay. Maaari mo lamang gawin Val at pagkatapos ay magkakaroon ito gawin iyon para sa iyo. Gayundin, maaari mong gamitin ang katumbas technically bilang isang pagtatalaga operator. May kaunting mga subtleties sa pagitan ng paggamit sa mga arrow operator at ang equals operator para sa mga takdang-aralin. Karamihan ay sa pamamagitan ng convention, lahat ng tao ay lamang gamitin ang mga arrow operator. At dito, ako magtatalaga ito pahilig pagtatanda na tinatawag 1 tutuldok 6. Ito ay bumubuo ng isang vector 1-6. At ito ay talagang maganda dahil pagkatapos magtalaga ka lang ng vector sa Val at na gumagana sa pamamagitan ng mismo. Kaya ito ay naka pagpunta mula sa isang single-- isang napaka-intuitive data istraktura ng lang ng double ng ang ilang mga uri ng uri sa isang vector at na mangolekta ng lahat ang skeilar halaga para sa iyo. Kaya pagkatapos ng pagpunta mula sa skeilar, mo Mayroon R mga bagay at ito ay isang vector. Ang isang vector ay anumang uri ng koleksyon ng parehong uri. Kaya narito ang isang bungkos ng vectors. Kaya ito ay numero. Pang-numero ay paraan ng pagsabi double R iyon. At ito sa pamamagitan ng default, ang anumang numero ay magiging isang double. Kaya kung mayroon kang c ng 1.1, 3, negatibong 5.7, ang c ay isang function. Ito concatenates lahat ng tatlong mga numero sa isang vector. At ito ay be-- kaya kung mapansin mo ang 3 sa pamamagitan ng sarili nito, normal na nais mong ipagpalagay na ito ay tulad ng isang integer, pero dahil ang lahat vectors ang parehong uri, ito ay isang vector ng doubles o numerong sa kasong ito. rnorm ay isang katangian na bumubuo karaniwang normal variables-- o karaniwang normal na halaga. At ako pagtukoy ng dalawa sa kanila. Kaya ako ginagawa rnorm 2, magtatalaga na sa devs, at pagkatapos ay ako sa pag-print out devs. Kaya ito ay ang dalawang lamang random normal na halaga. At pagkatapos ay ints kung gagawin mo mahalaga sa iyo integer. Kaya ito ay tungkol lamang memory paglalaan at pag-save laki ng memory. Kaya magkakaroon ka ng upang isama ang iyong mga numero ng kapital L. Sa pangkalahatan, ito ay Makasaysayang pagtatanda R ay para sa isang bagay na tinatawag na mahaba integer. Kaya ang karamihan ng oras, ipapakita sa iyo maging pakikitungo sa doubles. At kung sakaling habilin sa ibang pagkakataon sa-optimize ang iyong code, maaari mong idagdag lamang ang mga L's pagkatapos o sa panahon ito kung ikaw ay tulad ng precognitive tungkol sa kung ano ka ng pagpunta sa gawin ang mga variable na. Kaya dito ay isang character na vector. Kaya, muli, ako concatenating tatlong string oras na ito. Pansinin na double string at solong string ay pareho sa R. Kaya Mayroon akong Arthur at Marvin at kaya kapag ako nagpi-print out ito, lahat ng mga ito ay pumunta upang ipakita double string. At kung nais mo ring isama ang double o single string sa iyong mga character, pagkatapos ay maaari mong alinman Ihahalili ang iyong mga string. Kaya Marvin para sa pangalawang elemento, ito ay pagpunta sa show-- mo na lang ay double string at pagkatapos ng isang solong string kaya ito ay alternating. Kung hindi man, kung gusto mong gumamit ng double string operator sa isang double string kapag naka deklarasyon ito, pagkatapos ay gamitin mo lang ang pagtakas operator. Kaya gagawin mo ang backslash double string. At sa wakas, kami din Mayroon lohikal na vectors. Kaya logical-- kaya TRUE at FALSE, at ang mga ito ay magiging lahat ng mga malalaking titik. At pagkatapos ay, muli, ako concatenating ang mga ito at pagkatapos ay magtatalaga sa kanila upang bools. Kaya bools ay pagpunta upang ipakita ang mo TRUE, FALSE, at TRUE. Kaya dito ay vectorized pag-index. Kaya sa simula, ako Iniinom isang function-- ito ay tinatawag na isang sequence-- pagkakasunud-sunod 2-12. At ako pagkuha ng pagkakasunud-sunod sa pamamagitan ng 2. Kaya ito ay pagpunta sa gawin 2, 4, 6, 8, 10 at 12. At pagkatapos, ako pag-index upang makuha ang ikatlong elemento. Kaya isang bagay na dapat tandaan ay na-index sa pamamagitan ng R simula sa 1. Kaya vals 3 ay pagpunta upang bigyan mo ang ikatlong elemento. Ito ay isang uri ng naiiba sa ibang mga wika kung saan ito ay nagsisimula mula sa zero. Kaya sa C o C ++, halimbawa, ikaw ay pagpunta upang makuha ang ika-apat na elemento. At dito ay vals 3-5. Kaya isang bagay na talagang cool na ay na sa iyo Maaari bumuo ng pansamantalang mga variable sa loob at pagkatapos lamang gamitin ang mga ito sa mabilisang. Kaya dito ay 3-5. Kaya ako pagbuo ng isang vector 3, 4, at 5 at pagkatapos ay Ako sa pag-index para makuha ang mga third, ikaapat, at ikalimang elemento. Kaya katulad, maaari kang abstract na ito upang gawin lamang anumang uri ng vector na nagbibigay sa iyo ng pag-index. Kaya dito ay vals at pagkatapos ay ang una, ikatlong, at ika-anim na mga sangkap. At pagkatapos ay, kung nais mong gawin ng pampuno, kaya gawin mo lang ang minus pagkatapos at idedetalye na magbibigay sa iyo ng lahat ng bagay na hindi ang una, ikatlong, o ika-anim na elemento. Kaya ito ay magiging 4, 8, at 10. At kung gusto mong makakuha ng higit pang advanced na, Maaari mong pagdugtungin Boolean vectors. Kaya ito index ay pagpunta upang bigyan ka ng ito Boolean vector ng haba 6. Kaya rep TRUE kuwit 3. Ito ay ulitin TRUE tatlong beses. Kaya ito ay magbibigay sa iyo ng vector TRUE, TRUE, TRUE. rep FALSE 4-- ito ay pagpunta upang bigyan ka ng isang vector ng FALSE, FALSE, FALSE, FALSE. At pagkatapos c ay pagpunta sa pagdugtungin dalawang boolean mga magkakasama. Kaya na iyong pupuntahan upang makakuha ng tatlong TRUEs at pagkatapos ay apat na FALSEs. Kaya na kapag index vals, ikaw ay pagpunta upang makuha ang TRUE, TRUE, TRUE. Kaya na pupuntahan sabihin ninyo ang oo, Gusto kong mga tatlong elemento. At pagkatapos ay FALSE, FALSE, FALSE, FALSE ay pagpunta sasabihin hindi, hindi ko nais na mga elemento kaya hindi ito ng pagpunta upang bumalik ang mga ito. At hulaan ko mayroong talagang isang typo dito dahil ito ay sinasabi ng mga paulit-ulit TRUE 3 at ulitin FALSE 4, at technically, mo lamang magkaroon ng anim na mga sangkap upang ulitin FALSE, dapat itong maging paulit-ulit na FALSE 3. Sa tingin ko ay R ang smart sapat tulad din na kung tinukoy mo lang 4 dito, pagkatapos ay hindi ito kahit na error out. Ito lang magbibigay sa iyo ang halaga na ito. Kaya makikita lamang huwag pansinin na ika-apat na FALSE. Kaya dito ay vectorized assignment. Kaya set.seed-- ito lamang nagtatakda ng magbigay ng binhi para sa mga numero pseudorandom. Kaya ako pagtatakda ng binhi sa 42, na nangangahulugan na kung makabuo ako tatlong random normal halaga, at pagkatapos ay kung Patakbuhin set.seed sa iyong sariling computer gamit ang parehong halagang 42, pagkatapos din makuha mo ang mga parehong tatlong random normals. Kaya ito ay talagang magandang para reproducibility. Karaniwan, kapag gumawa ka ng ilang uri ng pang-agham na pag-aaral, gusto mo upang i-set ang mga pinag-apuhan. Sa ganoong paraan ng iba pang mga siyentipiko maaari lamang paramihin ang eksaktong parehong code ikaw tapos na dahil ang mga ito ay may eksaktong parehong random na mga variable that-- o random mga halaga na kinuha mo out pati na rin. At kaya ang vectorized pagtatalaga dito lumalabas ang vals 1-2. Kaya gumugugol ito ang unang dalawang mga elemento ng vals at pagkatapos ay nagtatalaga ng mga ito sa 0. At pagkatapos ay, maaari mo ring lamang gawin ang mga katulad na bagay sa boolean. Kaya vals ay hindi kapantay sa 0-- ang kaloobang ito'y magbibigay sa iyo ng vector FALSE, FALSE, TRUE sa kasong ito. At pagkatapos ay, ito ay pagpunta sa sabihin ang anumang ng mga ini-index na ay TRUE, pagkatapos ito ay pagpunta sa italaga na hanggang 5. Kaya gumugugol ito ng ikatlong elemento dito at pagkatapos ay nagtatalaga ito sa 5. At ito ay talagang maganda kumpara sa mga wika sa mababang antas kung saan mayroon kang gamitin para sa mga loop na gawin ang lahat ng ito vectorized mga bagay-bagay dahil ito ay lamang masyadong madaling maunawaan at ito ay isang solong isa-Liner. At kung ano ang mahusay na tungkol sa vectorized pagtatanda ay na sa R, ito ay isang uri ng built-in na upang ang mga ito ay halos kasing bilis bilang paggawa sa wikang mababang antas na bilang sumasalungat sa paggawa ng isang loop para sa R at pagkatapos ay pagkakaroon ito gawin ang mismong mga dynamic na pag-index. At makikita na mas mabagal kaysa sa paggawa ang ganitong uri ng vectorized bagay kung saan maaari itong gawin sa parallel, kung saan ito ang ginagawa nito sa threading talaga. Kaya dito ay vectorized pagpapatakbo. Kaya ako pagbuo ng isang halaga 1-3, nagtatalaga na sa vec1, 3-5, vec2, pagdaragdag sa mga ito nang magkakasama. Nagdadagdag ito ng mga ito bahagi-matalino kaya ito ay 1 plus 3, 2 plus 4, at iba pa. vec1 beses vec2. Ito multiply ang dalawang pinahahalagahan bahagi matalino. Kaya 1 beses 3, 2 beses 4, at pagkatapos ay 3 beses 5. At pagkatapos, katulad mo ay maaari ding gawin comparisons-- lohikal na mga paghahambing. Kaya FALSE FALSE TRUE sa kaso dahil 1 ay hindi mas malaki kaysa sa 3, 2 ay hindi mas malaki sa 4. Ito ay, tingin ko, isa pang typo, 3 ay talagang hindi mas malaki kaysa 5. Oo. At sa gayon ay maaari mo lamang gawin ang lahat ang mga simpleng mga operasyon dahil ang kanilang minana mula sa mga klase sa kanilang mga sarili. Kaya na noon ay lamang ng vector. At iyon ang pag-uuri sa mga pinaka-pangunahing R sa bagay na ito dahil bibigyan ng vector, maaari kang bumuo ng higit pang advanced na mga bagay. Kaya narito ang isang matrix. Ito ay mahalagang abstraction ng kung ano ang isang matrix ay mismo. Kaya sa kasong ito, ito ay tatlong magkakaibang vectors, kung saan ang bawat isa ay isang hanay, o maaari mong isaalang-alang ito bilang ang bawat isa ay isang hilera. Kaya ako nag-iimbak ng isang matrix mula 1 hanggang 9 at pagkatapos ay ako ng pagtukoy 3 mga hilera. Kaya 1-9 ay magbibigay sa iyo ng vector 1, 2, 3, 4, 5, 6, at ang lahat ng mga paraan upang 9. Isang bagay na dapat din sa pag-iisip ay na Tindahan R halaga sa format na haligi-major. Kaya sa ibang salita, kapag nakita mo 1 9 na itong ibang mapupuntahan upang mag-imbak them-- ito ay magiging 1, 2, 3 sa unang hanay, at pagkatapos ay gagamitin ito gawin 4, 5, 6 sa pangalawang hanay, at pagkatapos ay 7, 8, 9 sa ikatlong hanay. At narito ang ilang iba pang mga karaniwang mga function na maaari mong gamitin. Kaya dim mat, ito ay magbibigay sa iyo ang mga sukat ng matrix. Ito ay pagpunta sa bumalik ka isang vector ng sukat. Kaya sa kasong ito, dahil ang aming matrix ay 3 sa pamamagitan ng 3, ito ay pagpunta sa magbibigay sa iyo ng numeric vector na 3 3. At dito ay nagpapakita lamang pagpaparami matrix. Kaya kadalasan, kung gagawin mo lang asterisk-- kaya mat asterisk mat-- ito ay magiging component-matalino operasyon o kung ano ang tinatawag na ang produkto Hadamard. Kaya ito ay pagpunta sa gawin ang bawat elemento sangkap-matalino. Gayunpaman, kung nais mong multiplication-- matrix kaya multiply ang unang beses na sunud-sunod unang haligi ng ikalawang matrix ay at sa gayon on-- gagamitin mo ito porsiyento pagpapatakbo. At t ng mat ay isa lamang operasyon para sa pagpalitin ng lugar. Kaya ako sinasabi gawin ang magbago ng ayos o pagkakasunud-sunod sa matrix, i-multiply ito sa pamamagitan ng matrix ang sarili nito. At pagkatapos nito pupuntahan bumalik sa iyo ng isa pang 3 sa pamamagitan ng 3 nagpapakita ng matrix ang produkto na gusto mo. At kaya na matrix. Narito ang kung ano ang tinatawag na isang frame ng data. Ang data frame maaari mong isipin bilang isang matrix, ngunit ang bawat hanay mismo ay magiging ng ibang uri. Kaya kung ano ang talagang cool na tungkol sa data mga frame ay na sa mismong pagsusuri ng data, na iyong pupuntahan ang lahat ng ito magkakaiba data at lahat ng mga tunay walang ayos ng mga bagay kung saan ang bawat isa sa mga haligi Maaari kanilang sarili maging ng mga iba't ibang uri. Kaya dito ako ako sinasabi lumikha ng isang frame ng data, gawin ints 1-3, at pagkatapos ay mayroon ding na character vector. Kaya maaari kong index sa pamamagitan ng bawat isa sa mga haligi at pagkatapos ay magagawa ko na ang mga halaga ng kanilang mga sarili. At maaari mo ring gawin ang ilang mga pag-uuri ng mga pagpapatakbo sa mga frame ng data. At karamihan ng mga oras kapag ikaw ay paggawa ng pagsusuri ng data o isang uri ng preprocessing, ikaw ay nagtatrabaho sa mga kaayusan ng data kung saan ang bawat haligi ay pagpunta maging ng mga iba't ibang uri. Panghuli, kaya ang mga ito ay lubos na lamang ang apat na mahahalagang bagay sa Listahan R. ay lamang mangolekta ng anumang iba pang mga bagay na gusto mo. Kaya mag-iimbak nito ito sa isa variable na maaari mong ma-access madali. Kaya dito, ako ako kumukuha ng isang listahan. Ako sinasabi mga bagay-bagay ay katumbas ng 3. Kaya pupuntahan ko mayroon ang isang elemento sa listahan, at ito ay tinatawag na mga bagay-bagay, at ito ay pagpunta sa may halaga 3. Maaari din ba akong lumikha ng isang matrix. Kaya ito ay 1-4 at dulo ng hilera ay katumbas ng 2, kaya 2 sa pamamagitan ng 2 matrix. Gayundin sa listahan at ito ay tinatawag na mat. moreStuff, isang character na string, at kahit isa pang listahan sa sarili nito. Kaya ito ay isang listahan na 5 at bear. Kaya mayroon itong ang halaga ng 5 at ito May mga character na string na oso at ito ay isang listahan sa loob ng listahan. Kaya maaari kang magkaroon ng mga recursive bagay na kung saan ang mayroon kang isang another-- -type sa loob ng uri. Kaya katulad, maaari kang magkaroon ng matrix sa loob ng isa pang matrix at iba pa. At isang listahan ay isang magandang paraan ng pagkolekta at pagsasama-sama lahat ng mga iba't ibang mga bagay. At sa wakas, dito ay makakatulong lang sa kasong ito ay lamang nawala sa paglipas ng masyadong mabilis. Kaya anumang oras ikaw ay naguguluhan tungkol sa isang uri ng pag-andar, maaari mong gawin sa tulong ng na function. Kaya maaari mong gawin sa tulong matrix o isang tandang pananong matrix. At tulong at ng tandang pananong ay shorthand para lamang sa ang parehong bagay kaya ang mga ito ay mga alias. lm ay isang function na ginagawa lamang ng isang modelo sa guhit. Ngunit kung walang ideya mo lang kung paano na mga gawa, maaari mo lamang gawin tulong ng lm at makikita na magbibigay sa iyo ng ilang mga uri ng dokumentasyon na mukhang uri ng tulad ng isang ang tao na pahina sa Unix, kung saan mayroon kang isang maikling paglalarawan ng kung ano ang ginagawa nito, din kung ano ang mga argumento nito, kung ano ito ay nagbalik, at mga tip lamang sa kung paano gamitin ito, at ilang mga halimbawa pati na rin. Kaya hayaan mo akong magpatuloy at palabas ang ilang mga demo ng paggamit R. OK. Kaya nagpunta ako sa paglipas ng napaka mabilis lang ang data mga istraktura at isang uri ng op-- ilan sa mga pagpapatakbo. Narito ang ilang mga pag-andar. Kaya dito ako lamang ng pagpunta upang tukuyin ang isang function. Kaya ako rin gamit pagtatalaga operator dito, at pagkatapos ay ako na nagsasabi Ipinahahayag ito bilang isang katangian. At madadala ang halaga x. Kaya ito ay anumang halaga na nais mong at Pupunta ako sa bumalik x mismo. Kaya ito ay ang pag-andar ng pagkakakilanlan. At kung ano ang cool na tungkol sa kumpara sa iba pang mga wika at isa pang mababang antas wika na x ay maaaring maging ng anumang uri mismo at ito ay bumalik uri iyon. Kaya maaari mong imagine-- kaya hayaan tumakbo lang sa akin ito mabilis. Sorry. Kaya isang bagay na dapat din ko banggitin ay ang editor na ito gumagamit ako ay tinatawag na rstudio. Ito ay kung ano ang tinatawag na isang Ide, Kyoto. At isang bagay na talagang maganda tungkol sa ay tumutulong ito sa Isinasama ng maraming mga mga bagay na gusto mong gawin sa R ​​mismo lamang napaka intuitively. Kaya dito ay isang interpreter console. Kaya katulad, maaari ka ring makakuha ng mga ito console raw lamang sa pamamagitan ng paggawa ng kapital R. At ito ay eksaktong parehong bagay bilang console. Kaya ko maaaring gawin lamang id pag-andar x, x, x. At then-- at pagkatapos na Magiging masarap mismo. Kaya rstudio ay mahusay na dahil mayroon itong console. Mayroon din itong mga dokumento gusto mo upang tumakbo sa. At pagkatapos ay may mga ito ng ilang mga variable na maaari mong makita sa environment. At pagkatapos ay, kung mayroon kang gawin plots, pagkatapos mo ang maaaring makakita lang ito dito, bilang kabaligtaran sa pamamahala sa lahat ng mga iba't ibang mga bintana sa pamamagitan ng kanilang mga sarili. Ko talaga personal na gamitin Vim, ngunit ko parang rstudio ay tamang-tama lang para sa pagkuha ng isang magandang ideya ng kung paano gamitin ang R. Karaniwan, kapag sinusubukan mong matuto ng ilang mga bagong gawain, hindi mo nais na pangasiwaan masyadong maraming mga bagay nang sabay-sabay. Kaya R ay isa lamang very-- rstudio ay isang napakahusay na paraan ng R sa pag-aaral nang hindi na kinakailangang upang harapin ang lahat ng mga iba pang mga bagay. Kaya dito ako nagpapatakbo id halo. Nagbalik ito halo. id 123. Narito ang isang vector ng integer. Kaya katulad, dahil maaari ka gumawa ng anumang uri ng halaga, maaari mong gawin bumabalik id ng x kaya nagbalik ito 1234 at 5. At hayaan mo akong ipakita sa iyo na ang ito ay talagang isang integer. At katulad, kapag ginawa mo ng klase id x, ito ay magiging integer. At pagkatapos ay, maaari ring mo ihambing ang dalawa at ito ay TRUE. Kaya Lalabas na ako kung id ng x ay katumbas ng equals x at abiso na ito ay nagbibigay sa iyo ng dalawang TRUEs. Kaya ito ay hindi sinasabi ng mga ang dalawang bagay magkakahawig, ngunit ang bawat isa sa mga entry sa loob ng vectors magkapareho. Narito ang bounded.compare. Kaya ito ay bahagyang mas komplikado sa na ito ay may kung kundisyon at iba pa at pagkatapos ay tumatagal ng dalawang argumento sa isang pagkakataon. Kaya x ay ng anumang uri. At ako na nagsasabi na ito pangalawang argumento ay isang. Maaari itong maging pati na rin ang anumang bagay. Ngunit sa pamamagitan ng default, ang ito pagpunta sa tumagal 5 kung hindi mo tukuyin ang anumang bagay. Kaya dito pupunta ako upang sabihin kung x ay mas malaki kaysa sa isang. Kaya kung hindi ko tukuyin ang isang ito, Sinasabi kung x ay mas malaki kaysa 5, pagkatapos Pupunta ako sa bumalik TRUE. iba pa, pupunta ako upang bumalik FALSE. Kaya hayaan mo akong magpatuloy at tukuyin ang mga ito. At ngayon pupuntahan ko tumakbo bounded.compare 3. Kaya sinasabi nito ay mas mababa sa 3 than-- 3 mas malaki kaysa 5. Hindi, hindi ito kaya FALSE. At bounded.compare 3 at pupuntahan ko upang ihambing ito gamit ang isang katumbas 2. Kaya ngayon ako sinasabi ko oo, ngayon ko Gusto ng na maging ibang bagay. Kaya ako ng pagpunta sa sabihin ng, dapat ay 2. Maaari ko bang alinman sa gawin ang ganitong uri ng pagtatanda o ko sabihin isang katumbas 2. Ito ay isang mas nababasa sa na kapag ikaw ay ng pagtingin sa mga tunay kumplikadong pag-andar na tumagal ng maramihang mga arguments-- at ito maaaring dose-dosenang oftentimes-- lang sinasabi isang katumbas 2 ay mas nababasa para sa kaya ka na sa paglaon sa hinaharap malalaman mo kung ano ang iyong ginagawa. Kaya sa kasong ito, ako sinasabi ay 3 mas malaki kaysa 2. Oo ito ay. At katulad, maaari ko lang alisin ito at sabihin, 3 mas malaki kaysa sa 2 kung saan ang isang katumbas 2. At iyon ang TRUE rin. Oo? Madla: Sigurado ka -e-execute linya sa pamamagitan ng linya? Dustin Tran: Oo Ako. Kaya kung ano ang ako paggawa dito ay pagkuha ang tekstong ito document-- at kung ano ang mahusay na tungkol sa rstudio ay na Maaari ba akong magpatakbo lamang ng short-- isang key na shortcut. Kaya ako ginagawa Control-Enter. At pagkatapos, ako ng paggawa ng mga linya sa dokumento ng teksto at pagkatapos ng paglalagay sa console. Kaya dito ako sinasabi ko, bounded.compare at ako paggawa Control-X. Kaya ko maaaring maubusan lang dito pati na rin. At pagkatapos na kailangan gawin ang mga linya at pagkatapos ay ilagay ito dito. At pagkatapos ay katulad, ako maaaring maubusan dito. At pagkatapos ay lamang panatilihin pagtukoy mga linya sa console tulad na. At kung napansin mo rin ang kulot brace ang naroon tulad ng sa C syntax. x-- kung ang kung ang kondisyon ay isa ring pagpunta sa gamitin ang mga panaklong at pagkatapos ay maaari mong gamitin ang iba pa. Isa pa ay iba kung. Kaya ito ay magiging x katumbas ay katumbas ng, halimbawa. At pagkatapos ay pupuntahan ko magbalik ng bagay dito. Pansinin na mayroong dalawang magkaibang bagay dito na nangyayari sa. Ang isa ay na dito ako pagtukoy bumalik TRUE ang halaga. Narito lang ako sa sinasabi ng x. Kaya R habilin karaniwang bilang default tumagal ng huling arguments-- o gawin ang huling linya ng code, at iyon ay kung ano ang ibinalik. Kaya dito ito ay pareho bagay na ginagawa return x. At upang ipakita sa iyo. At pagkatapos ay, ito ay gumagana katulad nito. Kaya hayaan mo akong magpatuloy sa ito. Kaya iba kung. At talagang, maaari ba akong bumalik kahit ano Gusto kong. Kaya hindi ko kahit na mayroon sa balik boolean sa lahat ng oras, Maaari ko bang isauli lamang ng iba pang bagay. Kaya ang maaari kong gawin return bear. Kaya kung x ay katumbas ay katumbas ng isang, ito ang nangyayari upang bumalik bear. Kung hindi man, ito ay pagpunta sa bumalik TRUE. Maaari ko rin gawin ang isang vector o talagang kahit ano. At normal sa statically -type na wika, kailangan mong i-tukuyin ang isang uri dito. At napansin na maaari itong maging anumang bagay lamang. At R ay matalino sapat na ito ay lamang gawin ito at ito ay gumagana multa. Kaya hayaan mo akong tukuyin ito. Unexpected-- oh paumanhin. Dapat ito ay isang dito kulot suhay. OK. Ayos. Lahat ng karapatan. Kaya ngayon hayaan ihambing ng 3 at isang katumbas ng 3. Kaya dapat itong return-- yeah-- ang halaga bear. Kaya ngayon ang mas pangkalahatang mga bagay ay tulad ng kung ano ang tungkol sa iba pang mga istraktura ng data. Kaya mayroon kang ang function na ito. Ito ay pagpunta upang gumana sa anumang uri ng halaga tulad ng 3 o anumang numero, sa ibang salita, i-double. Ngunit kung ano ang tungkol sa isang bagay tulad ng isang vector. Kaya kung ano ang mangyayari kung do-- mo kaya ako pagpunta sa italaga Val sa, sabihin nating, 4-6. Kaya kung ibabalik ko ito, ito ay isang vector mula sa 4, 5, 6. Ngayon tingnan natin kung ano ang mangyayari kung gagawin ko bounded.compare Val. Kaya ito ay pagpunta sa magbibigay sa iyo ng 15 1251. Kaya sa ibang salita, ito ay sinasabi kung tiningnan mo ang kundisyong ito kaya ang sinasabi nito x Mababa kaysa sa isang o isang bagay. Kaya ito ay bahagyang nakakalito dahil ngayon mo lamang ay hindi alam kung ano ang nangyayari sa. Kaya hulaan ko ang isang bagay na talaga magandang tungkol lamang sinusubukang i-debug ay na maaari mo lamang gawin Val ay mas malaki kaysa sa isang at tingnan kung ano ang mangyayari doon. Kaya val-- isang ay sa pamamagitan ng default 5 kaya ni lang ako Val mas malaki kaysa 5 hayaan. Kaya ito ay isang vector FALSE FALSE TRUE. Kaya ngayon kapag tumitingin ka sa ito, ito ay pagpunta sa sabihin kung, at pagkatapos ito ay pagpunta sa magbibigay sa iyo ito ay isang vector ng FALSE FALSE TRUE. Kaya kapag kayo na ipasa ang ito sa R, R Walang ideya kung ano ang iyong ginagawa. Dahil inaasahan ito ng isang single halaga, na isang Boolean, at ngayon ka na nagbibigay ito ng vector ng boolean. Kaya bilang default, R ay isa lamang pagpunta sa sabihin kung ano ang ano ba, Pupunta ako sa ipagpalagay na ikaw ay pagpunta sa gawin ang unang elemento dito. Kaya pupuntahan ko say-- ako pupunta upang ipalagay na ito ay FALSE. Kaya ito ang nangyayari upang sabihin hindi, ito ay hindi tama. Katulad nito, ito ay pagpunta sa maging Val katumbas ay katumbas ng isang. Hindi, paumanhin 5. At ito ang nangyayari ring maging pati na rin hindi. Kaya ito ang nangyayari upang sabihin na hindi, hindi TRUE pati na rin kaya pagpunta sa ibalik ang huli. Kaya ito ay alinman sa isang mabuting bagay o isang masamang bagay, depende kung paano mo tingnan ito. Dahil kapag ikaw ay paglikha ng mga pag-andar, hindi mo talaga alam kung ano ang nangyayari sa. Kaya minsan gusto mo gusto ng isang error, o marahil gusto mo lamang ng isang babala. Sa kasong ito, R ay hindi ginagawa iyon. Kaya talagang hanggang sa sa iyo batay off ng kung ano sa tingin mo ang wika dapat gawin sa kasong ito kung pumasa ka sa isang vector ng boolean kapag gumagawa ka ng isang kung kondisyon. Kaya sabihin nating mayroon kang ang orihinal ang isa ay may kung iba bumalik TRUE at ikaw ay pagpunta sa bumalik FALSE. Kaya isang paraan ng abstracting ito ay kong sabihin hindi mo kailangan ang kondisyong bagay. Isa pang bagay ang maaari kong gawin lamang bumabalik ang mga halaga ng kanilang mga sarili. Kaya kung napansin mo, kung gawin Val ay mas malaki kaysa 5, ito ay pagpunta upang magbalik ng vector FALSE FALSE TRUE. Siguro ito ay kung ano ang Gusto para bounded.compare. Gusto mong magbalik ng vector ng boolean kung saan ito ay inihambing sa bawat isa sa mga halaga sa kanilang mga sarili. Sa gayon ay maaari mo lamang bounded.compare function na x, ang isang katumbas ng 5. At pagkatapos ay sa halip ng paggawa ito kung iba ang kondisyon, Lamang ako ng pagpunta sa bumalik x ay mas malaki kaysa 5. Kaya kung ito ay totoo, pagkatapos ay ito ang nangyayari upang bumalik TRUE. At pagkatapos kung hindi, ito ay pagpunta sa bumalik FALSE. At ito ay gumagana para sa ang alinman sa mga istruktura. Kaya ang maaari kong bounded.compare c 1 6 o 9 at pagkatapos ay ako pagpunta sa sabihin ng katumbas ng 6, halimbawa. At pagkatapos nito pupuntahan binibigyan ka ng karapatang Boolean vector na kayo ay pagdidisenyo. Kaya mga function ay lamang at ngayon ipaalam sa akin lamang ipakita sa iyo ang ilang mga interactive visual. Hindi sa tingin ko talaga ako Wi-Fi dito kaya halina sa akin lang maaga at laktawan ang isa hulaan ko. Ngunit isang bagay na ay malamig-lamig bagaman ay kung kamakailan mo lamang nais sumubok ng isang bungkos ng iba't-ibang mga utos ng data, may isang bungkos ng iba't ibang mga dataset na naka paunang naka-load sa R. Kaya isa sa mga ito ay tinatawag na dataset IRI. Ito ay isa sa mga pinaka popular mga sa pagkatuto ng machine. Makikita mo karaniwang gawin lamang ng ilang mga uri ng mga kaso ng pagsubok upang makita kung tumatakbo ang iyong code. Kaya ipaalam check ng kung ano IRI ay. Kaya bagay na ito ay pagpunta upang maging isang frame ng data. At ito ay uri ng mahaba dahil Ko lang ang naka-print out ang mga IRI. Ito ay nagpi-print out ang buong bagay. Kaya mayroon itong lahat ng mga iba't ibang pangalan. Kaya IRI ay isang koleksyon ng iba't ibang bulaklak. Sa kasong ito, Ito ay nagsasabi mo ang mga species ng ito, lahat ng mga iba't ibang mga lapad at mga haba ng sepalo at petalo ang. At kaya normal, kung na nais mong i-print ang mga IRI, halimbawa, hindi mo nais na magkaroon ng ito gawin ang lahat ng ito dahil maaari na pumalit ang iyong buong console. Kaya isang bagay na tunay ngang maganda ang ulo function. Kaya kung gagawin mo lang ang ulo IRI, ito ay magbibigay sa iyo sa unang limang mga hilera, o anim na hulaan ko. At pagkatapos ay mahusay, mo maaaring tukuyin lamang dito. Kaya 20-- ito ay magbibigay sa ikaw ang unang 20 mga hilera. At talagang ako ay uri ng magulat na ito ibinigay mo sa akin anim kaya hayaan mo akong sige at suriin iris-- o ulo, paumanhin. At dito bibigyan mo ang dokumentasyon ng kung ano ang ginagawa ng halaga ulo. Kaya ito ay nagbabalik ng unang o huling ng isang bagay. At pagkatapos ay pupuntahan ko tingnan ang mga default. At pagkatapos nito sinabi ng default pamamaraan ng ulo x at n ay katumbas ng 6L. Kaya nagbalik ito ang unang anim na mga sangkap. At katulad kung napansin mo dito, ako Hindi kailangang tukuyin n ay katumbas ng 6. Sa pamamagitan ng default ginagamit nito ang anim, hulaan ko. At pagkatapos ay, kapag gusto kong tukuyin ang isang tiyak na halaga, pagkatapos ay maaari kong tingnan din iyon. Kaya na ang ilang mga simpleng utos at narito ang isa pa na just-- na rin, Can-- ko ito ay talagang isang maliit na mas kumplikado, ngunit ito ay magdadala lamang ng klase ng bawat haligi ng IRIS dataset. Kaya ito ay magpapakita sa iyo kung ano ang bawat isa sa mga mga hanay ay nasa tuntunin ng kanilang mga uri. Kaya sepalo haba ay numero, sepalo lapad ay numero. Ang lahat ng mga halagang ito ay lamang numeric dahil maaari mong sabihin sa mula sa data na ito buuin ang mga ito ay lahat ng pagpunta sa numero. At ang mga haligi ng Specie ay magiging isang kadahilanan. Kaya normal, nais mong isiping ito ay tulad ng isang character na string. Ngunit kung gagawin mo lang irisSpecies, at pagkatapos ay ako pagpunta sa gawin head 5, at ito ay pagpunta sa i-print ang unang limang mga halaga. At pagkatapos ay mapapansin ang ganitong antas. Kaya ito ay saying-- ito ay paraan R ay ng pagkakaroon ng katergoryang mga variable. Kaya sa halip na lamang pagkakaroon ng string ng character, mayroon itong mga antas ng pagtukoy kung alin sa mga bagay na ito ay. Kaya hayaan sabihin ng irisSpecies 1. Kaya kung ano ang gusto mong gawin dito ay ako subsetting sa hanay na Species. Kaya ito ay tumatagal ng Species ng hanay at pagkatapos ay ini-index ito upang makuha ang unang elemento. Kaya ito ay dapat magbigay sa iyo ng setosa. At ito ay nagbibigay din sa iyo ng mga antas dito. Kaya maaari mo ring ihambing ito sa character na setosa at ito ay hindi papunta sa maging TRUE dahil ang isa ay isang iba't ibang mga uri kaysa sa iba pang. O kaya hulaan ko ito ay totoo dahil R ay higit na matalino kaysa doon. At tinitingnan nito ito at pagkatapos ay sabi, siguro ito ang gusto mo. Kaya ito ay pagpunta sa sinasabi ng mga character na string setosa ay katulad ng isang ito. At pagkatapos ay katulad, maaari kang din-grab lamang ang mga tulad ng iba pa. Kaya na ay ilan lang isang uri ng mabilis na utos ng dataset. Kaya narito ang ilang paggalugad ng data. Kaya ito ay isang kaunti pa kasangkot sa pagtatasa ng data. At ito ay nakuha mula sa ilang bootcamp sa R ​​para sa Berkeley. Kaya library sa ibang bansa. Kaya pupuntahan ko upang i-load sa isang library na tinatawag na sa ibang bansa. Kaya ito ay pagpunta sa ninyo akong bigyan read.dta kaya ipagpalagay na mayroon akong dataset na ito. Ito ay naka-imbak sa kasalukuyang nagtatrabaho direktoryo ng aking console. Kaya ipaalam sa makita ng kung ano ang pagtatrabaho na direktoryo ay. Kaya narito ang aking direktoryo ng pagtatrabaho. At basahin ang tuldok na data, ito bagay, ay sinasabi ang file na ito Matatagpuan sa folder ng data ng ito ang kasalukuyang direktoryo ng pagtatrabaho. At read.dta ito ay hindi isang default na command. Sa tingin ko load ko ito sa na. Ipinapalagay IEI load ko ito sa na. Ngunit kaya read.dta ay hindi papunta sa maging isang default na command. At iyon ang dahilan kung bakit ka ng pagpunta sa may upang i-load sa aklatang ito package-- ang paketeng ito na tinatawag na sa ibang bansa. At kung wala kang ang package, sa palagay ko dayuhan ay isa sa mga built-in na mga bago. Kung hindi man, maaari mo ring mo gawin install.packages at ito ay i-install ang package. At ito ay magbibigay sa iyo R. Uh, hindi. At pagkatapos lamang pupuntahan ko ihinto dahil ito Mayroon na akong ito. Ngunit kung ano ang talagang maganda tungkol R ay ang pamamahala ng package sistema ay napaka-eleganteng. Dahil mag-iimbak nito ang lahat ng bagay talagang mahusay para sa iyo. Kaya sa kasong ito, ay ito pagpunta upang mag-imbak ito sa, naniniwala ako, sa library dito. Kaya anumang oras na nais mong -install ang bagong pakete, ito lamang ay kasing simple ng paggawa install.packages at R ay pamahalaan ang lahat ang mga pakete para sa iyo. Kaya hindi mo na kailangang gawin ang isang bagay sa Python, kung saan mayroon kang mga panlabas na pakete tagapamahala tulad ng papel Anaconda kung saan ikaw ay doing-- mong i-install ang mga package sa labas ng Python at pagkatapos ay subukang mong patakbuhin ang mga ito sa iyong sarili. Kaya ito ay talagang maganda paraan. At install.packages ay nangangailangan ng internet. Inaabot ito mula sa isang server at ang imbakan na Kinokolekta ang lahat ng mga pakete ay tinatawag na CRAN. At maaari mong tukuyin kung aling mga uri ng salamin Gusto mong i-download ang mga pakete mula sa. Kaya dito Iniinom ko dataset na ito. Ako sa pagbabasa nito in gamit ang function na ito. Kaya hayaan mo akong magpatuloy at gawin iyon. Kaya sabihin ipagpalagay na ang mayroon kang dataset ito at mayroon kang ganap walang ideya kung ano ito. At ito talaga ay lumalabas Medyo madalas sa industriya kung saan mayroon kang lamang ang mga tonelada at tonelada ng mga bagay na walang ayos at ang mga ito ay hindi kapani-paniwalang walang label. Kaya dito mayroon akong ito dataset at hindi ko alam kung ano ito kaya lang ako na nagpapakita sa suriin ito. Kaya ako ng pagpunta sa gawin unang head. Kaya ko lagyan ng check ang unang anim na mga haligi ng kung ano dataset na ito ay. Kaya ito ay estado, pres04, at pagkatapos ay lahat ng mga iba't ibang mga uri ng haligi. At kung ano ang kawili-wiling dito, tingin ko, ay ang mo Gusto ipinapalagay na ito ang hitsura tulad ng isang uri ng halalan. At hulaan ko lang mula sa ng pagtingin sa mga file pangalanan ito ay isang uri ng koleksyon ng data tungkol sa mga kandidato o botante bumoto para sa partikular na Pangulo o kandidatong pangulo para sa halalan 2004. Kaya dito ay mga halaga ng 1, 2 kaya isang paraan ng pag-iimbak ang mga kandidatong presidente ang kanilang mga pangalan. Sa kasong ito, mukhang sila lamang ang integer value. Kaya 2004, ito ay Bush kumpara sa Kerry Naniniwala ako. At ngayon, sabihin nating mo lamang ay hindi alam kung ang 1 ay tumutugon sa Bush o 2 tumutugon sa Kerry o at kaya sa at iba pa, tama? At ito ay, lamang sa akin, isang walang kinikilingan karaniwang problema. Kaya kung ano ang maaari mong gawin sa kasong ito? Kaya ng check ang lahat ng iba pang mga bagay na ipaalam. estado, ako sa pag-aakala na ito ay nagmumula sa iba't ibang mga estado. partyid, ang kita. Tingnan natin ang partyid Hayaan. Kaya marahil isang bagay na maaari mong gawin ay Tingnan natin ang bawat isa sa mga obserbasyon na magkaroon ng isang partyid ng Republikano o demokrata o isang bagay. Kaya tingnan lamang ng kung ano ang partyid ay ipaalam. Kaya ako pagpunta sa tumagal dat at pagkatapos ay pupuntahan ko upang gawin ito dollar sign operator na ako dati at ito ay pagpunta sa subset sa hanay na iyon. At pagkatapos ay ako pagpunta sa magtungo ang mga ito sa 20, upang makita kung ano ito mukhang. Kaya ito ay lamang ng grupo ng mga NAs. Kaya sa ibang salita, mayroon kang Nawawala ang data tungkol sa mga guys. Ngunit mapapansin ang ganitong ka din dat partyid ay isang kadahilanan kaya ito ay nagbibigay sa iyo ng iba't ibang mga kategorya. Kaya sa ibang salita, partyid ay maaaring tumagal ng Demokrata, Republikano, Independent, o ng iba pang bagay. Kaya sabihin sige at sabihin makita kung alin sa mga is-- naku, ang OK. Kaya Pupunta ako sa subset sa partyid at pagkatapos ay tumingin sa kung alin ang mga Demokrata, halimbawa. Ito ay pagpunta sa magbibigay sa iyo ng Boolean, isang malaking Boolean ng TRUEs at FALSEs. At ngayon, sabihin nating nais ko upang subset sa mga guys. Kaya ito ay pagpunta sa tumagal ang aking dat at subset sa alinmang mga obserbasyon Mayroon partyid equals katumbas demokrata. At ito ay masyadong mahaba dahil may kaya marami sa kanila. Kaya ngayon, pupunta ako sa magtungo ang mga ito sa 20. At bilang mapansin mo, katumbas equals ay kagiliw-giliw na sa na ikaw ay already-- din ka kasama ang NAs. Kaya sa kasong ito, mo pa ring hindi makuha anumang impormasyon dahil mayroon ka na ngayong NAs at gusto mo lamang makita kung aling mga Ang obserbasyon na tumutugma sa demokrata at hindi ang mga nawawalang halaga kanilang mga sarili. Kaya kung paano mo mapupuksa ang mga NAs? Kaya dito ako lamang gamit ang pataas na key sa aking cursor at pagkatapos ay nagsasabi sa paglipat sa paligid. At pagkatapos dito ako lamang ng pagpunta sasabihin is.na datpartyid. Kaya ito at at dadalhin dalawang magkaibang Boolean vectors at sabihin ito ay magiging TRUE at FALSE halimbawa. Kaya ito ay pagpunta sa gawin ito bahagi-matalino. Kaya dito ako sinasabi ko tumagal ang frame ng data, subset sa mga na tumutugma sa demokrata, at alisin ang anuman sa mga ito na hindi NA. Kaya ito will-- dapat magbibigay sa iyo ng isang bagay. Tingnan natin is.na. Hayaan Subukan ang is.na datpartyid Hayaan. At ito ay dapat bigyan you-- sorry-- lamang ng Boolean vector. At pagkatapos, dahil ito ay kaya mahaba, Pupunta ako sa subset sa 20. OK. Kaya ito ay dapat na gumana. At ang isang ito ay din TRUEs. Ah, kaya ang aking mga error dito ay I'm-- ko gamitin ang C ++ at R salitan kaya gumawa ako ang pagkakamaling ito sa lahat ng oras. Ang operator at ang talaga ang iyong gusto. Hindi mo nais na gamitin ang dalawang ampersand, lamang ng isang solong isa. OK. Kaya tingnan natin. Kaya subsetted namin sa partyid kung saan sila handa demokrata at sila ay hindi nawawala halaga. At tingnan natin ngayon hayaan kung alin sila bumoto para sa. Kaya ito ay tila tulad ng karamihan sa mga ito ang bumoto para sa 1. Kaya ako pagpunta sa sige at sabihin na Kerry. At katulad, maaari kang pumunta din sa Republikano at sana, ito ay dapat magbigay sa iyo ng 2. Ito ay lamang ng grupo ng mga iba't ibang mga haligi. At sa katunayan, ito ay 2. Kaya partyid lahat ng mga Republikano, karamihan sa mga ito boboto para sa 2. Kaya tulad ng tila, lamang pamamagitan ng pagtingin sa ito, Republikano ay magiging isang very-- o ang partyid ay magiging isang napaka malaking salik sa pagtukoy na kandidato ang mga ito pagpunta sa bumoto para sa. At ito ay malinaw naman tunay na sa pangkalahatan. At ito ay tumutugma sa iyong Swersey, siyempre. Kaya parang tulad ako nauubusan ng oras kaya hayaan mo akong dapat pumunta lamang magpatuloy at ipakita sa ilang mabilis na mga imahe. Kaya narito ang isang bagay na bahagyang higit pang mga kumplikadong gamit ang visualization. Kaya sa kasong ito, ito ay isang napaka simpleng pag-aaral ng lamang-check kung ano ang pangulo ng '04 ay. Kaya sa kasong ito, sabihin nating sa iyo Nais upang sagutin ang tanong na ito. Kaya ipagpalagay na gusto naming malaman ang pagboto pag-uugali sa 2004 pangulo halalan at kung paano nag-iiba na sa pamamagitan ng lahi. Kaya hindi lamang ang nais mong tingnan ang pag-uugali ng pagboto, ngunit nais mong subset ng bawat lahi at uri ng sabihin sa maikling pangungusap na iyon. At maaari mo lamang sabihin sa pamamagitan ng mahirap maintindihan pagtatanda na ito ay uri ng pagkuha ng mausok. Kaya isa sa mga mas advanced na R pakete na rin uri ng kamakailang ay tinatawag na dplyr. Kaya ito ay ang isang ito dito mismo. At ggg-- ggplot2 lamang sa isang masarap paraan ng paggawa ng mas mahusay na visualization kaysa sa isang built-in na. Kaya pupuntahan ko upang i-load ang dalawang mga aklatan. At pagkatapos, Pupunta ako sa pumunta magpatuloy at patakbuhin ang command na ito. Maaari mo lang ituturing ito bilang isang itim na kahon. Ano ang nangyayari ay na ito pipa operator ay pagpasa sa argumento sa dito. Kaya ako sinasabi ko group sa pamamagitan ng dat lahi at pagkatapos ay presidente 04. At pagkatapos, ang lahat ng mga iba pang utos ay pini-filter at pagkatapos ay buod kung saan makakakuha ako ng paggawa bilang at pagkatapos ay ako Ang paglalagay ito dito. OK cool. Kaya sabihin sige at makita kung ano ito mukhang. Kaya kung ano ang nangyayari dito ay na ako plot lamang bawat isa sa mga karera at pagkatapos ay kung alin sila bumoto para sa. At ang mga dalawang magkaibang mga halaga ay tumutugma sa 2 at 1. Kung nais mong maging higit pa eleganteng, maaari ring mo tukuyin lamang na 2 ay Kerry-- o 2 ay Bush, at pagkatapos ay 1 Kerry. At maaari ka ring magkaroon ng na sa iyong alamat. At maaari ka ring hatiin ang mga bar graph. Dahil ang isang bagay ay na, kung napansin mo, ito ay hindi madaling makilala kung alin sa mga dalawang mga halaga ay mas malaki. Kaya ang isang bagay na gusto mo nais na gawin ay tumagal ang asul na lugar at ilipat ito ng higit lamang sa dito kaya mo Maaari ihambing ang dalawang magkatabi. At hulaan ko na ang isang bagay ko walang panahon upang gawin ngayon, ngunit na rin Napakadaling gawin. Maaari mong tingnan lamang sa ang mga pahina ng tao ng ggplot. Kaya maaari mo lamang ako ggplot tulad ng na at basahin sa ito tao na pahina. Kaya ipaalam sa akin mabilis lang ipakita sa iyo ang ilang mga cool na bagay. Sabihin sige at pumunta to-- lamang ng isang application ng pagkatuto ng machine. Kaya sabihin nating mayroon kaming ang tatlong mga package kaya ako pupunta upang i-load ito sa. Kaya lamang ng mga Kopya ito ang ilang mga impormasyon pagkatapos kong load sa bagay. Kaya ako ay sinasabi ko ito read.csv, ito dataset, at ngayon Pupunta ako sa sige at tumingin at tingnan kung ano ang nasa loob ng dataset na ito. Kaya ang unang 20 mga obserbasyon. Kaya Mayroon akong lamang X1, X2, at Y. Kaya Mukhang tulad ng isang bungkos ng mga halagang ito ay sumasaklaw mula siguro 20-80 o kaya. At pagkatapos ay katulad para sa X2 at pagkatapos ay ito Y Mukhang label ng 0 at 1. Upang i-verify ito, maaari ko gawin lamang X1 buod ng data. At pagkatapos ay katulad para sa lahat ng mga iba pang mga hanay. Kaya buod ay isang mabilis na paraan ng lamang ng pagpapakita sa iyo ng mabilis na mga halaga. Oh, paumanhin. Isa ito ay dapat na Y. Kaya sa kasong ito, ay nagbibigay sa mga quantiles, medians, maxes pati na rin. Sa kasong ito, dataY, maaari mong makita ang na ito ay lamang ng pagpunta sa 0 at 1. Gayundin ang ibig sabihin ay sinasabi 0.6, ang ibig sabihin lamang na ito tila mayroon akong higit pa sa 1s 0s. Kaya hayaan mo akong magpatuloy at palabas sa iyo kung ano ito mukhang. Kaya ako lamang ng pagpunta sa plot na ito. Tingnan natin kung paano i-clear ito Hayaan. Oh ang OK. OK. Kaya ito ay kung ano ang mukhang. Kaya ito ay tila yellows tinukoy ko bilang 0, at pagkatapos ay pula tinukoy ko bilang 1s. Kaya dito mukhang label na puntos at ito tila gusto mo lamang ng ilang uri ng clustering sa ito. At ipaalam sa akin pumunta lamang magpatuloy at palabas ilan sa iyo ng mga built-in na pag-andar. Kaya dito ay lm. Kaya ito ay nagsusubok lang upang magkasya sa isang linya upang ito. Kaya kung ano ang pinakamahusay na paraan na maaari kong magkasya sa isang linya tulad na ito ay pinakamahusay na ihiwalay ang ang ganitong uri ng clustering. At may perpektong, maaari mong makita lamang na patakbuhin ko lang lahat ng mga utos at pagkatapos, pupuntahan ko Magpatuloy at idagdag ang linya. Kaya ito ay tila ang pinakamahusay na hula. Tumatagal ang pinakamahusay na minimizes ang error sa sinusubukan upang magkasya sa linyang ito. Malinaw, ito ang hitsura ng uri ng mabuti, ngunit ito ay hindi ang pinakamahusay na. At linear na modelo, sa pangkalahatan, ay magiging talagang mahusay para sa teorya at pag-uuri lamang ng gusali batayan ng machine pag-aaral. Ngunit sa pagsasagawa, na iyong pupuntahan nais na gawin ang isang bagay mas pangkalahatang. Kaya maaari mo lamang subukang patakbuhin isang bagay na tinatawag na neural network. Mga bagay na ito ay lalong mas karaniwang. At sila lang gumagana fantastically para sa mga malalaking dataset. Kaya sa kasong ito, have-- namin lamang ni see-- mayroon kaming nrow ipaalam. Kaya nrow ay lamang na sinasabi bilang ng mga hilera. Kaya sa kasong ito, ako May 100 mga obserbasyon. Kaya hayaan mo akong magpatuloy at gumawa ng neural network. Kaya ito ay talagang maganda dahil maaari ko lang sabihin nnet at pagkatapos ay ako regressing Y. Kaya ang Y hanay na iyon. At pagkatapos ay regressing ito sa ang iba pang dalawang variable. Kaya ito ay mas maikli pagtatanda para sa X1 at X2. Kaya sabihin sige at patakbuhin ang mga ito. Oh, paumanhin. Kailangan ko bang patakbuhin ang buong bagay. At ito ay ang pag-print lamang pagtatanda para sa kung gaano kabilis o hindi mabilis ito converged. Kaya mukhang nag magpisan. Kaya hayaan mo akong magpatuloy at pag-print kung ano ang kamukha. Tingnan dito ang larawan at dito ay isang tabas na nagpapakita kung gaano kahusay ito Tama ang sukat. At ito ay just-- maaari mong makita ang ito na ito ay napaka, napaka maganda. Maaaring kahit na ito ay overfitting, ngunit maaari ka ring account para sa sa iba pang mga diskarte tulad ng cross-pagpapatunay. At ang mga ito ay binuo din sa R. At hayaan mo akong ipakita sa iyo sumusuporta sa vector machine. Ito ay isa pang tunay na karaniwang diskarte sa pagkatuto ng machine. Ito ay halos kapareho sa linear na modelo, ngunit Ginagamit ito sa kung ano ang tinatawag na isang pamamaraan sa kernel. At tingnan kung gaano kahusay na ginagawa ipaalam. Kaya ang isang ito ay katulad na katulad sa kung paano na rin ng neural network na gumaganap, ngunit ito ay mas madali. At ito ay batay off ng what-- kung paano gumagana ang SVMs. Kaya ito ay lamang ng isang napaka mabilis na pangkalahatang-ideya ng ilang mga ng built-in na mga function na maaari mong gawin at din ang ilan sa mga paggalugad ng data. Kaya halina sa akin lang maaga at bumalik sa slide. Kaya malinaw naman, ito ay hindi masyadong komprehensibong. At ito ay talagang isang teaser lamang na nagpapakita sa iyo kung ano ang maaari mong gawin talaga sa R. Kaya kung ikaw ay tulad lamang ng upang matuto nang higit pa, dito ay isang bungkos ng iba't ibang mga mapagkukunan. Kaya kung ikaw ay hibang na hibang ng mga aklat-aralin o ikaw ay mahilig lang ng pagbabasa ng mga bagay na online, pagkatapos ay ito ay isang hindi kapani-paniwala isa sa pamamagitan ng Hadley Wickham, na gumawa din ng lahat ng mga talagang cool na package. Kung ikaw ay hibang na hibang ng mga video, pagkatapos ay Berkeley ay may isang kahanga-hangang bootcamp na several-- na uri ng haba. At ito ay magturo sa iyo halos lahat ng bagay na nais mong malaman tungkol sa R. At katulad, may Codeacademy at lahat ng iba pang mga pag-uuri ng mga interactive na mga website. Ang mga ito ay nakakakuha rin ng common-- higit pa at mas karaniwang. Kaya ito ay halos kapareho sa Codeacademy. At sa wakas, kung ikaw lamang Gusto Komunidad at tulungan, ito ay isang bungkos ng bagay na maaari mong pumunta sa. Malinaw, inirerekumenda pa rin gamitin ang mga mailing list, lamang tulad ng halos bawat iba pang mga programming komunidad wika. At #rstats, ito ay aming komunidad Twitter. Iyon ang aktwal na medyo pangkaraniwan. At pagkatapos ay USER! Lamang ang aming conference. At pagkatapos ay, siyempre, maaari ka gamitin ang lahat ng mga iba pang mga bagay na Q & A, tulad ng stack Umaapaw, Google, at pagkatapos ay GitHub. Dahil ang karamihan ng mga pakete at maraming komunidad ay nakasentro sa paligid ng pagbuo ng code dahil ito ay open source. At ito ay lamang talagang maganda sa GitHub. At panghuli, maaari kang makipag-ugnay sa akin kung mayroon kang lamang ang anumang mga mabilis na mga katanungan. Upang mahanap ka sa akin sa Twitter dito, aking website, at na lamang ang aking email. Kaya sana, na noon ay something-- ng maikling teaser lamang ng kung ano ang R ay talagang may kakayahang paggawa. At sana, ikaw lamang tingnan ang mga tatlong mga link at tingnan kung ano ang maaari mong gawin nang higit pa. At hulaan ko na ang tungkol lamang ito. Salamat. [Palakpakan]