1 00:00:00,000 --> 00:00:00,750 2 00:00:00,750 --> 00:00:09,800 >> [Musika nagpe-play] 3 00:00:09,800 --> 00:00:13,014 4 00:00:13,014 --> 00:00:13,680 Dustin Tran: Hi. 5 00:00:13,680 --> 00:00:14,980 Dustin Ang pangalan ko ay. 6 00:00:14,980 --> 00:00:18,419 Kaya ako mag-i-nagtatanghal Pagtatasa ng data sa R. 7 00:00:18,419 --> 00:00:19,710 Lamang nang kaunti tungkol sa aking sarili. 8 00:00:19,710 --> 00:00:24,320 Ako ay kasalukuyang isang nagtapos na estudyante sa ang Engineering at Applied Agham. 9 00:00:24,320 --> 00:00:28,330 -Aral ako ng isang panulukan ng machine pag-aaral at istatistika 10 00:00:28,330 --> 00:00:31,375 kaya Pagsusuri ng Data sa R ​​ay talaga pundamental sa kung ano ang 11 00:00:31,375 --> 00:00:33,790 Gagawin ko sa araw-araw. 12 00:00:33,790 --> 00:00:35,710 >> At R ay lalong mabuti para sa pagtatasa ng data 13 00:00:35,710 --> 00:00:39,310 dahil masyado nang mabuti para sa prototyping. 14 00:00:39,310 --> 00:00:43,590 At kadalasan, kapag gumawa ka ng isang uri ng pagsusuri ng data, ng maraming mga problema 15 00:00:43,590 --> 00:00:44,920 Magiging nagbibigay-malay. 16 00:00:44,920 --> 00:00:48,700 At kaya gusto mo lang na magkaroon ng ang ilang mga talagang mahusay na wika na 17 00:00:48,700 --> 00:00:53,770 Maganda para lamang sa paggawa built-in na pag-andar, bilang kabaligtaran 18 00:00:53,770 --> 00:00:57,430 sa pagkakaroon haharapin ang mga mababang antas ng mga bagay. 19 00:00:57,430 --> 00:01:01,040 Kaya sa simula, lamang ako pupunta upang ipakilala kung ano ang R, bakit 20 00:01:01,040 --> 00:01:04,540 na gusto mong gamitin ito, at pagkatapos ay pumunta sa ibabaw sa ilang demo, 21 00:01:04,540 --> 00:01:07,060 at pumunta sa lamang mula doon. 22 00:01:07,060 --> 00:01:08,150 >> Kaya kung ano ay R? 23 00:01:08,150 --> 00:01:11,180 R ay lamang ng isang wika na binuo para sa statistical computing 24 00:01:11,180 --> 00:01:12,450 at visualization. 25 00:01:12,450 --> 00:01:16,000 Kaya ano ang ibig sabihin nito ay ito ay isang napaka mahusay na wika 26 00:01:16,000 --> 00:01:22,400 para sa anumang uri ng bagay na may mga deal kawalan ng katiyakan o visualization ng data. 27 00:01:22,400 --> 00:01:24,850 Kaya mayroon ka ng lahat ng mga posibilidad distribusyon. 28 00:01:24,850 --> 00:01:27,140 May ay magiging built-in na pag-andar. 29 00:01:27,140 --> 00:01:31,650 Magkakaroon ka rin ng mahusay na Ang paglalagay sa mga pakete. 30 00:01:31,650 --> 00:01:34,110 >> Python ay isa pang nakikipagkumpetensya wika para sa data. 31 00:01:34,110 --> 00:01:40,020 At isang bagay na sa tingin ko na R ay higit na mas mahusay na sa visualization ay. 32 00:01:40,020 --> 00:01:45,200 Kaya ano ang makikita mo sa demo bilang mahusay lamang ang napaka-intuitive wika 33 00:01:45,200 --> 00:01:48,050 na lang gumagana lubos na rin. 34 00:01:48,050 --> 00:01:53,140 Ito ay libre at open source din, bilang ay anumang iba pang magandang hulaan wika ko. 35 00:01:53,140 --> 00:01:55,440 >> At dito, isang bungkos ng lang keyword itinapon sa iyo. 36 00:01:55,440 --> 00:02:00,450 Ito ay pabago-bago, ibig sabihin kung mayroon kang isang partikular na uri na nakatalaga sa isang bagay 37 00:02:00,450 --> 00:02:02,025 kaysa lamang ito makikita baguhin ito sa mabilisang. 38 00:02:02,025 --> 00:02:05,670 Ito ay tamad kaya na smart tungkol sa kung paano ito gumagana ang mga kalkulasyon. 39 00:02:05,670 --> 00:02:12,250 Functional ibig sabihin talaga ito patakbuhin batay off ng mga pag-andar nang sa gayon anything-- 40 00:02:12,250 --> 00:02:16,910 anumang uri ng pagmamanipula ikaw ay paggawa, ito ay batay off ang mga pag-andar. 41 00:02:16,910 --> 00:02:20,162 >> Kaya binary operator, halimbawa, lamang ang likas na pag-andar. 42 00:02:20,162 --> 00:02:21,870 At lahat ng bagay na ka ng pagpunta sa gawin ay 43 00:02:21,870 --> 00:02:24,690 pagpunta na patatakbuhin off ang mga pag-andar mismo. 44 00:02:24,690 --> 00:02:27,140 At pagkatapos ng Bagay oriented na rin. 45 00:02:27,140 --> 00:02:30,930 >> Kaya dito ay isang XKCD isang lagay ng lupa. 46 00:02:30,930 --> 00:02:34,350 Hindi lamang dahil nararamdaman kong XKCD ay pundamental sa anumang uri 47 00:02:34,350 --> 00:02:37,770 ng pagtatanghal, ngunit dahil Pakiramdam ko ay tulad nito talaga 48 00:02:37,770 --> 00:02:42,160 hammers sa punto na maraming mga oras kapag ikaw ay gumagawa ng ilang mga uri ng data 49 00:02:42,160 --> 00:02:46,570 -aaral, ang problema ay hindi kaya magkano kung gaano kabilis ito ay tumatakbo, 50 00:02:46,570 --> 00:02:49,850 ngunit kung gaano katagal ito pagpunta sa Dadalhin ka nito sa programa ng gawain. 51 00:02:49,850 --> 00:02:54,112 Kaya dito ay pag-aaral lamang kung isang diskarte o b ay mas mahusay. 52 00:02:54,112 --> 00:02:55,820 Ito ay magiging isang bagay na ikaw ay 53 00:02:55,820 --> 00:02:58,290 pagpunta sa harapin ng maraming na may sa uri ng wika sa mababang antas 54 00:02:58,290 --> 00:03:03,440 kung saan ka pagharap sa seg mga pagkakamali, memory paglalaan, initializations, 55 00:03:03,440 --> 00:03:05,270 kahit na gawin ang mga built-in na pag-andar. 56 00:03:05,270 --> 00:03:09,920 At bagay-bagay na ito ay ang lahat ng mga tunggaliang napaka, napaka-elegante sa R. 57 00:03:09,920 --> 00:03:12,839 >> Kaya lang sa martilyo ito punto, ang pinakamalaking bottleneck 58 00:03:12,839 --> 00:03:13,880 ay magiging nagbibigay-malay. 59 00:03:13,880 --> 00:03:17,341 Kaya pagtatasa ng data ay isang napakahirap problema. 60 00:03:17,341 --> 00:03:19,340 Kung ang iyong ginagawa sa pagkatuto ng machine o ikaw ay 61 00:03:19,340 --> 00:03:22,550 paggawa ng ilang lamang uri ng pangunahing paggalugad ng data, 62 00:03:22,550 --> 00:03:25,290 hindi mo nais na magkaroon upang kumuha ng dokumento 63 00:03:25,290 --> 00:03:27,440 at pagkatapos ay sumulat ng libro isang bagay sa bawat oras na 64 00:03:27,440 --> 00:03:31,010 Gusto upang makita kung ano ang hitsura ng isang hanay tulad ng, kung ano ang partikular na mga entry sa isang matrix 65 00:03:31,010 --> 00:03:32,195 kamukha. 66 00:03:32,195 --> 00:03:34,320 Kaya gusto mo lamang na magkaroon ng ang ilang mga talagang maganda ang interface 67 00:03:34,320 --> 00:03:37,740 Maaari kang magpatakbo ng isang simpleng pag-andar na ini-index sa anumang 68 00:03:37,740 --> 00:03:41,870 gusto mo at patakbuhin lamang ito mula doon. 69 00:03:41,870 --> 00:03:44,190 At kailangan mo ng domain partikular na wika para dito. 70 00:03:44,190 --> 00:03:51,750 At R ay talagang makakatulong sa iyong tutukuyin ang problema at lutasin ito sa ganitong paraan. 71 00:03:51,750 --> 00:03:58,690 >> Kaya dito ay isang lagay ng lupa na nagpapakita ng programming kasikatan ng R bilang ito ay wala na sa paglipas ng panahon. 72 00:03:58,690 --> 00:04:04,060 Kaya bilang maaari mong makita, tulad ng 2013 o kaya tinatangay ng hangin na lamang tremendously. 73 00:04:04,060 --> 00:04:09,570 At ito ay hindi lamang dahil sa na malaking trend sa industriya ng teknolohiya 74 00:04:09,570 --> 00:04:10,590 tungkol sa malaking data. 75 00:04:10,590 --> 00:04:13,010 Gayundin, hindi lamang ang teknolohiya industriya, ngunit talagang 76 00:04:13,010 --> 00:04:16,490 anumang that-- industriya dahil ng maraming mga industriya 77 00:04:16,490 --> 00:04:20,589 mga uri ng saligang upang sinusubukan mong malutas ang mga problemang ito. 78 00:04:20,589 --> 00:04:24,590 At kadalasan, maaari kang magkaroon ng ilang mga magandang paraan ng pagsukat ng mga problemang ito 79 00:04:24,590 --> 00:04:29,720 o kahit ng pagtukoy sa mga ito o paglutas ng mga ito gamit ang data. 80 00:04:29,720 --> 00:04:35,430 Kaya sa palagay ko sa ngayon ang R ay ang ika-11 pinakasikat na wika sa TIOBE 81 00:04:35,430 --> 00:04:38,200 at ito ay lumalaki mula noon. 82 00:04:38,200 --> 00:04:40,740 83 00:04:40,740 --> 00:04:43,080 >> Kaya narito ang ilang higit pa mga tampok ng R. Ito ay may 84 00:04:43,080 --> 00:04:46,900 isang malaking bilang ng mga pakete at para sa lahat ng mga iba't ibang mga bagay. 85 00:04:46,900 --> 00:04:52,470 Kaya anumang oras na mayroon kang isang ang ilang mga problema, karamihan 86 00:04:52,470 --> 00:04:55,060 ang oras R ay magkakaroon ng na pag-andar para sa iyo. 87 00:04:55,060 --> 00:04:58,520 Kaya kung nais mong bumuo ng isang uri ng makina 88 00:04:58,520 --> 00:05:02,770 algorithm sa pag-aaral na tinatawag na Random Forest o Desisyon Puno, 89 00:05:02,770 --> 00:05:07,530 o kahit na sinusubukan mong gawin ang mga ibig sabihin ng isang function o anuman sa mga bagay na ito, 90 00:05:07,530 --> 00:05:10,000 R ay magkakaroon iyon. 91 00:05:10,000 --> 00:05:14,190 >> At kapag ginawa mo na mahalaga sa iyo -optimize, isang bagay na karaniwan 92 00:05:14,190 --> 00:05:17,430 ay na pagkatapos tapos ka na prototyping isang uri ng wika na may mataas na antas, 93 00:05:17,430 --> 00:05:19,810 makikita mo itapon na in-- habilin mo lang port na higit sa 94 00:05:19,810 --> 00:05:21,550 sa ilang mga wika sa mababang antas. 95 00:05:21,550 --> 00:05:26,090 Ano ang mabuting tungkol R ay na sa sandaling ikaw ay tapos prototyping ito, maaari kang magpatakbo C ++, 96 00:05:26,090 --> 00:05:29,510 o Fortran, o alinman sa mga mas mababang antas ng mga nang direkta sa R. 97 00:05:29,510 --> 00:05:32,320 Kaya na isa talaga magaling na tampok tungkol R, 98 00:05:32,320 --> 00:05:35,930 kung mo ba talagang pakialam sa ang pag-optimize point. 99 00:05:35,930 --> 00:05:39,490 >> At ito ay tunay mabuti rin para sa mga visualization web. 100 00:05:39,490 --> 00:05:43,530 Kaya D3.js, halimbawa, ay Sa tingin ko ng isa pang pantas-aral 101 00:05:43,530 --> 00:05:45,130 na ipinakita namin ngayon. 102 00:05:45,130 --> 00:05:48,510 At ito ay talagang kahanga-hangang para sa paggawa ng mga interactive na visualization. 103 00:05:48,510 --> 00:05:54,460 At D3.js Ipinagpapalagay na mayroon kang isang uri ng data na naka-plot 104 00:05:54,460 --> 00:05:58,080 at R ay isang mahusay na paraan ng kawalan ng kakayahang gawin ang pagsusuri ng data bago mo i-export ito 105 00:05:58,080 --> 00:06:04,220 sa ibabaw upang D3.js o kahit na lamang tumakbo D3.js utos sa R ​​sarili nito, 106 00:06:04,220 --> 00:06:08,240 pati na rin ang lahat ng mga iba pang mga library pati na rin. 107 00:06:08,240 --> 00:06:13,041 >> Kaya na lamang ang pagpapakilala ng ano ang R at kung bakit maaari mo itong gamitin. 108 00:06:13,041 --> 00:06:14,790 Kaya sana, na hindi ko na ay naniwala sa iyo ng isang bagay 109 00:06:14,790 --> 00:06:18,460 tungkol lamang sinusubukan upang makita kung ano ito ay tulad ng. 110 00:06:18,460 --> 00:06:23,930 Kaya ako pagpunta sa sige at pumunta sa pamamagitan ng ang ilang mga batayan tungkol sa mga bagay R 111 00:06:23,930 --> 00:06:26,150 at ano ang maaari mong gawin talaga. 112 00:06:26,150 --> 00:06:29,690 >> Kaya dito ay isa lamang bungkos ng mga utos matematika. 113 00:06:29,690 --> 00:06:35,000 Kaya sabihin you're-- nais mong bumuo ng ang iyong sarili sa wika at gusto mo lang 114 00:06:35,000 --> 00:06:38,080 na magkaroon ng isang bungkos ng iba't ibang mga tool. 115 00:06:38,080 --> 00:06:42,520 Ang anumang uri ng operasyon sa tingin mo ikaw ay nais ay halos pagpunta sa maging sa R. 116 00:06:42,520 --> 00:06:44,150 >> Kaya dito ay 2 plus 2. 117 00:06:44,150 --> 00:06:46,090 Narito ang 2 beses pay. 118 00:06:46,090 --> 00:06:51,870 R ay may isang bungkos ng built-in na constants na makikita mo madalas gamitin tulad ng pay, e. 119 00:06:51,870 --> 00:06:56,230 >> At pagkatapos, narito ang 7 plus runif, kaya runif ng 1. 120 00:06:56,230 --> 00:07:02,450 Ito ay isang function na bumubuo isang random na pare-parehong 0-1. 121 00:07:02,450 --> 00:07:04,400 At pagkatapos ay mayroong 3 sa lakas ng 4. 122 00:07:04,400 --> 00:07:06,430 Mayroong mga ugat na parisukat. 123 00:07:06,430 --> 00:07:07,270 >> Mayroong log. 124 00:07:07,270 --> 00:07:14,500 Kaya mag-log gagawin base pagpaparami sa pamamagitan ng mismo. 125 00:07:14,500 --> 00:07:18,337 At pagkatapos ay, kung tinukoy mo ang isang base pagkatapos, maaari mong gawin ang anumang base na gusto mo. 126 00:07:18,337 --> 00:07:19,920 At pagkatapos ay narito ang ilang iba pang mga utos. 127 00:07:19,920 --> 00:07:22,180 Kaya mayroon kang 23 mod 2. 128 00:07:22,180 --> 00:07:24,910 Pagkatapos mayroon kang ang natitira. 129 00:07:24,910 --> 00:07:27,110 Pagkatapos ay mayroon kang pang-agham pagtatanda kung din 130 00:07:27,110 --> 00:07:34,060 nais na gawin lamang higit pa at mas komplikado bagay. 131 00:07:34,060 --> 00:07:37,320 >> Kaya dito ay assignment. 132 00:07:37,320 --> 00:07:40,830 Kaya tipikal na mga takdang-aralin sa R ay tapos na may isang arrow 133 00:07:40,830 --> 00:07:43,440 kaya mas mababa at pagkatapos ay ang gitling. 134 00:07:43,440 --> 00:07:47,250 Kaya dito ako lang nagtatalaga 3 sa variable Val. 135 00:07:47,250 --> 00:07:50,160 >> At pagkatapos ay ako sa pag-print out Val at pagkatapos ay ito ng mga Kopya out tatlo. 136 00:07:50,160 --> 00:07:53,920 Sa pamamagitan ng default sa R ​​interpreter, ito ay i-print ang mga bagay na para sa iyo 137 00:07:53,920 --> 00:07:57,280 kaya hindi mo na kailangang tukuyin mag-print ng Val anumang oras na nais mong i-print ang isang bagay. 138 00:07:57,280 --> 00:08:00,200 Maaari mo lamang gawin Val at pagkatapos ay magkakaroon ito gawin iyon para sa iyo. 139 00:08:00,200 --> 00:08:04,380 >> Gayundin, maaari mong gamitin ang katumbas technically bilang isang pagtatalaga operator. 140 00:08:04,380 --> 00:08:07,190 May kaunting mga subtleties sa pagitan ng paggamit sa mga arrow 141 00:08:07,190 --> 00:08:10,730 operator at ang equals operator para sa mga takdang-aralin. 142 00:08:10,730 --> 00:08:15,470 Karamihan ay sa pamamagitan ng convention, lahat ng tao ay lamang gamitin ang mga arrow operator. 143 00:08:15,470 --> 00:08:21,850 >> At dito, ako magtatalaga ito pahilig pagtatanda na tinatawag 1 tutuldok 6. 144 00:08:21,850 --> 00:08:26,010 Ito ay bumubuo ng isang vector 1-6. 145 00:08:26,010 --> 00:08:29,350 At ito ay talagang maganda dahil pagkatapos magtalaga ka lang ng vector sa Val 146 00:08:29,350 --> 00:08:34,270 at na gumagana sa pamamagitan ng mismo. 147 00:08:34,270 --> 00:08:37,799 >> Kaya ito ay naka pagpunta mula sa isang single-- isang napaka-intuitive data 148 00:08:37,799 --> 00:08:41,070 istraktura ng lang ng double ng ang ilang mga uri ng uri sa isang vector 149 00:08:41,070 --> 00:08:45,670 at na mangolekta ng lahat ang skeilar halaga para sa iyo. 150 00:08:45,670 --> 00:08:50,770 Kaya pagkatapos ng pagpunta mula sa skeilar, mo Mayroon R mga bagay at ito ay isang vector. 151 00:08:50,770 --> 00:08:55,610 Ang isang vector ay anumang uri ng koleksyon ng parehong uri. 152 00:08:55,610 --> 00:08:58,150 Kaya narito ang isang bungkos ng vectors. 153 00:08:58,150 --> 00:08:59,800 >> Kaya ito ay numero. 154 00:08:59,800 --> 00:09:02,440 Pang-numero ay paraan ng pagsabi double R iyon. 155 00:09:02,440 --> 00:09:07,390 At ito sa pamamagitan ng default, ang anumang numero ay magiging isang double. 156 00:09:07,390 --> 00:09:13,150 >> Kaya kung mayroon kang c ng 1.1, 3, negatibong 5.7, ang c ay isang function. 157 00:09:13,150 --> 00:09:16,760 Ito concatenates lahat ng tatlong mga numero sa isang vector. 158 00:09:16,760 --> 00:09:19,619 At ito ay be-- kaya kung mapansin mo ang 3 sa pamamagitan ng sarili nito, 159 00:09:19,619 --> 00:09:21,910 normal na nais mong ipagpalagay na ito ay tulad ng isang integer, 160 00:09:21,910 --> 00:09:25,050 pero dahil ang lahat vectors ang parehong uri, 161 00:09:25,050 --> 00:09:28,660 ito ay isang vector ng doubles o numerong sa kasong ito. 162 00:09:28,660 --> 00:09:34,920 >> rnorm ay isang katangian na bumubuo karaniwang normal variables-- 163 00:09:34,920 --> 00:09:36,700 o karaniwang normal na halaga. 164 00:09:36,700 --> 00:09:38,360 At ako pagtukoy ng dalawa sa kanila. 165 00:09:38,360 --> 00:09:43,840 Kaya ako ginagawa rnorm 2, magtatalaga na sa devs, at pagkatapos ay ako sa pag-print out devs. 166 00:09:43,840 --> 00:09:47,350 Kaya ito ay ang dalawang lamang random normal na halaga. 167 00:09:47,350 --> 00:09:50,060 >> At pagkatapos ay ints kung gagawin mo mahalaga sa iyo integer. 168 00:09:50,060 --> 00:09:54,650 Kaya ito ay tungkol lamang memory paglalaan at pag-save laki ng memory. 169 00:09:54,650 --> 00:10:01,460 Kaya magkakaroon ka ng upang isama ang iyong mga numero ng kapital L. 170 00:10:01,460 --> 00:10:04,170 >> Sa pangkalahatan, ito ay Makasaysayang pagtatanda R ay 171 00:10:04,170 --> 00:10:06,940 para sa isang bagay na tinatawag na mahaba integer. 172 00:10:06,940 --> 00:10:09,880 Kaya ang karamihan ng oras, ipapakita sa iyo maging pakikitungo sa doubles. 173 00:10:09,880 --> 00:10:15,180 At kung sakaling habilin sa ibang pagkakataon sa-optimize ang iyong code, 174 00:10:15,180 --> 00:10:18,110 maaari mong idagdag lamang ang mga L's pagkatapos o sa panahon ito 175 00:10:18,110 --> 00:10:22,280 kung ikaw ay tulad ng precognitive tungkol sa kung ano ka ng pagpunta sa gawin ang mga variable na. 176 00:10:22,280 --> 00:10:25,340 177 00:10:25,340 --> 00:10:26,890 >> Kaya dito ay isang character na vector. 178 00:10:26,890 --> 00:10:31,440 Kaya, muli, ako concatenating tatlong string oras na ito. 179 00:10:31,440 --> 00:10:36,230 Pansinin na double string at solong string ay pareho sa R. 180 00:10:36,230 --> 00:10:41,000 Kaya Mayroon akong Arthur at Marvin at kaya kapag ako nagpi-print out ito, lahat ng mga ito 181 00:10:41,000 --> 00:10:43,210 ay pumunta upang ipakita double string. 182 00:10:43,210 --> 00:10:45,880 At kung nais mo ring isama ang double o single string 183 00:10:45,880 --> 00:10:50,070 sa iyong mga character, pagkatapos ay maaari mong alinman Ihahalili ang iyong mga string. 184 00:10:50,070 --> 00:10:53,540 >> Kaya Marvin para sa pangalawang elemento, ito ay 185 00:10:53,540 --> 00:10:56,380 pagpunta sa show-- mo na lang ay double string 186 00:10:56,380 --> 00:10:59,050 at pagkatapos ng isang solong string kaya ito ay alternating. 187 00:10:59,050 --> 00:11:04,040 Kung hindi man, kung gusto mong gumamit ng double string operator sa isang double string 188 00:11:04,040 --> 00:11:07,090 kapag naka deklarasyon ito, pagkatapos ay gamitin mo lang ang pagtakas operator. 189 00:11:07,090 --> 00:11:10,600 Kaya gagawin mo ang backslash double string. 190 00:11:10,600 --> 00:11:13,330 >> At sa wakas, kami din Mayroon lohikal na vectors. 191 00:11:13,330 --> 00:11:15,890 Kaya logical-- kaya TRUE at FALSE, at ang mga ito ay 192 00:11:15,890 --> 00:11:18,880 magiging lahat ng mga malalaking titik. 193 00:11:18,880 --> 00:11:22,370 At pagkatapos ay, muli, ako concatenating ang mga ito at pagkatapos ay magtatalaga sa kanila upang bools. 194 00:11:22,370 --> 00:11:24,590 Kaya bools ay pagpunta upang ipakita ang mo TRUE, FALSE, at TRUE. 195 00:11:24,590 --> 00:11:28,280 196 00:11:28,280 --> 00:11:31,620 >> Kaya dito ay vectorized pag-index. 197 00:11:31,620 --> 00:11:34,870 Kaya sa simula, ako Iniinom isang function-- 198 00:11:34,870 --> 00:11:39,230 ito ay tinatawag na isang sequence-- pagkakasunud-sunod 2-12. 199 00:11:39,230 --> 00:11:42,490 At ako pagkuha ng pagkakasunud-sunod sa pamamagitan ng 2. 200 00:11:42,490 --> 00:11:46,660 Kaya ito ay pagpunta sa gawin 2, 4, 6, 8, 10 at 12. 201 00:11:46,660 --> 00:11:50,080 At pagkatapos, ako pag-index upang makuha ang ikatlong elemento. 202 00:11:50,080 --> 00:11:55,770 >> Kaya isang bagay na dapat tandaan ay na-index sa pamamagitan ng R simula sa 1. 203 00:11:55,770 --> 00:12:00,550 Kaya vals 3 ay pagpunta upang bigyan mo ang ikatlong elemento. 204 00:12:00,550 --> 00:12:04,580 Ito ay isang uri ng naiiba sa ibang mga wika kung saan ito ay nagsisimula mula sa zero. 205 00:12:04,580 --> 00:12:09,780 Kaya sa C o C ++, halimbawa, ikaw ay pagpunta upang makuha ang ika-apat na elemento. 206 00:12:09,780 --> 00:12:13,280 >> At dito ay vals 3-5. 207 00:12:13,280 --> 00:12:16,030 Kaya isang bagay na talagang cool na ay na sa iyo 208 00:12:16,030 --> 00:12:20,410 Maaari bumuo ng pansamantalang mga variable sa loob at pagkatapos lamang gamitin ang mga ito sa mabilisang. 209 00:12:20,410 --> 00:12:21,960 Kaya dito ay 3-5. 210 00:12:21,960 --> 00:12:25,070 Kaya ako pagbuo ng isang vector 3, 4, at 5 at pagkatapos ay 211 00:12:25,070 --> 00:12:29,700 Ako sa pag-index para makuha ang mga third, ikaapat, at ikalimang elemento. 212 00:12:29,700 --> 00:12:32,280 >> Kaya katulad, maaari kang abstract na ito upang gawin lamang 213 00:12:32,280 --> 00:12:35,280 anumang uri ng vector na nagbibigay sa iyo ng pag-index. 214 00:12:35,280 --> 00:12:40,050 Kaya dito ay vals at pagkatapos ay ang una, ikatlong, at ika-anim na mga sangkap. 215 00:12:40,050 --> 00:12:42,800 At pagkatapos ay, kung nais mong gawin ng pampuno, 216 00:12:42,800 --> 00:12:45,210 kaya gawin mo lang ang minus pagkatapos at idedetalye na 217 00:12:45,210 --> 00:12:48,600 magbibigay sa iyo ng lahat ng bagay na hindi ang una, ikatlong, o ika-anim na elemento. 218 00:12:48,600 --> 00:12:51,590 Kaya ito ay magiging 4, 8, at 10. 219 00:12:51,590 --> 00:12:54,380 >> At kung gusto mong makakuha ng higit pang advanced na, 220 00:12:54,380 --> 00:12:57,610 Maaari mong pagdugtungin Boolean vectors. 221 00:12:57,610 --> 00:13:05,210 Kaya ito index ay pagpunta upang bigyan ka ng ito Boolean vector ng haba 6. 222 00:13:05,210 --> 00:13:07,280 Kaya rep TRUE kuwit 3. 223 00:13:07,280 --> 00:13:09,680 Ito ay ulitin TRUE tatlong beses. 224 00:13:09,680 --> 00:13:12,900 Kaya ito ay magbibigay sa iyo ng vector TRUE, TRUE, TRUE. 225 00:13:12,900 --> 00:13:17,470 >> rep FALSE 4-- ito ay pagpunta upang bigyan ka ng isang vector ng FALSE, FALSE, FALSE, FALSE. 226 00:13:17,470 --> 00:13:21,280 At pagkatapos c ay pagpunta sa pagdugtungin dalawang boolean mga magkakasama. 227 00:13:21,280 --> 00:13:24,090 Kaya na iyong pupuntahan upang makakuha ng tatlong TRUEs at pagkatapos ay apat na FALSEs. 228 00:13:24,090 --> 00:13:28,460 >> Kaya na kapag index vals, ikaw ay pagpunta upang makuha ang TRUE, TRUE, TRUE. 229 00:13:28,460 --> 00:13:31,420 Kaya na pupuntahan sabihin ninyo ang oo, Gusto kong mga tatlong elemento. 230 00:13:31,420 --> 00:13:33,520 At pagkatapos ay FALSE, FALSE, FALSE, FALSE ay pagpunta 231 00:13:33,520 --> 00:13:37,140 sasabihin hindi, hindi ko nais na mga elemento kaya hindi ito ng pagpunta upang bumalik ang mga ito. 232 00:13:37,140 --> 00:13:41,490 >> At hulaan ko mayroong talagang isang typo dito dahil ito ay sinasabi ng mga paulit-ulit TRUE 3 233 00:13:41,490 --> 00:13:47,990 at ulitin FALSE 4, at technically, mo lamang magkaroon ng anim na mga sangkap upang ulitin FALSE, 234 00:13:47,990 --> 00:13:50,470 dapat itong maging paulit-ulit na FALSE 3. 235 00:13:50,470 --> 00:13:55,260 Sa tingin ko ay R ang smart sapat tulad din na kung tinukoy mo lang 4 dito, pagkatapos ay 236 00:13:55,260 --> 00:13:56,630 hindi ito kahit na error out. 237 00:13:56,630 --> 00:13:58,480 Ito lang magbibigay sa iyo ang halaga na ito. 238 00:13:58,480 --> 00:14:00,970 Kaya makikita lamang huwag pansinin na ika-apat na FALSE. 239 00:14:00,970 --> 00:14:05,310 240 00:14:05,310 --> 00:14:09,270 >> Kaya dito ay vectorized assignment. 241 00:14:09,270 --> 00:14:15,480 Kaya set.seed-- ito lamang nagtatakda ng magbigay ng binhi para sa mga numero pseudorandom. 242 00:14:15,480 --> 00:14:20,110 Kaya ako pagtatakda ng binhi sa 42, na nangangahulugan na kung makabuo ako 243 00:14:20,110 --> 00:14:22,950 tatlong random normal halaga, at pagkatapos ay kung 244 00:14:22,950 --> 00:14:27,400 Patakbuhin set.seed sa iyong sariling computer gamit ang parehong halagang 42, 245 00:14:27,400 --> 00:14:30,990 pagkatapos din makuha mo ang mga parehong tatlong random normals. 246 00:14:30,990 --> 00:14:33,411 >> Kaya ito ay talagang magandang para reproducibility. 247 00:14:33,411 --> 00:14:35,910 Karaniwan, kapag gumawa ka ng ilang uri ng pang-agham na pag-aaral, 248 00:14:35,910 --> 00:14:37,230 gusto mo upang i-set ang mga pinag-apuhan. 249 00:14:37,230 --> 00:14:41,270 Sa ganoong paraan ng iba pang mga siyentipiko maaari lamang paramihin ang eksaktong parehong code ikaw 250 00:14:41,270 --> 00:14:44,790 tapos na dahil ang mga ito ay may eksaktong parehong random na mga variable that-- o random 251 00:14:44,790 --> 00:14:47,270 mga halaga na kinuha mo out pati na rin. 252 00:14:47,270 --> 00:14:49,870 253 00:14:49,870 --> 00:14:53,910 >> At kaya ang vectorized pagtatalaga dito lumalabas ang vals 1-2. 254 00:14:53,910 --> 00:14:59,290 Kaya gumugugol ito ang unang dalawang mga elemento ng vals at pagkatapos ay nagtatalaga ng mga ito sa 0. 255 00:14:59,290 --> 00:15:03,940 At pagkatapos ay, maaari mo ring lamang gawin ang mga katulad na bagay sa boolean. 256 00:15:03,940 --> 00:15:09,340 >> Kaya vals ay hindi kapantay sa 0-- ang kaloobang ito'y magbibigay sa iyo ng vector FALSE, FALSE, TRUE 257 00:15:09,340 --> 00:15:10,350 sa kasong ito. 258 00:15:10,350 --> 00:15:13,770 At pagkatapos ay, ito ay pagpunta sa sabihin ang anumang ng mga ini-index na ay TRUE, 259 00:15:13,770 --> 00:15:15,270 pagkatapos ito ay pagpunta sa italaga na hanggang 5. 260 00:15:15,270 --> 00:15:18,790 Kaya gumugugol ito ng ikatlong elemento dito at pagkatapos ay nagtatalaga ito sa 5. 261 00:15:18,790 --> 00:15:22,300 >> At ito ay talagang maganda kumpara sa mga wika sa mababang antas 262 00:15:22,300 --> 00:15:25,560 kung saan mayroon kang gamitin para sa mga loop na gawin ang lahat ng ito vectorized mga bagay-bagay 263 00:15:25,560 --> 00:15:30,281 dahil ito ay lamang masyadong madaling maunawaan at ito ay isang solong isa-Liner. 264 00:15:30,281 --> 00:15:32,030 At kung ano ang mahusay na tungkol sa vectorized pagtatanda 265 00:15:32,030 --> 00:15:37,020 ay na sa R, ito ay isang uri ng built-in na upang ang mga ito ay halos kasing bilis 266 00:15:37,020 --> 00:15:42,490 bilang paggawa sa wikang mababang antas na bilang sumasalungat sa paggawa ng isang loop para sa R 267 00:15:42,490 --> 00:15:46,317 at pagkatapos ay pagkakaroon ito gawin ang mismong mga dynamic na pag-index. 268 00:15:46,317 --> 00:15:48,900 At makikita na mas mabagal kaysa sa paggawa ang ganitong uri ng vectorized bagay 269 00:15:48,900 --> 00:15:55,950 kung saan maaari itong gawin sa parallel, kung saan ito ang ginagawa nito sa threading talaga. 270 00:15:55,950 --> 00:15:58,650 >> Kaya dito ay vectorized pagpapatakbo. 271 00:15:58,650 --> 00:16:04,920 Kaya ako pagbuo ng isang halaga 1-3, nagtatalaga na sa vec1, 3-5, vec2, 272 00:16:04,920 --> 00:16:05,950 pagdaragdag sa mga ito nang magkakasama. 273 00:16:05,950 --> 00:16:11,490 Nagdadagdag ito ng mga ito bahagi-matalino kaya ito ay 1 plus 3, 2 plus 4, at iba pa. 274 00:16:11,490 --> 00:16:13,330 >> vec1 beses vec2. 275 00:16:13,330 --> 00:16:16,110 Ito multiply ang dalawang pinahahalagahan bahagi matalino. 276 00:16:16,110 --> 00:16:21,830 Kaya 1 beses 3, 2 beses 4, at pagkatapos ay 3 beses 5. 277 00:16:21,830 --> 00:16:28,250 >> At pagkatapos, katulad mo ay maaari ding gawin comparisons-- lohikal na mga paghahambing. 278 00:16:28,250 --> 00:16:33,640 Kaya FALSE FALSE TRUE sa kaso dahil 1 ay hindi mas malaki kaysa sa 3, 279 00:16:33,640 --> 00:16:35,920 2 ay hindi mas malaki sa 4. 280 00:16:35,920 --> 00:16:41,160 Ito ay, tingin ko, isa pang typo, 3 ay talagang hindi mas malaki kaysa 5. 281 00:16:41,160 --> 00:16:41,660 Oo. 282 00:16:41,660 --> 00:16:45,770 At sa gayon ay maaari mo lamang gawin ang lahat ang mga simpleng mga operasyon 283 00:16:45,770 --> 00:16:48,350 dahil ang kanilang minana mula sa mga klase sa kanilang mga sarili. 284 00:16:48,350 --> 00:16:51,110 285 00:16:51,110 --> 00:16:52,580 >> Kaya na noon ay lamang ng vector. 286 00:16:52,580 --> 00:16:56,530 At iyon ang pag-uuri sa mga pinaka-pangunahing R sa bagay na ito dahil bibigyan ng vector, 287 00:16:56,530 --> 00:16:59,170 maaari kang bumuo ng higit pang advanced na mga bagay. 288 00:16:59,170 --> 00:17:00,560 >> Kaya narito ang isang matrix. 289 00:17:00,560 --> 00:17:05,030 Ito ay mahalagang abstraction ng kung ano ang isang matrix ay mismo. 290 00:17:05,030 --> 00:17:10,099 Kaya sa kasong ito, ito ay tatlong magkakaibang vectors, kung saan ang bawat isa ay isang hanay, 291 00:17:10,099 --> 00:17:12,710 o maaari mong isaalang-alang ito bilang ang bawat isa ay isang hilera. 292 00:17:12,710 --> 00:17:18,250 >> Kaya ako nag-iimbak ng isang matrix mula 1 hanggang 9 at pagkatapos ay ako ng pagtukoy 3 mga hilera. 293 00:17:18,250 --> 00:17:23,364 Kaya 1-9 ay magbibigay sa iyo ng vector 1, 2, 3, 4, 5, 6, at ang lahat ng mga paraan upang 9. 294 00:17:23,364 --> 00:17:29,250 >> Isang bagay na dapat din sa pag-iisip ay na Tindahan R halaga sa format na haligi-major. 295 00:17:29,250 --> 00:17:34,160 Kaya sa ibang salita, kapag nakita mo 1 9 na itong ibang mapupuntahan upang mag-imbak them-- 296 00:17:34,160 --> 00:17:36,370 ito ay magiging 1, 2, 3 sa unang hanay, 297 00:17:36,370 --> 00:17:38,510 at pagkatapos ay gagamitin ito gawin 4, 5, 6 sa pangalawang hanay, 298 00:17:38,510 --> 00:17:41,440 at pagkatapos ay 7, 8, 9 sa ikatlong hanay. 299 00:17:41,440 --> 00:17:45,570 >> At narito ang ilang iba pang mga karaniwang mga function na maaari mong gamitin. 300 00:17:45,570 --> 00:17:49,650 Kaya dim mat, ito ay magbibigay sa iyo ang mga sukat ng matrix. 301 00:17:49,650 --> 00:17:52,620 Ito ay pagpunta sa bumalik ka isang vector ng sukat. 302 00:17:52,620 --> 00:17:55,580 Kaya sa kasong ito, dahil ang aming matrix ay 3 sa pamamagitan ng 3, 303 00:17:55,580 --> 00:18:01,900 ito ay pagpunta sa magbibigay sa iyo ng numeric vector na 3 3. 304 00:18:01,900 --> 00:18:05,270 >> At dito ay nagpapakita lamang pagpaparami matrix. 305 00:18:05,270 --> 00:18:11,970 Kaya kadalasan, kung gagawin mo lang asterisk-- kaya mat asterisk mat-- 306 00:18:11,970 --> 00:18:15,380 ito ay magiging component-matalino operasyon 307 00:18:15,380 --> 00:18:17,300 o kung ano ang tinatawag na ang produkto Hadamard. 308 00:18:17,300 --> 00:18:21,310 Kaya ito ay pagpunta sa gawin ang bawat elemento sangkap-matalino. 309 00:18:21,310 --> 00:18:23,610 Gayunpaman, kung nais mong multiplication-- matrix 310 00:18:23,610 --> 00:18:29,380 kaya multiply ang unang beses na sunud-sunod unang haligi ng ikalawang matrix ay 311 00:18:29,380 --> 00:18:34,510 at sa gayon on-- gagamitin mo ito porsiyento pagpapatakbo. 312 00:18:34,510 --> 00:18:38,110 >> At t ng mat ay isa lamang operasyon para sa pagpalitin ng lugar. 313 00:18:38,110 --> 00:18:42,590 Kaya ako sinasabi gawin ang magbago ng ayos o pagkakasunud-sunod sa matrix, i-multiply ito sa pamamagitan ng matrix 314 00:18:42,590 --> 00:18:43,090 ang sarili nito. 315 00:18:43,090 --> 00:18:45,006 At pagkatapos nito pupuntahan bumalik sa iyo ng isa pang 3 316 00:18:45,006 --> 00:18:50,700 sa pamamagitan ng 3 nagpapakita ng matrix ang produkto na gusto mo. 317 00:18:50,700 --> 00:18:53,750 >> At kaya na matrix. 318 00:18:53,750 --> 00:18:56,020 Narito ang kung ano ang tinatawag na isang frame ng data. 319 00:18:56,020 --> 00:19:00,780 Ang data frame maaari mong isipin bilang isang matrix, ngunit ang bawat hanay mismo 320 00:19:00,780 --> 00:19:02,990 ay magiging ng ibang uri. 321 00:19:02,990 --> 00:19:07,320 >> Kaya kung ano ang talagang cool na tungkol sa data mga frame ay na sa mismong pagsusuri ng data, 322 00:19:07,320 --> 00:19:11,260 na iyong pupuntahan ang lahat ng ito magkakaiba data at lahat ng mga tunay 323 00:19:11,260 --> 00:19:15,640 walang ayos ng mga bagay kung saan ang bawat isa sa mga haligi Maaari kanilang sarili maging ng mga iba't ibang uri. 324 00:19:15,640 --> 00:19:21,460 Kaya dito ako ako sinasabi lumikha ng isang frame ng data, gawin ints 1-3, 325 00:19:21,460 --> 00:19:24,750 at pagkatapos ay mayroon ding na character vector. 326 00:19:24,750 --> 00:19:28,470 Kaya maaari kong index sa pamamagitan ng bawat isa sa mga haligi 327 00:19:28,470 --> 00:19:30,930 at pagkatapos ay magagawa ko na ang mga halaga ng kanilang mga sarili. 328 00:19:30,930 --> 00:19:34,370 At maaari mo ring gawin ang ilang mga pag-uuri ng mga pagpapatakbo sa mga frame ng data. 329 00:19:34,370 --> 00:19:38,040 At karamihan ng mga oras kapag ikaw ay paggawa ng pagsusuri ng data o isang uri 330 00:19:38,040 --> 00:19:42,042 ng preprocessing, ikaw ay nagtatrabaho sa mga kaayusan ng data 331 00:19:42,042 --> 00:19:44,250 kung saan ang bawat haligi ay pagpunta maging ng mga iba't ibang uri. 332 00:19:44,250 --> 00:19:47,880 333 00:19:47,880 --> 00:19:52,970 >> Panghuli, kaya ang mga ito ay lubos na lamang ang apat na mahahalagang bagay sa Listahan R. 334 00:19:52,970 --> 00:19:55,820 ay lamang mangolekta ng anumang iba pang mga bagay na gusto mo. 335 00:19:55,820 --> 00:20:00,130 Kaya mag-iimbak nito ito sa isa variable na maaari mong ma-access madali. 336 00:20:00,130 --> 00:20:02,370 >> Kaya dito, ako ako kumukuha ng isang listahan. 337 00:20:02,370 --> 00:20:04,460 Ako sinasabi mga bagay-bagay ay katumbas ng 3. 338 00:20:04,460 --> 00:20:08,060 Kaya pupuntahan ko mayroon ang isang elemento sa listahan, at ito ay tinatawag na mga bagay-bagay, 339 00:20:08,060 --> 00:20:10,570 at ito ay pagpunta sa may halaga 3. 340 00:20:10,570 --> 00:20:13,140 >> Maaari din ba akong lumikha ng isang matrix. 341 00:20:13,140 --> 00:20:17,970 Kaya ito ay 1-4 at dulo ng hilera ay katumbas ng 2, kaya 2 sa pamamagitan ng 2 matrix. 342 00:20:17,970 --> 00:20:20,270 Gayundin sa listahan at ito ay tinatawag na mat. 343 00:20:20,270 --> 00:20:24,690 moreStuff, isang character na string, at kahit isa pang listahan sa sarili nito. 344 00:20:24,690 --> 00:20:27,710 >> Kaya ito ay isang listahan na 5 at bear. 345 00:20:27,710 --> 00:20:30,990 Kaya mayroon itong ang halaga ng 5 at ito May mga character na string na oso 346 00:20:30,990 --> 00:20:32,710 at ito ay isang listahan sa loob ng listahan. 347 00:20:32,710 --> 00:20:35,965 Kaya maaari kang magkaroon ng mga recursive bagay na kung saan ang 348 00:20:35,965 --> 00:20:38,230 mayroon kang isang another-- -type sa loob ng uri. 349 00:20:38,230 --> 00:20:41,420 Kaya katulad, maaari kang magkaroon ng matrix sa loob ng isa pang matrix at iba pa. 350 00:20:41,420 --> 00:20:44,264 At isang listahan ay isang magandang paraan ng pagkolekta at pagsasama-sama 351 00:20:44,264 --> 00:20:45,430 lahat ng mga iba't ibang mga bagay. 352 00:20:45,430 --> 00:20:50,210 353 00:20:50,210 --> 00:20:57,150 >> At sa wakas, dito ay makakatulong lang sa kasong ito ay lamang nawala sa paglipas ng masyadong mabilis. 354 00:20:57,150 --> 00:21:01,350 Kaya anumang oras ikaw ay naguguluhan tungkol sa isang uri ng pag-andar, 355 00:21:01,350 --> 00:21:03,510 maaari mong gawin sa tulong ng na function. 356 00:21:03,510 --> 00:21:07,120 Kaya maaari mong gawin sa tulong matrix o isang tandang pananong matrix. 357 00:21:07,120 --> 00:21:11,430 At tulong at ng tandang pananong ay shorthand para lamang sa ang parehong bagay 358 00:21:11,430 --> 00:21:13,040 kaya ang mga ito ay mga alias. 359 00:21:13,040 --> 00:21:16,820 >> lm ay isang function na ginagawa lamang ng isang modelo sa guhit. 360 00:21:16,820 --> 00:21:20,340 Ngunit kung walang ideya mo lang kung paano na mga gawa, maaari mo lamang gawin tulong ng lm 361 00:21:20,340 --> 00:21:24,610 at makikita na magbibigay sa iyo ng ilang mga uri ng dokumentasyon na 362 00:21:24,610 --> 00:21:27,960 mukhang uri ng tulad ng isang ang tao na pahina sa Unix, kung saan 363 00:21:27,960 --> 00:21:34,210 mayroon kang isang maikling paglalarawan ng kung ano ang ginagawa nito, din kung ano ang mga argumento nito, 364 00:21:34,210 --> 00:21:38,850 kung ano ito ay nagbalik, at mga tip lamang sa kung paano gamitin ito, at ilang mga halimbawa pati na rin. 365 00:21:38,850 --> 00:21:41,680 366 00:21:41,680 --> 00:21:52,890 >> Kaya hayaan mo akong magpatuloy at palabas ang ilang mga demo ng paggamit R. OK. 367 00:21:52,890 --> 00:21:55,470 Kaya nagpunta ako sa paglipas ng napaka mabilis lang ang data 368 00:21:55,470 --> 00:21:59,440 mga istraktura at isang uri ng op-- ilan sa mga pagpapatakbo. 369 00:21:59,440 --> 00:22:02,960 Narito ang ilang mga pag-andar. 370 00:22:02,960 --> 00:22:06,750 >> Kaya dito ako lamang ng pagpunta upang tukuyin ang isang function. 371 00:22:06,750 --> 00:22:09,970 Kaya ako rin gamit pagtatalaga operator dito, 372 00:22:09,970 --> 00:22:12,610 at pagkatapos ay ako na nagsasabi Ipinahahayag ito bilang isang katangian. 373 00:22:12,610 --> 00:22:14,140 At madadala ang halaga x. 374 00:22:14,140 --> 00:22:18,210 Kaya ito ay anumang halaga na nais mong at Pupunta ako sa bumalik x mismo. 375 00:22:18,210 --> 00:22:20,840 Kaya ito ay ang pag-andar ng pagkakakilanlan. 376 00:22:20,840 --> 00:22:23,670 >> At kung ano ang cool na tungkol sa kumpara sa iba pang mga wika 377 00:22:23,670 --> 00:22:26,330 at isa pang mababang antas wika na x 378 00:22:26,330 --> 00:22:29,350 ay maaaring maging ng anumang uri mismo at ito ay bumalik uri iyon. 379 00:22:29,350 --> 00:22:35,251 Kaya maaari mong imagine-- kaya hayaan tumakbo lang sa akin ito mabilis. 380 00:22:35,251 --> 00:22:35,750 Sorry. 381 00:22:35,750 --> 00:22:40,300 >> Kaya isang bagay na dapat din ko banggitin ay ang editor na ito gumagamit ako 382 00:22:40,300 --> 00:22:41,380 ay tinatawag na rstudio. 383 00:22:41,380 --> 00:22:44,389 Ito ay kung ano ang tinatawag na isang Ide, Kyoto. 384 00:22:44,389 --> 00:22:46,180 At isang bagay na talagang maganda tungkol sa 385 00:22:46,180 --> 00:22:51,500 ay tumutulong ito sa Isinasama ng maraming mga mga bagay na gusto mong gawin sa R ​​mismo 386 00:22:51,500 --> 00:22:53,180 lamang napaka intuitively. 387 00:22:53,180 --> 00:22:55,550 >> Kaya dito ay isang interpreter console. 388 00:22:55,550 --> 00:23:02,160 Kaya katulad, maaari ka ring makakuha ng mga ito console raw lamang sa pamamagitan ng paggawa ng kapital R. 389 00:23:02,160 --> 00:23:05,630 At ito ay eksaktong parehong bagay bilang console. 390 00:23:05,630 --> 00:23:12,210 Kaya ko maaaring gawin lamang id pag-andar x, x, x. 391 00:23:12,210 --> 00:23:16,130 At then-- at pagkatapos na Magiging masarap mismo. 392 00:23:16,130 --> 00:23:19,200 393 00:23:19,200 --> 00:23:21,740 >> Kaya rstudio ay mahusay na dahil mayroon itong console. 394 00:23:21,740 --> 00:23:25,360 Mayroon din itong mga dokumento gusto mo upang tumakbo sa. 395 00:23:25,360 --> 00:23:28,629 At pagkatapos ay may mga ito ng ilang mga variable na maaari mong makita sa environment. 396 00:23:28,629 --> 00:23:30,420 At pagkatapos ay, kung mayroon kang gawin plots, pagkatapos mo 397 00:23:30,420 --> 00:23:33,730 ang maaaring makakita lang ito dito, bilang kabaligtaran sa pamamahala sa lahat ng mga iba't ibang mga bintana 398 00:23:33,730 --> 00:23:35,940 sa pamamagitan ng kanilang mga sarili. 399 00:23:35,940 --> 00:23:40,530 >> Ko talaga personal na gamitin Vim, ngunit ko parang rstudio ay tamang-tama lang 400 00:23:40,530 --> 00:23:44,640 para sa pagkuha ng isang magandang ideya ng kung paano gamitin ang R. Karaniwan, 401 00:23:44,640 --> 00:23:47,040 kapag sinusubukan mong matuto ng ilang mga bagong gawain, 402 00:23:47,040 --> 00:23:49,590 hindi mo nais na pangasiwaan masyadong maraming mga bagay nang sabay-sabay. 403 00:23:49,590 --> 00:23:53,120 Kaya R ay isa lamang very-- rstudio ay isang napakahusay na paraan ng R sa pag-aaral 404 00:23:53,120 --> 00:23:56,760 nang hindi na kinakailangang upang harapin ang lahat ng mga iba pang mga bagay. 405 00:23:56,760 --> 00:23:58,600 >> Kaya dito ako nagpapatakbo id halo. 406 00:23:58,600 --> 00:24:00,090 Nagbalik ito halo. 407 00:24:00,090 --> 00:24:01,740 id 123. 408 00:24:01,740 --> 00:24:04,610 Narito ang isang vector ng integer. 409 00:24:04,610 --> 00:24:08,620 Kaya katulad, dahil maaari ka gumawa ng anumang uri ng halaga, 410 00:24:08,620 --> 00:24:16,060 maaari mong gawin bumabalik id ng x kaya nagbalik ito 1234 at 5. 411 00:24:16,060 --> 00:24:22,210 >> At hayaan mo akong ipakita sa iyo na ang ito ay talagang isang integer. 412 00:24:22,210 --> 00:24:28,800 At katulad, kapag ginawa mo ng klase id x, ito ay magiging integer. 413 00:24:28,800 --> 00:24:34,170 At pagkatapos ay, maaari ring mo ihambing ang dalawa at ito ay TRUE. 414 00:24:34,170 --> 00:24:38,350 Kaya Lalabas na ako kung id ng x ay katumbas ng equals x at abiso 415 00:24:38,350 --> 00:24:39,760 na ito ay nagbibigay sa iyo ng dalawang TRUEs. 416 00:24:39,760 --> 00:24:44,280 Kaya ito ay hindi sinasabi ng mga ang dalawang bagay magkakahawig, 417 00:24:44,280 --> 00:24:46,845 ngunit ang bawat isa sa mga entry sa loob ng vectors magkapareho. 418 00:24:46,845 --> 00:24:50,000 419 00:24:50,000 --> 00:24:52,090 >> Narito ang bounded.compare. 420 00:24:52,090 --> 00:24:58,470 Kaya ito ay bahagyang mas komplikado sa na ito ay may kung kundisyon at iba pa 421 00:24:58,470 --> 00:25:00,960 at pagkatapos ay tumatagal ng dalawang argumento sa isang pagkakataon. 422 00:25:00,960 --> 00:25:02,640 Kaya x ay ng anumang uri. 423 00:25:02,640 --> 00:25:06,280 At ako na nagsasabi na ito pangalawang argumento ay isang. 424 00:25:06,280 --> 00:25:08,380 Maaari itong maging pati na rin ang anumang bagay. 425 00:25:08,380 --> 00:25:12,490 Ngunit sa pamamagitan ng default, ang ito pagpunta sa tumagal 5 kung hindi mo tukuyin ang anumang bagay. 426 00:25:12,490 --> 00:25:16,730 >> Kaya dito pupunta ako upang sabihin kung x ay mas malaki kaysa sa isang. 427 00:25:16,730 --> 00:25:19,220 Kaya kung hindi ko tukuyin ang isang ito, Sinasabi kung x ay mas malaki kaysa 5, 428 00:25:19,220 --> 00:25:20,470 pagkatapos Pupunta ako sa bumalik TRUE. 429 00:25:20,470 --> 00:25:23,230 iba pa, pupunta ako upang bumalik FALSE. 430 00:25:23,230 --> 00:25:24,870 Kaya hayaan mo akong magpatuloy at tukuyin ang mga ito. 431 00:25:24,870 --> 00:25:30,600 432 00:25:30,600 --> 00:25:34,550 >> At ngayon pupuntahan ko tumakbo bounded.compare 3. 433 00:25:34,550 --> 00:25:39,150 Kaya sinasabi nito ay mas mababa sa 3 than-- 3 mas malaki kaysa 5. 434 00:25:39,150 --> 00:25:41,830 Hindi, hindi ito kaya FALSE. 435 00:25:41,830 --> 00:25:46,550 >> At bounded.compare 3 at pupuntahan ko upang ihambing ito gamit ang isang katumbas 2. 436 00:25:46,550 --> 00:25:50,700 Kaya ngayon ako sinasabi ko oo, ngayon ko Gusto ng na maging ibang bagay. 437 00:25:50,700 --> 00:25:52,750 Kaya ako ng pagpunta sa sabihin ng, dapat ay 2. 438 00:25:52,750 --> 00:25:56,640 >> Maaari ko bang alinman sa gawin ang ganitong uri ng pagtatanda o ko sabihin isang katumbas 2. 439 00:25:56,640 --> 00:25:58,720 Ito ay isang mas nababasa sa na kapag ikaw ay 440 00:25:58,720 --> 00:26:01,450 ng pagtingin sa mga tunay kumplikadong pag-andar na 441 00:26:01,450 --> 00:26:08,110 tumagal ng maramihang mga arguments-- at ito maaaring dose-dosenang oftentimes-- lang sinasabi 442 00:26:08,110 --> 00:26:11,140 isang katumbas 2 ay mas nababasa para sa kaya ka na sa paglaon sa hinaharap 443 00:26:11,140 --> 00:26:13,020 malalaman mo kung ano ang iyong ginagawa. 444 00:26:13,020 --> 00:26:17,120 >> Kaya sa kasong ito, ako sinasabi ay 3 mas malaki kaysa 2. 445 00:26:17,120 --> 00:26:18,270 Oo ito ay. 446 00:26:18,270 --> 00:26:22,350 At katulad, maaari ko lang alisin ito at sabihin, 3 mas malaki kaysa sa 2 447 00:26:22,350 --> 00:26:23,440 kung saan ang isang katumbas 2. 448 00:26:23,440 --> 00:26:26,230 At iyon ang TRUE rin. 449 00:26:26,230 --> 00:26:26,730 Oo? 450 00:26:26,730 --> 00:26:29,670 >> Madla: Sigurado ka -e-execute linya sa pamamagitan ng linya? 451 00:26:29,670 --> 00:26:30,670 >> Dustin Tran: Oo Ako. 452 00:26:30,670 --> 00:26:33,900 Kaya kung ano ang ako paggawa dito ay pagkuha ang tekstong ito document-- 453 00:26:33,900 --> 00:26:39,825 at kung ano ang mahusay na tungkol sa rstudio ay na Maaari ba akong magpatakbo lamang ng short-- isang key na shortcut. 454 00:26:39,825 --> 00:26:41,820 Kaya ako ginagawa Control-Enter. 455 00:26:41,820 --> 00:26:44,850 >> At pagkatapos, ako ng paggawa ng mga linya sa dokumento ng teksto 456 00:26:44,850 --> 00:26:46,710 at pagkatapos ng paglalagay sa console. 457 00:26:46,710 --> 00:26:50,800 Kaya dito ako sinasabi ko, bounded.compare at ako paggawa Control-X. 458 00:26:50,800 --> 00:26:52,540 Kaya ko maaaring maubusan lang dito pati na rin. 459 00:26:52,540 --> 00:26:54,920 At pagkatapos na kailangan gawin ang mga linya at pagkatapos ay ilagay ito dito. 460 00:26:54,920 --> 00:26:57,900 At pagkatapos ay katulad, ako maaaring maubusan dito. 461 00:26:57,900 --> 00:27:04,630 At pagkatapos ay lamang panatilihin pagtukoy mga linya sa console tulad na. 462 00:27:04,630 --> 00:27:10,690 >> At kung napansin mo rin ang kulot brace ang naroon tulad ng sa C syntax. 463 00:27:10,690 --> 00:27:13,910 x-- kung ang kung ang kondisyon ay isa ring pagpunta sa gamitin ang mga panaklong at pagkatapos ay 464 00:27:13,910 --> 00:27:15,350 maaari mong gamitin ang iba pa. 465 00:27:15,350 --> 00:27:17,496 Isa pa ay iba kung. 466 00:27:17,496 --> 00:27:21,440 Kaya ito ay magiging x katumbas ay katumbas ng, halimbawa. 467 00:27:21,440 --> 00:27:24,190 468 00:27:24,190 --> 00:27:26,350 At pagkatapos ay pupuntahan ko magbalik ng bagay dito. 469 00:27:26,350 --> 00:27:29,490 >> Pansinin na mayroong dalawang magkaibang bagay dito na nangyayari sa. 470 00:27:29,490 --> 00:27:34,360 Ang isa ay na dito ako pagtukoy bumalik TRUE ang halaga. 471 00:27:34,360 --> 00:27:35,950 Narito lang ako sa sinasabi ng x. 472 00:27:35,950 --> 00:27:39,970 Kaya R habilin karaniwang bilang default tumagal ng huling arguments-- 473 00:27:39,970 --> 00:27:43,510 o gawin ang huling linya ng code, at iyon ay kung ano ang ibinalik. 474 00:27:43,510 --> 00:27:46,920 Kaya dito ito ay pareho bagay na ginagawa return x. 475 00:27:46,920 --> 00:27:49,450 476 00:27:49,450 --> 00:27:50,540 >> At upang ipakita sa iyo. 477 00:27:50,540 --> 00:27:54,000 478 00:27:54,000 --> 00:27:57,052 At pagkatapos ay, ito ay gumagana katulad nito. 479 00:27:57,052 --> 00:27:58,260 Kaya hayaan mo akong magpatuloy sa ito. 480 00:27:58,260 --> 00:28:00,630 >> Kaya iba kung. 481 00:28:00,630 --> 00:28:04,060 At talagang, maaari ba akong bumalik kahit ano Gusto kong. 482 00:28:04,060 --> 00:28:06,680 Kaya hindi ko kahit na mayroon sa balik boolean sa lahat ng oras, 483 00:28:06,680 --> 00:28:08,410 Maaari ko bang isauli lamang ng iba pang bagay. 484 00:28:08,410 --> 00:28:10,670 Kaya ang maaari kong gawin return bear. 485 00:28:10,670 --> 00:28:12,989 >> Kaya kung x ay katumbas ay katumbas ng isang, ito ang nangyayari upang bumalik bear. 486 00:28:12,989 --> 00:28:14,530 Kung hindi man, ito ay pagpunta sa bumalik TRUE. 487 00:28:14,530 --> 00:28:19,310 Maaari ko rin gawin ang isang vector o talagang kahit ano. 488 00:28:19,310 --> 00:28:22,210 >> At normal sa statically -type na wika, 489 00:28:22,210 --> 00:28:23,840 kailangan mong i-tukuyin ang isang uri dito. 490 00:28:23,840 --> 00:28:25,750 At napansin na maaari itong maging anumang bagay lamang. 491 00:28:25,750 --> 00:28:32,400 At R ay matalino sapat na ito ay lamang gawin ito at ito ay gumagana multa. 492 00:28:32,400 --> 00:28:33,620 >> Kaya hayaan mo akong tukuyin ito. 493 00:28:33,620 --> 00:28:39,460 494 00:28:39,460 --> 00:28:41,230 Unexpected-- oh paumanhin. 495 00:28:41,230 --> 00:28:44,336 Dapat ito ay isang dito kulot suhay. 496 00:28:44,336 --> 00:28:44,836 OK. 497 00:28:44,836 --> 00:28:45,336 Ayos. 498 00:28:45,336 --> 00:28:52,580 499 00:28:52,580 --> 00:28:54,530 Lahat ng karapatan. 500 00:28:54,530 --> 00:28:58,250 Kaya ngayon hayaan ihambing ng 3 at isang katumbas ng 3. 501 00:28:58,250 --> 00:29:01,860 Kaya dapat itong return-- yeah-- ang halaga bear. 502 00:29:01,860 --> 00:29:06,740 >> Kaya ngayon ang mas pangkalahatang mga bagay ay tulad ng kung ano ang tungkol sa iba pang mga istraktura ng data. 503 00:29:06,740 --> 00:29:09,110 Kaya mayroon kang ang function na ito. 504 00:29:09,110 --> 00:29:15,360 Ito ay pagpunta upang gumana sa anumang uri ng halaga tulad ng 3 o anumang numero, 505 00:29:15,360 --> 00:29:17,500 sa ibang salita, i-double. 506 00:29:17,500 --> 00:29:19,330 >> Ngunit kung ano ang tungkol sa isang bagay tulad ng isang vector. 507 00:29:19,330 --> 00:29:27,750 Kaya kung ano ang mangyayari kung do-- mo kaya ako pagpunta sa italaga Val sa, sabihin nating, 4-6. 508 00:29:27,750 --> 00:29:31,640 Kaya kung ibabalik ko ito, ito ay isang vector mula sa 4, 5, 6. 509 00:29:31,640 --> 00:29:34,935 >> Ngayon tingnan natin kung ano ang mangyayari kung gagawin ko bounded.compare Val. 510 00:29:34,935 --> 00:29:37,680 511 00:29:37,680 --> 00:29:42,450 Kaya ito ay pagpunta sa magbibigay sa iyo ng 15 1251. 512 00:29:42,450 --> 00:29:46,440 Kaya sa ibang salita, ito ay sinasabi kung tiningnan mo ang kundisyong ito 513 00:29:46,440 --> 00:29:50,040 kaya ang sinasabi nito x Mababa kaysa sa isang o isang bagay. 514 00:29:50,040 --> 00:29:51,880 Kaya ito ay bahagyang nakakalito dahil ngayon 515 00:29:51,880 --> 00:29:53,379 mo lamang ay hindi alam kung ano ang nangyayari sa. 516 00:29:53,379 --> 00:29:58,690 Kaya hulaan ko ang isang bagay na talaga magandang tungkol lamang sinusubukang i-debug 517 00:29:58,690 --> 00:30:04,600 ay na maaari mo lamang gawin Val ay mas malaki kaysa sa isang at tingnan kung ano ang mangyayari doon. 518 00:30:04,600 --> 00:30:09,720 >> Kaya val-- isang ay sa pamamagitan ng default 5 kaya ni lang ako Val mas malaki kaysa 5 hayaan. 519 00:30:09,720 --> 00:30:14,280 Kaya ito ay isang vector FALSE FALSE TRUE. 520 00:30:14,280 --> 00:30:17,206 Kaya ngayon kapag tumitingin ka sa ito, ito ay pagpunta sa sabihin kung, 521 00:30:17,206 --> 00:30:20,080 at pagkatapos ito ay pagpunta sa magbibigay sa iyo ito ay isang vector ng FALSE FALSE TRUE. 522 00:30:20,080 --> 00:30:23,450 >> Kaya kapag kayo na ipasa ang ito sa R, R Walang ideya kung ano ang iyong ginagawa. 523 00:30:23,450 --> 00:30:26,650 Dahil inaasahan ito ng isang single halaga, na isang Boolean, at ngayon 524 00:30:26,650 --> 00:30:29,420 ka na nagbibigay ito ng vector ng boolean. 525 00:30:29,420 --> 00:30:31,970 Kaya bilang default, R ay isa lamang pagpunta sa sabihin kung ano ang ano ba, 526 00:30:31,970 --> 00:30:35,440 Pupunta ako sa ipagpalagay na ikaw ay pagpunta sa gawin ang unang elemento dito. 527 00:30:35,440 --> 00:30:38,320 Kaya pupuntahan ko say-- ako pupunta upang ipalagay na ito ay FALSE. 528 00:30:38,320 --> 00:30:40,890 Kaya ito ang nangyayari upang sabihin hindi, ito ay hindi tama. 529 00:30:40,890 --> 00:30:45,246 >> Katulad nito, ito ay pagpunta sa maging Val katumbas ay katumbas ng isang. 530 00:30:45,246 --> 00:30:47,244 Hindi, paumanhin 5. 531 00:30:47,244 --> 00:30:48,910 At ito ang nangyayari ring maging pati na rin hindi. 532 00:30:48,910 --> 00:30:52,410 Kaya ito ang nangyayari upang sabihin na hindi, hindi TRUE pati na rin kaya 533 00:30:52,410 --> 00:30:53,680 pagpunta sa ibalik ang huli. 534 00:30:53,680 --> 00:30:56,420 535 00:30:56,420 --> 00:31:01,360 >> Kaya ito ay alinman sa isang mabuting bagay o isang masamang bagay, depende kung paano mo tingnan ito. 536 00:31:01,360 --> 00:31:05,104 Dahil kapag ikaw ay paglikha ng mga pag-andar, 537 00:31:05,104 --> 00:31:06,770 hindi mo talaga alam kung ano ang nangyayari sa. 538 00:31:06,770 --> 00:31:10,210 Kaya minsan gusto mo gusto ng isang error, o marahil gusto mo lamang ng isang babala. 539 00:31:10,210 --> 00:31:12,160 Sa kasong ito, R ay hindi ginagawa iyon. 540 00:31:12,160 --> 00:31:14,300 Kaya talagang hanggang sa sa iyo batay off ng kung ano 541 00:31:14,300 --> 00:31:17,310 sa tingin mo ang wika dapat gawin sa kasong ito 542 00:31:17,310 --> 00:31:22,920 kung pumasa ka sa isang vector ng boolean kapag gumagawa ka ng isang kung kondisyon. 543 00:31:22,920 --> 00:31:31,733 >> Kaya sabihin nating mayroon kang ang orihinal ang isa ay may kung iba bumalik TRUE at ikaw ay 544 00:31:31,733 --> 00:31:34,190 pagpunta sa bumalik FALSE. 545 00:31:34,190 --> 00:31:39,300 Kaya isang paraan ng abstracting ito ay kong sabihin 546 00:31:39,300 --> 00:31:41,530 hindi mo kailangan ang kondisyong bagay. 547 00:31:41,530 --> 00:31:47,220 Isa pang bagay ang maaari kong gawin lamang bumabalik ang mga halaga ng kanilang mga sarili. 548 00:31:47,220 --> 00:31:53,240 Kaya kung napansin mo, kung gawin Val ay mas malaki kaysa 5, 549 00:31:53,240 --> 00:31:56,350 ito ay pagpunta upang magbalik ng vector FALSE FALSE TRUE. 550 00:31:56,350 --> 00:31:58,850 >> Siguro ito ay kung ano ang Gusto para bounded.compare. 551 00:31:58,850 --> 00:32:02,940 Gusto mong magbalik ng vector ng boolean kung saan ito ay inihambing sa bawat isa sa mga halaga 552 00:32:02,940 --> 00:32:04,190 sa kanilang mga sarili. 553 00:32:04,190 --> 00:32:11,165 Sa gayon ay maaari mo lamang bounded.compare function na x, ang isang katumbas ng 5. 554 00:32:11,165 --> 00:32:13,322 555 00:32:13,322 --> 00:32:15,363 At pagkatapos ay sa halip ng paggawa ito kung iba ang kondisyon, 556 00:32:15,363 --> 00:32:21,430 Lamang ako ng pagpunta sa bumalik x ay mas malaki kaysa 5. 557 00:32:21,430 --> 00:32:23,620 Kaya kung ito ay totoo, pagkatapos ay ito ang nangyayari upang bumalik TRUE. 558 00:32:23,620 --> 00:32:26,830 At pagkatapos kung hindi, ito ay pagpunta sa bumalik FALSE. 559 00:32:26,830 --> 00:32:30,880 >> At ito ay gumagana para sa ang alinman sa mga istruktura. 560 00:32:30,880 --> 00:32:41,450 Kaya ang maaari kong bounded.compare c 1 6 o 9 at pagkatapos ay ako pagpunta sa sabihin ng katumbas ng 6, 561 00:32:41,450 --> 00:32:42,799 halimbawa. 562 00:32:42,799 --> 00:32:44,840 At pagkatapos nito pupuntahan binibigyan ka ng karapatang Boolean 563 00:32:44,840 --> 00:32:48,240 vector na kayo ay pagdidisenyo. 564 00:32:48,240 --> 00:32:50,660 >> Kaya mga function ay lamang at ngayon ipaalam sa akin lamang 565 00:32:50,660 --> 00:32:54,980 ipakita sa iyo ang ilang mga interactive visual. 566 00:32:54,980 --> 00:32:59,700 Hindi sa tingin ko talaga ako Wi-Fi dito kaya halina sa akin lang maaga 567 00:32:59,700 --> 00:33:01,970 at laktawan ang isa hulaan ko. 568 00:33:01,970 --> 00:33:05,260 >> Ngunit isang bagay na ay malamig-lamig bagaman ay kung kamakailan mo lamang 569 00:33:05,260 --> 00:33:09,600 nais sumubok ng isang bungkos ng iba't-ibang mga utos ng data, 570 00:33:09,600 --> 00:33:13,320 may isang bungkos ng iba't ibang mga dataset na naka paunang naka-load sa R. 571 00:33:13,320 --> 00:33:15,770 Kaya isa sa mga ito ay tinatawag na dataset IRI. 572 00:33:15,770 --> 00:33:18,910 Ito ay isa sa mga pinaka popular mga sa pagkatuto ng machine. 573 00:33:18,910 --> 00:33:23,350 Makikita mo karaniwang gawin lamang ng ilang mga uri ng mga kaso ng pagsubok upang makita kung tumatakbo ang iyong code. 574 00:33:23,350 --> 00:33:27,520 Kaya ipaalam check ng kung ano IRI ay. 575 00:33:27,520 --> 00:33:33,130 >> Kaya bagay na ito ay pagpunta upang maging isang frame ng data. 576 00:33:33,130 --> 00:33:36,000 At ito ay uri ng mahaba dahil Ko lang ang naka-print out ang mga IRI. 577 00:33:36,000 --> 00:33:38,810 Ito ay nagpi-print out ang buong bagay. 578 00:33:38,810 --> 00:33:42,830 Kaya mayroon itong lahat ng mga iba't ibang pangalan. 579 00:33:42,830 --> 00:33:45,505 Kaya IRI ay isang koleksyon ng iba't ibang bulaklak. 580 00:33:45,505 --> 00:33:48,830 Sa kasong ito, Ito ay nagsasabi mo ang mga species ng ito, 581 00:33:48,830 --> 00:33:54,760 lahat ng mga iba't ibang mga lapad at mga haba ng sepalo at petalo ang. 582 00:33:54,760 --> 00:33:58,880 >> At kaya normal, kung na nais mong i-print ang mga IRI, 583 00:33:58,880 --> 00:34:03,680 halimbawa, hindi mo nais na magkaroon ng ito gawin ang lahat ng ito dahil maaari na pumalit 584 00:34:03,680 --> 00:34:05,190 ang iyong buong console. 585 00:34:05,190 --> 00:34:09,280 Kaya isang bagay na tunay ngang maganda ang ulo function. 586 00:34:09,280 --> 00:34:12,929 Kaya kung gagawin mo lang ang ulo IRI, ito ay magbibigay sa iyo 587 00:34:12,929 --> 00:34:17,389 sa unang limang mga hilera, o anim na hulaan ko. 588 00:34:17,389 --> 00:34:19,909 At pagkatapos ay mahusay, mo maaaring tukuyin lamang dito. 589 00:34:19,909 --> 00:34:22,914 Kaya 20-- ito ay magbibigay sa ikaw ang unang 20 mga hilera. 590 00:34:22,914 --> 00:34:24,830 At talagang ako ay uri ng magulat na ito 591 00:34:24,830 --> 00:34:28,770 ibinigay mo sa akin anim kaya hayaan mo akong sige at suriin iris-- o ulo, paumanhin. 592 00:34:28,770 --> 00:34:31,699 593 00:34:31,699 --> 00:34:34,960 At dito bibigyan mo ang dokumentasyon 594 00:34:34,960 --> 00:34:37,960 ng kung ano ang ginagawa ng halaga ulo. 595 00:34:37,960 --> 00:34:40,839 Kaya ito ay nagbabalik ng unang o huling ng isang bagay. 596 00:34:40,839 --> 00:34:42,630 At pagkatapos ay pupuntahan ko tingnan ang mga default. 597 00:34:42,630 --> 00:34:47,340 At pagkatapos nito sinabi ng default pamamaraan ng ulo x at n ay katumbas ng 6L. 598 00:34:47,340 --> 00:34:50,620 Kaya nagbalik ito ang unang anim na mga sangkap. 599 00:34:50,620 --> 00:34:55,050 At katulad kung napansin mo dito, ako Hindi kailangang tukuyin n ay katumbas ng 6. 600 00:34:55,050 --> 00:34:56,840 Sa pamamagitan ng default ginagamit nito ang anim, hulaan ko. 601 00:34:56,840 --> 00:35:00,130 At pagkatapos ay, kapag gusto kong tukuyin ang isang tiyak na halaga, pagkatapos ay maaari kong tingnan din iyon. 602 00:35:00,130 --> 00:35:02,970 603 00:35:02,970 --> 00:35:10,592 >> Kaya na ang ilang mga simpleng utos at narito ang isa pa na just-- na rin, 604 00:35:10,592 --> 00:35:12,550 Can-- ko ito ay talagang isang maliit na mas kumplikado, 605 00:35:12,550 --> 00:35:17,130 ngunit ito ay magdadala lamang ng klase ng bawat haligi ng IRIS dataset. 606 00:35:17,130 --> 00:35:20,910 Kaya ito ay magpapakita sa iyo kung ano ang bawat isa sa mga mga hanay ay nasa tuntunin ng kanilang mga uri. 607 00:35:20,910 --> 00:35:23,665 Kaya sepalo haba ay numero, sepalo lapad ay numero. 608 00:35:23,665 --> 00:35:26,540 Ang lahat ng mga halagang ito ay lamang numeric dahil maaari mong sabihin sa mula sa data na ito 609 00:35:26,540 --> 00:35:29,440 buuin ang mga ito ay lahat ng pagpunta sa numero. 610 00:35:29,440 --> 00:35:34,310 >> At ang mga haligi ng Specie ay magiging isang kadahilanan. 611 00:35:34,310 --> 00:35:37,270 Kaya normal, nais mong isiping ito ay tulad ng isang character na string. 612 00:35:37,270 --> 00:35:48,830 Ngunit kung gagawin mo lang irisSpecies, at pagkatapos ay ako pagpunta sa gawin head 5, 613 00:35:48,830 --> 00:35:51,820 at ito ay pagpunta sa i-print ang unang limang mga halaga. 614 00:35:51,820 --> 00:35:54,150 >> At pagkatapos ay mapapansin ang ganitong antas. 615 00:35:54,150 --> 00:35:58,870 Kaya ito ay saying-- ito ay paraan R ay ng pagkakaroon ng katergoryang mga variable. 616 00:35:58,870 --> 00:36:03,765 Kaya sa halip na lamang pagkakaroon ng string ng character, 617 00:36:03,765 --> 00:36:06,740 mayroon itong mga antas ng pagtukoy kung alin sa mga bagay na ito ay. 618 00:36:06,740 --> 00:36:12,450 >> Kaya hayaan sabihin ng irisSpecies 1. 619 00:36:12,450 --> 00:36:17,690 Kaya kung ano ang gusto mong gawin dito ay ako subsetting sa hanay na Species. 620 00:36:17,690 --> 00:36:21,480 Kaya ito ay tumatagal ng Species ng hanay at pagkatapos ay 621 00:36:21,480 --> 00:36:23,820 ini-index ito upang makuha ang unang elemento. 622 00:36:23,820 --> 00:36:27,140 Kaya ito ay dapat magbigay sa iyo ng setosa. 623 00:36:27,140 --> 00:36:28,710 At ito ay nagbibigay din sa iyo ng mga antas dito. 624 00:36:28,710 --> 00:36:32,812 >> Kaya maaari mo ring ihambing ito sa character na setosa 625 00:36:32,812 --> 00:36:34,645 at ito ay hindi papunta sa maging TRUE dahil ang isa 626 00:36:34,645 --> 00:36:37,940 ay isang iba't ibang mga uri kaysa sa iba pang. 627 00:36:37,940 --> 00:36:40,590 O kaya hulaan ko ito ay totoo dahil R ay higit na matalino kaysa doon. 628 00:36:40,590 --> 00:36:45,420 At tinitingnan nito ito at pagkatapos ay sabi, siguro ito ang gusto mo. 629 00:36:45,420 --> 00:36:51,860 Kaya ito ay pagpunta sa sinasabi ng mga character na string setosa ay katulad ng isang ito. 630 00:36:51,860 --> 00:37:01,290 At pagkatapos ay katulad, maaari kang din-grab lamang ang mga tulad ng iba pa. 631 00:37:01,290 --> 00:37:05,580 >> Kaya na ay ilan lang isang uri ng mabilis na utos ng dataset. 632 00:37:05,580 --> 00:37:08,030 Kaya narito ang ilang paggalugad ng data. 633 00:37:08,030 --> 00:37:11,360 Kaya ito ay isang kaunti pa kasangkot sa pagtatasa ng data. 634 00:37:11,360 --> 00:37:18,340 At ito ay nakuha mula sa ilang bootcamp sa R ​​para sa Berkeley. 635 00:37:18,340 --> 00:37:20,790 >> Kaya library sa ibang bansa. 636 00:37:20,790 --> 00:37:24,880 Kaya pupuntahan ko upang i-load sa isang library na tinatawag na sa ibang bansa. 637 00:37:24,880 --> 00:37:32,460 Kaya ito ay pagpunta sa ninyo akong bigyan read.dta kaya ipagpalagay na mayroon akong dataset na ito. 638 00:37:32,460 --> 00:37:39,000 Ito ay naka-imbak sa kasalukuyang nagtatrabaho direktoryo ng aking console. 639 00:37:39,000 --> 00:37:42,190 Kaya ipaalam sa makita ng kung ano ang pagtatrabaho na direktoryo ay. 640 00:37:42,190 --> 00:37:44,620 >> Kaya narito ang aking direktoryo ng pagtatrabaho. 641 00:37:44,620 --> 00:37:50,040 At basahin ang tuldok na data, ito bagay, ay sinasabi ang file na ito 642 00:37:50,040 --> 00:37:54,650 Matatagpuan sa folder ng data ng ito ang kasalukuyang direktoryo ng pagtatrabaho. 643 00:37:54,650 --> 00:38:00,520 At read.dta ito ay hindi isang default na command. 644 00:38:00,520 --> 00:38:02,760 Sa tingin ko load ko ito sa na. 645 00:38:02,760 --> 00:38:04,750 Ipinapalagay IEI load ko ito sa na. 646 00:38:04,750 --> 00:38:08,115 >> Ngunit kaya read.dta ay hindi papunta sa maging isang default na command. 647 00:38:08,115 --> 00:38:11,550 At iyon ang dahilan kung bakit ka ng pagpunta sa may upang i-load sa aklatang ito package-- 648 00:38:11,550 --> 00:38:14,500 ang paketeng ito na tinatawag na sa ibang bansa. 649 00:38:14,500 --> 00:38:16,690 At kung wala kang ang package, sa palagay ko 650 00:38:16,690 --> 00:38:19,180 dayuhan ay isa sa mga built-in na mga bago. 651 00:38:19,180 --> 00:38:31,150 Kung hindi man, maaari mo ring mo gawin install.packages 652 00:38:31,150 --> 00:38:33,180 at ito ay i-install ang package. 653 00:38:33,180 --> 00:38:36,878 At ito ay magbibigay sa iyo R. Uh, hindi. 654 00:38:36,878 --> 00:38:39,830 655 00:38:39,830 --> 00:38:43,140 At pagkatapos lamang pupuntahan ko ihinto dahil ito Mayroon na akong ito. 656 00:38:43,140 --> 00:38:46,920 >> Ngunit kung ano ang talagang maganda tungkol R ay ang pamamahala ng package 657 00:38:46,920 --> 00:38:48,510 sistema ay napaka-eleganteng. 658 00:38:48,510 --> 00:38:52,470 Dahil mag-iimbak nito ang lahat ng bagay talagang mahusay para sa iyo. 659 00:38:52,470 --> 00:38:59,780 Kaya sa kasong ito, ay ito pagpunta upang mag-imbak ito sa, naniniwala ako, sa library dito. 660 00:38:59,780 --> 00:39:02,390 >> Kaya anumang oras na nais mong -install ang bagong pakete, 661 00:39:02,390 --> 00:39:04,980 ito lamang ay kasing simple ng paggawa install.packages 662 00:39:04,980 --> 00:39:07,500 at R ay pamahalaan ang lahat ang mga pakete para sa iyo. 663 00:39:07,500 --> 00:39:12,900 Kaya hindi mo na kailangang gawin ang isang bagay sa Python, kung saan mayroon kang mga panlabas na pakete 664 00:39:12,900 --> 00:39:15,330 tagapamahala tulad ng papel Anaconda kung saan ikaw ay 665 00:39:15,330 --> 00:39:18,310 doing-- mong i-install ang mga package sa labas ng Python 666 00:39:18,310 --> 00:39:20,940 at pagkatapos ay subukang mong patakbuhin ang mga ito sa iyong sarili. 667 00:39:20,940 --> 00:39:22,210 Kaya ito ay talagang maganda paraan. 668 00:39:22,210 --> 00:39:25,590 >> At install.packages ay nangangailangan ng internet. 669 00:39:25,590 --> 00:39:31,950 Inaabot ito mula sa isang server at ang imbakan na 670 00:39:31,950 --> 00:39:33,960 Kinokolekta ang lahat ng mga pakete ay tinatawag na CRAN. 671 00:39:33,960 --> 00:39:40,690 At maaari mong tukuyin kung aling mga uri ng salamin Gusto mong i-download ang mga pakete mula sa. 672 00:39:40,690 --> 00:39:43,420 >> Kaya dito Iniinom ko dataset na ito. 673 00:39:43,420 --> 00:39:46,240 Ako sa pagbabasa nito in gamit ang function na ito. 674 00:39:46,240 --> 00:39:49,360 Kaya hayaan mo akong magpatuloy at gawin iyon. 675 00:39:49,360 --> 00:39:52,900 >> Kaya sabihin ipagpalagay na ang mayroon kang dataset ito 676 00:39:52,900 --> 00:39:55,550 at mayroon kang ganap walang ideya kung ano ito. 677 00:39:55,550 --> 00:39:58,560 At ito talaga ay lumalabas Medyo madalas sa industriya 678 00:39:58,560 --> 00:40:00,910 kung saan mayroon kang lamang ang mga tonelada at tonelada ng mga bagay na walang ayos 679 00:40:00,910 --> 00:40:02,890 at ang mga ito ay hindi kapani-paniwalang walang label. 680 00:40:02,890 --> 00:40:06,380 Kaya dito mayroon akong ito dataset at hindi ko alam 681 00:40:06,380 --> 00:40:08,400 kung ano ito kaya lang ako na nagpapakita sa suriin ito. 682 00:40:08,400 --> 00:40:10,620 >> Kaya ako ng pagpunta sa gawin unang head. 683 00:40:10,620 --> 00:40:14,190 Kaya ko lagyan ng check ang unang anim na mga haligi ng kung ano dataset na ito ay. 684 00:40:14,190 --> 00:40:21,730 Kaya ito ay estado, pres04, at pagkatapos ay lahat ng mga iba't ibang mga uri ng haligi. 685 00:40:21,730 --> 00:40:25,612 At kung ano ang kawili-wiling dito, tingin ko, ay ang mo 686 00:40:25,612 --> 00:40:27,945 Gusto ipinapalagay na ito ang hitsura tulad ng isang uri ng halalan. 687 00:40:27,945 --> 00:40:30,482 688 00:40:30,482 --> 00:40:32,190 At hulaan ko lang mula sa ng pagtingin sa mga file 689 00:40:32,190 --> 00:40:41,070 pangalanan ito ay isang uri ng koleksyon ng data tungkol sa mga kandidato o botante 690 00:40:41,070 --> 00:40:44,920 bumoto para sa partikular na Pangulo o kandidatong pangulo 691 00:40:44,920 --> 00:40:46,550 para sa halalan 2004. 692 00:40:46,550 --> 00:40:52,920 >> Kaya dito ay mga halaga ng 1, 2 kaya isang paraan ng pag-iimbak 693 00:40:52,920 --> 00:40:56,540 ang mga kandidatong presidente ang kanilang mga pangalan. 694 00:40:56,540 --> 00:40:59,780 Sa kasong ito, mukhang sila lamang ang integer value. 695 00:40:59,780 --> 00:41:04,030 Kaya 2004, ito ay Bush kumpara sa Kerry Naniniwala ako. 696 00:41:04,030 --> 00:41:09,010 At ngayon, sabihin nating mo lamang ay hindi alam kung ang 1 ay tumutugon sa Bush o 2 697 00:41:09,010 --> 00:41:11,703 tumutugon sa Kerry o at kaya sa at iba pa, tama? 698 00:41:11,703 --> 00:41:15,860 >> At ito ay, lamang sa akin, isang walang kinikilingan karaniwang problema. 699 00:41:15,860 --> 00:41:18,230 Kaya kung ano ang maaari mong gawin sa kasong ito? 700 00:41:18,230 --> 00:41:20,000 Kaya ng check ang lahat ng iba pang mga bagay na ipaalam. 701 00:41:20,000 --> 00:41:22,790 >> estado, ako sa pag-aakala na ito ay nagmumula sa iba't ibang mga estado. 702 00:41:22,790 --> 00:41:25,100 partyid, ang kita. 703 00:41:25,100 --> 00:41:27,710 Tingnan natin ang partyid Hayaan. 704 00:41:27,710 --> 00:41:32,800 Kaya marahil isang bagay na maaari mong gawin ay Tingnan natin ang bawat isa sa mga obserbasyon 705 00:41:32,800 --> 00:41:36,250 na magkaroon ng isang partyid ng Republikano o demokrata o isang bagay. 706 00:41:36,250 --> 00:41:38,170 Kaya tingnan lamang ng kung ano ang partyid ay ipaalam. 707 00:41:38,170 --> 00:41:41,946 >> Kaya ako pagpunta sa tumagal dat at pagkatapos ay pupuntahan ko 708 00:41:41,946 --> 00:41:47,960 upang gawin ito dollar sign operator na ako dati 709 00:41:47,960 --> 00:41:50,770 at ito ay pagpunta sa subset sa hanay na iyon. 710 00:41:50,770 --> 00:41:57,760 At pagkatapos ay ako pagpunta sa magtungo ang mga ito sa 20, upang makita kung ano ito mukhang. 711 00:41:57,760 --> 00:42:00,170 >> Kaya ito ay lamang ng grupo ng mga NAs. 712 00:42:00,170 --> 00:42:02,800 Kaya sa ibang salita, mayroon kang Nawawala ang data tungkol sa mga guys. 713 00:42:02,800 --> 00:42:08,100 Ngunit mapapansin ang ganitong ka din dat partyid ay isang kadahilanan 714 00:42:08,100 --> 00:42:10,030 kaya ito ay nagbibigay sa iyo ng iba't ibang mga kategorya. 715 00:42:10,030 --> 00:42:14,170 Kaya sa ibang salita, partyid ay maaaring tumagal ng Demokrata, Republikano, Independent, 716 00:42:14,170 --> 00:42:16,640 o ng iba pang bagay. 717 00:42:16,640 --> 00:42:23,940 >> Kaya sabihin sige at sabihin makita kung alin sa mga is-- naku, ang OK. 718 00:42:23,940 --> 00:42:28,480 Kaya Pupunta ako sa subset sa partyid at pagkatapos ay 719 00:42:28,480 --> 00:42:32,780 tumingin sa kung alin ang mga Demokrata, halimbawa. 720 00:42:32,780 --> 00:42:37,150 Ito ay pagpunta sa magbibigay sa iyo ng Boolean, isang malaking Boolean ng TRUEs at FALSEs. 721 00:42:37,150 --> 00:42:41,630 >> At ngayon, sabihin nating nais ko upang subset sa mga guys. 722 00:42:41,630 --> 00:42:47,260 Kaya ito ay pagpunta sa tumagal ang aking dat at subset sa alinmang mga obserbasyon 723 00:42:47,260 --> 00:42:48,910 Mayroon partyid equals katumbas demokrata. 724 00:42:48,910 --> 00:42:52,830 725 00:42:52,830 --> 00:42:55,180 At ito ay masyadong mahaba dahil may kaya marami sa kanila. 726 00:42:55,180 --> 00:42:59,060 Kaya ngayon, pupunta ako sa magtungo ang mga ito sa 20. 727 00:42:59,060 --> 00:43:05,690 728 00:43:05,690 --> 00:43:11,270 >> At bilang mapansin mo, katumbas equals ay kagiliw-giliw na sa na ikaw ay 729 00:43:11,270 --> 00:43:13,250 already-- din ka kasama ang NAs. 730 00:43:13,250 --> 00:43:19,010 Kaya sa kasong ito, mo pa ring hindi makuha anumang impormasyon dahil mayroon ka na ngayong NAs 731 00:43:19,010 --> 00:43:22,650 at gusto mo lamang makita kung aling mga Ang obserbasyon na tumutugma sa demokrata 732 00:43:22,650 --> 00:43:24,670 at hindi ang mga nawawalang halaga kanilang mga sarili. 733 00:43:24,670 --> 00:43:27,680 Kaya kung paano mo mapupuksa ang mga NAs? 734 00:43:27,680 --> 00:43:36,410 >> Kaya dito ako lamang gamit ang pataas na key sa aking cursor at pagkatapos ay nagsasabi sa paglipat sa paligid. 735 00:43:36,410 --> 00:43:39,778 At pagkatapos dito ako lamang ng pagpunta sasabihin is.na datpartyid. 736 00:43:39,778 --> 00:43:48,970 737 00:43:48,970 --> 00:43:52,720 Kaya ito at at dadalhin dalawang magkaibang Boolean vectors 738 00:43:52,720 --> 00:43:57,160 at sabihin ito ay magiging TRUE at FALSE halimbawa. 739 00:43:57,160 --> 00:43:59,190 Kaya ito ay pagpunta sa gawin ito bahagi-matalino. 740 00:43:59,190 --> 00:44:02,910 Kaya dito ako sinasabi ko tumagal ang frame ng data, subset 741 00:44:02,910 --> 00:44:10,170 sa mga na tumutugma sa demokrata, at alisin ang anuman sa mga ito na hindi NA. 742 00:44:10,170 --> 00:44:13,540 >> Kaya ito will-- dapat magbibigay sa iyo ng isang bagay. 743 00:44:13,540 --> 00:44:16,540 744 00:44:16,540 --> 00:44:17,600 Tingnan natin is.na. Hayaan 745 00:44:17,600 --> 00:44:24,670 746 00:44:24,670 --> 00:44:27,690 Subukan ang is.na datpartyid Hayaan. 747 00:44:27,690 --> 00:44:36,290 748 00:44:36,290 --> 00:44:45,290 At ito ay dapat bigyan you-- sorry-- lamang ng Boolean vector. 749 00:44:45,290 --> 00:44:49,260 At pagkatapos, dahil ito ay kaya mahaba, Pupunta ako sa subset sa 20. 750 00:44:49,260 --> 00:44:49,760 OK. 751 00:44:49,760 --> 00:44:51,570 Kaya ito ay dapat na gumana. 752 00:44:51,570 --> 00:44:54,700 >> At ang isang ito ay din TRUEs. 753 00:44:54,700 --> 00:45:01,830 Ah, kaya ang aking mga error dito ay I'm-- ko gamitin ang C ++ at R salitan kaya gumawa ako 754 00:45:01,830 --> 00:45:03,590 ang pagkakamaling ito sa lahat ng oras. 755 00:45:03,590 --> 00:45:05,807 Ang operator at ang talaga ang iyong gusto. 756 00:45:05,807 --> 00:45:08,140 Hindi mo nais na gamitin ang dalawang ampersand, lamang ng isang solong isa. 757 00:45:08,140 --> 00:45:14,970 758 00:45:14,970 --> 00:45:17,010 OK. 759 00:45:17,010 --> 00:45:18,140 >> Kaya tingnan natin. 760 00:45:18,140 --> 00:45:20,930 761 00:45:20,930 --> 00:45:23,920 Kaya subsetted namin sa partyid kung saan sila handa demokrata 762 00:45:23,920 --> 00:45:25,300 at sila ay hindi nawawala halaga. 763 00:45:25,300 --> 00:45:27,690 At tingnan natin ngayon hayaan kung alin sila bumoto para sa. 764 00:45:27,690 --> 00:45:31,530 Kaya ito ay tila tulad ng karamihan sa mga ito ang bumoto para sa 1. 765 00:45:31,530 --> 00:45:36,090 Kaya ako pagpunta sa sige at sabihin na Kerry. 766 00:45:36,090 --> 00:45:39,507 >> At katulad, maaari kang pumunta din sa Republikano 767 00:45:39,507 --> 00:45:41,090 at sana, ito ay dapat magbigay sa iyo ng 2. 768 00:45:41,090 --> 00:45:49,730 769 00:45:49,730 --> 00:45:51,770 Ito ay lamang ng grupo ng mga iba't ibang mga haligi. 770 00:45:51,770 --> 00:45:53,070 At sa katunayan, ito ay 2. 771 00:45:53,070 --> 00:45:55,750 Kaya partyid lahat ng mga Republikano, karamihan sa mga ito boboto para sa 2. 772 00:45:55,750 --> 00:45:58,390 >> Kaya tulad ng tila, lamang pamamagitan ng pagtingin sa ito, 773 00:45:58,390 --> 00:46:00,600 Republikano ay magiging isang very-- o ang partyid 774 00:46:00,600 --> 00:46:02,790 ay magiging isang napaka malaking salik sa pagtukoy 775 00:46:02,790 --> 00:46:05,420 na kandidato ang mga ito pagpunta sa bumoto para sa. 776 00:46:05,420 --> 00:46:07,120 At ito ay malinaw naman tunay na sa pangkalahatan. 777 00:46:07,120 --> 00:46:10,139 At ito ay tumutugma sa iyong Swersey, siyempre. 778 00:46:10,139 --> 00:46:11,930 Kaya parang tulad ako nauubusan ng oras kaya 779 00:46:11,930 --> 00:46:17,040 hayaan mo akong dapat pumunta lamang magpatuloy at ipakita sa ilang mabilis na mga imahe. 780 00:46:17,040 --> 00:46:21,120 Kaya narito ang isang bagay na bahagyang higit pang mga kumplikadong gamit ang visualization. 781 00:46:21,120 --> 00:46:26,450 Kaya sa kasong ito, ito ay isang napaka simpleng pag-aaral ng lamang-check kung ano 782 00:46:26,450 --> 00:46:28,500 ang pangulo ng '04 ay. 783 00:46:28,500 --> 00:46:33,920 >> Kaya sa kasong ito, sabihin nating sa iyo Nais upang sagutin ang tanong na ito. 784 00:46:33,920 --> 00:46:38,540 Kaya ipagpalagay na gusto naming malaman ang pagboto pag-uugali sa 2004 pangulo halalan 785 00:46:38,540 --> 00:46:41,170 at kung paano nag-iiba na sa pamamagitan ng lahi. 786 00:46:41,170 --> 00:46:44,380 Kaya hindi lamang ang nais mong tingnan ang pag-uugali ng pagboto, 787 00:46:44,380 --> 00:46:47,860 ngunit nais mong subset ng bawat lahi at uri ng sabihin sa maikling pangungusap na iyon. 788 00:46:47,860 --> 00:46:50,770 At maaari mo lamang sabihin sa pamamagitan ng mahirap maintindihan pagtatanda 789 00:46:50,770 --> 00:46:52,580 na ito ay uri ng pagkuha ng mausok. 790 00:46:52,580 --> 00:46:56,390 >> Kaya isa sa mga mas advanced na R pakete na rin uri ng kamakailang 791 00:46:56,390 --> 00:47:00,070 ay tinatawag na dplyr. 792 00:47:00,070 --> 00:47:03,060 Kaya ito ay ang isang ito dito mismo. 793 00:47:03,060 --> 00:47:08,080 At ggg-- ggplot2 lamang sa isang masarap paraan ng paggawa ng mas mahusay na visualization 794 00:47:08,080 --> 00:47:09,400 kaysa sa isang built-in na. 795 00:47:09,400 --> 00:47:11,108 >> Kaya pupuntahan ko upang i-load ang dalawang mga aklatan. 796 00:47:11,108 --> 00:47:13,200 797 00:47:13,200 --> 00:47:16,950 At pagkatapos, Pupunta ako sa pumunta magpatuloy at patakbuhin ang command na ito. 798 00:47:16,950 --> 00:47:19,050 Maaari mo lang ituturing ito bilang isang itim na kahon. 799 00:47:19,050 --> 00:47:23,460 >> Ano ang nangyayari ay na ito pipa operator ay pagpasa sa argumento 800 00:47:23,460 --> 00:47:24,110 sa dito. 801 00:47:24,110 --> 00:47:28,070 Kaya ako sinasabi ko group sa pamamagitan ng dat lahi at pagkatapos ay presidente 04. 802 00:47:28,070 --> 00:47:31,530 At pagkatapos, ang lahat ng mga iba pang utos ay pini-filter at pagkatapos ay buod 803 00:47:31,530 --> 00:47:34,081 kung saan makakakuha ako ng paggawa bilang at pagkatapos ay ako Ang paglalagay ito dito. 804 00:47:34,081 --> 00:47:39,980 805 00:47:39,980 --> 00:47:42,500 OK cool. 806 00:47:42,500 --> 00:47:44,620 Kaya sabihin sige at makita kung ano ito mukhang. 807 00:47:44,620 --> 00:47:52,280 808 00:47:52,280 --> 00:47:57,290 >> Kaya kung ano ang nangyayari dito ay na ako plot lamang bawat isa sa mga karera at pagkatapos ay 809 00:47:57,290 --> 00:47:59,670 kung alin sila bumoto para sa. 810 00:47:59,670 --> 00:48:03,492 At ang mga dalawang magkaibang mga halaga ay tumutugma sa 2 at 1. 811 00:48:03,492 --> 00:48:05,325 Kung nais mong maging higit pa eleganteng, maaari ring mo 812 00:48:05,325 --> 00:48:11,770 tukuyin lamang na 2 ay Kerry-- o 2 ay Bush, at pagkatapos ay 1 Kerry. 813 00:48:11,770 --> 00:48:13,700 At maaari ka ring magkaroon ng na sa iyong alamat. 814 00:48:13,700 --> 00:48:17,410 >> At maaari ka ring hatiin ang mga bar graph. 815 00:48:17,410 --> 00:48:19,480 Dahil ang isang bagay ay na, kung napansin mo, 816 00:48:19,480 --> 00:48:24,560 ito ay hindi madaling makilala kung alin sa mga dalawang mga halaga ay mas malaki. 817 00:48:24,560 --> 00:48:27,920 Kaya ang isang bagay na gusto mo nais na gawin ay tumagal ang asul na lugar 818 00:48:27,920 --> 00:48:31,855 at ilipat ito ng higit lamang sa dito kaya mo Maaari ihambing ang dalawang magkatabi. 819 00:48:31,855 --> 00:48:34,480 At hulaan ko na ang isang bagay ko walang panahon upang gawin ngayon, 820 00:48:34,480 --> 00:48:36,660 ngunit na rin Napakadaling gawin. 821 00:48:36,660 --> 00:48:40,310 Maaari mong tingnan lamang sa ang mga pahina ng tao ng ggplot. 822 00:48:40,310 --> 00:48:47,170 Kaya maaari mo lamang ako ggplot tulad ng na at basahin sa ito tao na pahina. 823 00:48:47,170 --> 00:48:51,920 >> Kaya ipaalam sa akin mabilis lang ipakita sa iyo ang ilang mga cool na bagay. 824 00:48:51,920 --> 00:48:57,610 Sabihin sige at pumunta to-- lamang ng isang application ng pagkatuto ng machine. 825 00:48:57,610 --> 00:49:02,450 Kaya sabihin nating mayroon kaming ang tatlong mga package kaya ako pupunta upang i-load ito sa. 826 00:49:02,450 --> 00:49:05,500 827 00:49:05,500 --> 00:49:09,170 Kaya lamang ng mga Kopya ito ang ilang mga impormasyon pagkatapos kong load sa bagay. 828 00:49:09,170 --> 00:49:15,220 Kaya ako ay sinasabi ko ito read.csv, ito dataset, at ngayon 829 00:49:15,220 --> 00:49:18,940 Pupunta ako sa sige at tumingin at tingnan kung ano ang nasa loob ng dataset na ito. 830 00:49:18,940 --> 00:49:22,080 >> Kaya ang unang 20 mga obserbasyon. 831 00:49:22,080 --> 00:49:27,190 Kaya Mayroon akong lamang X1, X2, at Y. Kaya Mukhang tulad ng isang bungkos ng mga halagang ito 832 00:49:27,190 --> 00:49:31,640 ay sumasaklaw mula siguro 20-80 o kaya. 833 00:49:31,640 --> 00:49:37,700 At pagkatapos ay katulad para sa X2 at pagkatapos ay ito Y Mukhang label ng 0 at 1. 834 00:49:37,700 --> 00:49:49,500 >> Upang i-verify ito, maaari ko gawin lamang X1 buod ng data. 835 00:49:49,500 --> 00:49:51,660 At pagkatapos ay katulad para sa lahat ng mga iba pang mga hanay. 836 00:49:51,660 --> 00:49:55,300 Kaya buod ay isang mabilis na paraan ng lamang ng pagpapakita sa iyo ng mabilis na mga halaga. 837 00:49:55,300 --> 00:49:56,330 Oh, paumanhin. 838 00:49:56,330 --> 00:49:58,440 Isa ito ay dapat na Y. 839 00:49:58,440 --> 00:50:03,420 >> Kaya sa kasong ito, ay nagbibigay sa mga quantiles, medians, maxes pati na rin. 840 00:50:03,420 --> 00:50:07,130 Sa kasong ito, dataY, maaari mong makita ang na ito ay lamang ng pagpunta sa 0 at 1. 841 00:50:07,130 --> 00:50:10,100 Gayundin ang ibig sabihin ay sinasabi 0.6, ang ibig sabihin lamang na ito 842 00:50:10,100 --> 00:50:13,380 tila mayroon akong higit pa sa 1s 0s. 843 00:50:13,380 --> 00:50:16,160 >> Kaya hayaan mo akong magpatuloy at palabas sa iyo kung ano ito mukhang. 844 00:50:16,160 --> 00:50:17,470 Kaya ako lamang ng pagpunta sa plot na ito. 845 00:50:17,470 --> 00:50:22,852 846 00:50:22,852 --> 00:50:24,636 Tingnan natin kung paano i-clear ito Hayaan. 847 00:50:24,636 --> 00:50:30,492 848 00:50:30,492 --> 00:50:31,468 Oh ang OK. 849 00:50:31,468 --> 00:50:35,840 850 00:50:35,840 --> 00:50:36,340 OK. 851 00:50:36,340 --> 00:50:37,590 >> Kaya ito ay kung ano ang mukhang. 852 00:50:37,590 --> 00:50:46,310 Kaya ito ay tila yellows tinukoy ko bilang 0, at pagkatapos ay pula tinukoy ko bilang 1s. 853 00:50:46,310 --> 00:50:52,190 Kaya dito mukhang label na puntos at ito 854 00:50:52,190 --> 00:50:56,410 tila gusto mo lamang ng ilang uri ng clustering sa ito. 855 00:50:56,410 --> 00:51:01,020 >> At ipaalam sa akin pumunta lamang magpatuloy at palabas ilan sa iyo ng mga built-in na pag-andar. 856 00:51:01,020 --> 00:51:03,580 Kaya dito ay lm. 857 00:51:03,580 --> 00:51:06,060 Kaya ito ay nagsusubok lang upang magkasya sa isang linya upang ito. 858 00:51:06,060 --> 00:51:08,640 Kaya kung ano ang pinakamahusay na paraan na maaari kong magkasya sa isang linya tulad 859 00:51:08,640 --> 00:51:14,020 na ito ay pinakamahusay na ihiwalay ang ang ganitong uri ng clustering. 860 00:51:14,020 --> 00:51:21,790 At may perpektong, maaari mong makita lamang na patakbuhin ko lang lahat ng mga utos 861 00:51:21,790 --> 00:51:25,450 at pagkatapos, pupuntahan ko Magpatuloy at idagdag ang linya. 862 00:51:25,450 --> 00:51:28,970 >> Kaya ito ay tila ang pinakamahusay na hula. 863 00:51:28,970 --> 00:51:34,150 Tumatagal ang pinakamahusay na minimizes ang error sa sinusubukan upang magkasya sa linyang ito. 864 00:51:34,150 --> 00:51:40,000 Malinaw, ito ang hitsura ng uri ng mabuti, ngunit ito ay hindi ang pinakamahusay na. 865 00:51:40,000 --> 00:51:43,130 At linear na modelo, sa pangkalahatan, ay magiging 866 00:51:43,130 --> 00:51:46,811 talagang mahusay para sa teorya at pag-uuri lamang ng gusali batayan ng machine 867 00:51:46,811 --> 00:51:47,310 pag-aaral. 868 00:51:47,310 --> 00:51:50,330 Ngunit sa pagsasagawa, na iyong pupuntahan nais na gawin ang isang bagay mas pangkalahatang. 869 00:51:50,330 --> 00:51:54,280 >> Kaya maaari mo lamang subukang patakbuhin isang bagay na tinatawag na neural network. 870 00:51:54,280 --> 00:51:57,110 Mga bagay na ito ay lalong mas karaniwang. 871 00:51:57,110 --> 00:52:00,530 At sila lang gumagana fantastically para sa mga malalaking dataset. 872 00:52:00,530 --> 00:52:07,080 Kaya sa kasong ito, have-- namin lamang ni see-- mayroon kaming nrow ipaalam. 873 00:52:07,080 --> 00:52:09,010 Kaya nrow ay lamang na sinasabi bilang ng mga hilera. 874 00:52:09,010 --> 00:52:11,790 Kaya sa kasong ito, ako May 100 mga obserbasyon. 875 00:52:11,790 --> 00:52:15,010 >> Kaya hayaan mo akong magpatuloy at gumawa ng neural network. 876 00:52:15,010 --> 00:52:18,620 Kaya ito ay talagang maganda dahil maaari ko lang sabihin nnet 877 00:52:18,620 --> 00:52:21,767 at pagkatapos ay ako regressing Y. Kaya ang Y hanay na iyon. 878 00:52:21,767 --> 00:52:23,850 At pagkatapos ay regressing ito sa ang iba pang dalawang variable. 879 00:52:23,850 --> 00:52:27,360 Kaya ito ay mas maikli pagtatanda para sa X1 at X2. 880 00:52:27,360 --> 00:52:29,741 >> Kaya sabihin sige at patakbuhin ang mga ito. 881 00:52:29,741 --> 00:52:30,240 Oh, paumanhin. 882 00:52:30,240 --> 00:52:32,260 Kailangan ko bang patakbuhin ang buong bagay. 883 00:52:32,260 --> 00:52:37,500 At ito ay ang pag-print lamang pagtatanda para sa kung gaano kabilis o hindi mabilis ito 884 00:52:37,500 --> 00:52:38,460 converged. 885 00:52:38,460 --> 00:52:41,420 Kaya mukhang nag magpisan. 886 00:52:41,420 --> 00:52:44,970 Kaya hayaan mo akong magpatuloy at pag-print kung ano ang kamukha. 887 00:52:44,970 --> 00:52:51,260 >> Tingnan dito ang larawan at dito ay isang tabas na nagpapakita kung gaano kahusay ito Tama ang sukat. 888 00:52:51,260 --> 00:52:56,380 At ito ay just-- maaari mong makita ang ito na ito ay napaka, napaka maganda. 889 00:52:56,380 --> 00:52:59,400 Maaaring kahit na ito ay overfitting, ngunit maaari ka ring 890 00:52:59,400 --> 00:53:03,390 account para sa sa iba pang mga diskarte tulad ng cross-pagpapatunay. 891 00:53:03,390 --> 00:53:06,180 At ang mga ito ay binuo din sa R. 892 00:53:06,180 --> 00:53:09,170 >> At hayaan mo akong ipakita sa iyo sumusuporta sa vector machine. 893 00:53:09,170 --> 00:53:12,470 Ito ay isa pang tunay na karaniwang diskarte sa pagkatuto ng machine. 894 00:53:12,470 --> 00:53:18,550 Ito ay halos kapareho sa linear na modelo, ngunit Ginagamit ito sa kung ano ang tinatawag na isang pamamaraan sa kernel. 895 00:53:18,550 --> 00:53:22,790 At tingnan kung gaano kahusay na ginagawa ipaalam. 896 00:53:22,790 --> 00:53:26,430 Kaya ang isang ito ay katulad na katulad sa kung paano na rin ng neural network na gumaganap, 897 00:53:26,430 --> 00:53:27,900 ngunit ito ay mas madali. 898 00:53:27,900 --> 00:53:35,740 At ito ay batay off ng what-- kung paano gumagana ang SVMs. 899 00:53:35,740 --> 00:53:40,250 >> Kaya ito ay lamang ng isang napaka mabilis na pangkalahatang-ideya ng ilang mga 900 00:53:40,250 --> 00:53:43,822 ng built-in na mga function na maaari mong gawin at din ang ilan sa mga paggalugad ng data. 901 00:53:43,822 --> 00:53:45,905 Kaya halina sa akin lang maaga at bumalik sa slide. 902 00:53:45,905 --> 00:53:50,290 903 00:53:50,290 --> 00:53:53,670 >> Kaya malinaw naman, ito ay hindi masyadong komprehensibong. 904 00:53:53,670 --> 00:53:57,140 At ito ay talagang isang teaser lamang na nagpapakita sa iyo kung ano ang maaari mong gawin talaga sa R. 905 00:53:57,140 --> 00:53:59,100 Kaya kung ikaw ay tulad lamang ng upang matuto nang higit pa, dito 906 00:53:59,100 --> 00:54:01,210 ay isang bungkos ng iba't ibang mga mapagkukunan. 907 00:54:01,210 --> 00:54:06,890 >> Kaya kung ikaw ay hibang na hibang ng mga aklat-aralin o ikaw ay mahilig lang ng pagbabasa ng mga bagay na online, 908 00:54:06,890 --> 00:54:09,670 pagkatapos ay ito ay isang hindi kapani-paniwala isa sa pamamagitan ng Hadley Wickham, 909 00:54:09,670 --> 00:54:13,010 na gumawa din ng lahat ng mga talagang cool na package. 910 00:54:13,010 --> 00:54:17,420 Kung ikaw ay hibang na hibang ng mga video, pagkatapos ay Berkeley ay may isang kahanga-hangang bootcamp 911 00:54:17,420 --> 00:54:21,060 na several-- na uri ng haba. 912 00:54:21,060 --> 00:54:24,210 At ito ay magturo sa iyo halos lahat ng bagay na nais mong malaman tungkol sa R. 913 00:54:24,210 --> 00:54:27,770 >> At katulad, may Codeacademy at lahat ng iba pang mga pag-uuri 914 00:54:27,770 --> 00:54:29,414 ng mga interactive na mga website. 915 00:54:29,414 --> 00:54:31,580 Ang mga ito ay nakakakuha rin ng common-- higit pa at mas karaniwang. 916 00:54:31,580 --> 00:54:33,749 Kaya ito ay halos kapareho sa Codeacademy. 917 00:54:33,749 --> 00:54:35,790 At sa wakas, kung ikaw lamang Gusto Komunidad at tulungan, 918 00:54:35,790 --> 00:54:38,800 ito ay isang bungkos ng bagay na maaari mong pumunta sa. 919 00:54:38,800 --> 00:54:40,880 Malinaw, inirerekumenda pa rin gamitin ang mga mailing list, lamang 920 00:54:40,880 --> 00:54:44,860 tulad ng halos bawat iba pang mga programming komunidad wika. 921 00:54:44,860 --> 00:54:47,880 At #rstats, ito ay aming komunidad Twitter. 922 00:54:47,880 --> 00:54:49,580 Iyon ang aktwal na medyo pangkaraniwan. 923 00:54:49,580 --> 00:54:50,850 At pagkatapos ay USER! 924 00:54:50,850 --> 00:54:52,340 Lamang ang aming conference. 925 00:54:52,340 --> 00:54:55,390 >> At pagkatapos ay, siyempre, maaari ka gamitin ang lahat ng mga iba pang mga bagay na Q & A, 926 00:54:55,390 --> 00:54:57,680 tulad ng stack Umaapaw, Google, at pagkatapos ay GitHub. 927 00:54:57,680 --> 00:55:00,490 Dahil ang karamihan ng mga pakete at maraming komunidad 928 00:55:00,490 --> 00:55:03,420 ay nakasentro sa paligid ng pagbuo ng code dahil ito ay open source. 929 00:55:03,420 --> 00:55:05,856 At ito ay lamang talagang maganda sa GitHub. 930 00:55:05,856 --> 00:55:08,730 At panghuli, maaari kang makipag-ugnay sa akin kung mayroon kang lamang ang anumang mga mabilis na mga katanungan. 931 00:55:08,730 --> 00:55:13,530 Upang mahanap ka sa akin sa Twitter dito, aking website, at na lamang ang aking email. 932 00:55:13,530 --> 00:55:17,840 Kaya sana, na noon ay something-- ng maikling teaser lamang 933 00:55:17,840 --> 00:55:20,900 ng kung ano ang R ay talagang may kakayahang paggawa. 934 00:55:20,900 --> 00:55:23,990 At sana, ikaw lamang tingnan ang mga tatlong mga link 935 00:55:23,990 --> 00:55:25,760 at tingnan kung ano ang maaari mong gawin nang higit pa. 936 00:55:25,760 --> 00:55:28,130 At hulaan ko na ang tungkol lamang ito. 937 00:55:28,130 --> 00:55:28,630 Salamat. 938 00:55:28,630 --> 00:55:30,780 >> [Palakpakan] 939 00:55:30,780 --> 00:55:31,968