CONNOR HARRIS: Bado mimi kufikiri baadhi ya video ya kusisimua
zinazozalishwa na ushauri mtaalamu ambayo inatumia R mengi katika kazi yake.
>> NARRATOR: Nini nyuma ya takwimu, analytics, na visualizations
data wanasayansi kwamba leo brightest na viongozi wa biashara kutegemea
kufanya maamuzi yenye nguvu?
Wewe huenda daima kuona.
Lakini ni pale.
Ni wito R, wazi chanzo R-- takwimu lugha ya programu
takwimu ambazo wataalam dunia juu ya matumizi ya kila kitu
kutoka ramani pana kijamii na mwenendo wa masoko online
zinazoendelea kifedha na hali ya hewa mifano ya kwamba kusaidia kuendesha uchumi wetu
na jamii.
>> Lakini nini hasa ni R na wapi R kuanza?
Naam awali, R ilianza hapa na maprofesa wawili
aliyetaka takwimu bora jukwaa kwa wanafunzi wao.
Hivyo wao wameumbwa moja inatokana baada lugha takwimu S.
Wao, pamoja na wengine wengi, naendelea kufanya kazi katika na kutumia R,
kujenga zana kwa ajili R na kutafuta maombi mapya kwa ajili ya R kila siku.
>> Shukrani kwa hii ni juhudi jamii duniani kote,
R naendelea kukua kwa maelfu maktaba user-umba kujengwa
kuongeza R utendaji na umati wa watu-sourced ubora uthibitisho
na msaada kutoka kwa wengi kutambuliwa viongozi wa sekta katika kila shamba hilo
anatumia R. ipi ni kubwa, kwa sababu R ni bora katika nini anafanya.
Chipukizi wataalam haraka na urahisi kutafsiri, kiutendaji na,
na taswira data kuonyesha yao kwa kasi kuongezeka jamii ya watumiaji duniani kote R
na kuona ni jinsi wazi chanzo R inaendelea sura
mustakabali wa takwimu uchambuzi na takwimu sayansi.
>> CONNOR HARRIS: Sawa, kubwa.
Hivyo kuwasilisha yangu mwenyewe itakuwa kidogo na kiasi zaidi.
Itakuwa si kuhusisha kiasi hicho kusisimua historia muziki.
Lakini kama wewe aliona katika video, R ni aina ya ujumla lugha madhumuni ya mpango.
Lakini iliundwa hasa kwa kazi za takwimu.
>> Hivyo ni iliyoundwa kwa ajili ya takwimu, kwa uchambuzi wa data, kwa ajili ya madini data.
Na hivyo unaweza kuona hii katika mengi ya uchaguzi mtindo ambao waandaaji wa R
alifanya.
Ni iliyoundwa kwa ajili kiasi kikubwa, watu ambao si
wataalam katika programu, ambao ni kuokota tu juu ya programu
upande ili waweze kufanya kazi zao katika sayansi ya jamii au katika takwimu
au chochote.
>> Ina mengi ya sana tofauti muhimu kutoka C.
Lakini syntax na mitizamo kwamba anatumia ni mapana huo.
Na unapaswa kujisikia pretty kiasi nyumbani haki mbali bat.
Ni lugha muhimu.
>> Je, si wasiwasi sana kuhusu kwamba kama huna kujua mrefu.
Lakini kuna tofauti kati ya muhimu, declarative,
na kazi.
Muhimu njia tu ya kufanya kauli kwamba kimsingi ni amri.
Na kisha mkalimani au kompyuta ifuatavyo nao moja kwa moja.
Ni weakly typed, kuna hakuna maazimio ya aina katika R.
>> Na kisha mistari kati ya aina tofauti
ni kidogo zaidi kuliko huru wao ni katika C, kwa mfano.
Na kama nilivyosema kuna watu vifaa vya makubwa sana
kwa graphing, kwa takwimu uchambuzi, kwa ajili ya madini data.
Hizi ni wawili kujengwa katika lugha na, kama video akasema,
maelfu ya maktaba chama cha tatu kwamba unaweza kushusha na kutumia bila ya malipo
na hali huru sana leseni.
>> Hivyo kwa ujumla, Ningependa kupendekeza kwamba ukiangalia vitabu hivi viwili
kama wewe ni kwenda kufanya kazi kwenye R. Moja mmoja wao ni rasmi R Beginner
kuongoza.
Ni iimarishwe na watengenezaji msingi ya R.
Unaweza kushusha ni tena, bila ya malipo na kisheria wakati huo kiungo hapo.
Slides yote haya ni kwenda up kwenye mtandao, juu ya CS50 tovuti
baada ya hii ni kosa.
Hivyo hakuna haja ya nakala mambo chini frantically.
>> Mtu mwingine ni vitabu vya kiada na Cosma Shalizi,
ambaye ni profesa takwimu katika Carnegie Mellon, aitwaye Juu Takwimu
Uchambuzi kutoka Point ya msingi ya View.
Hii si hasa kitabu R.
Ni kitabu takwimu na ni kitabu uchambuzi wa data.
Lakini ni kupatikana sana kwa watu ambao na kiasi kidogo cha takwimu maarifa.
>> Sijawahi kuchukuliwa kozi rasmi.
Mimi tu kujua vipande vipande kutoka washirika masomo mbalimbali
kwamba nimekuwa kuchukuliwa kozi katika.
Na mimi alikuwa na uwezo wa kuelewa ni kikamilifu vizuri.
>> Takwimu zote wanapewa katika R. Wao ni kufanywa katika R
na wao pia wana nyimbo kificho chini ya kila takwimu kwamba kukuambia
jinsi ya kufanya kila takwimu na R kanuni.
Na hiyo ndiyo muhimu sana kama wewe ni kujaribu kuiga
baadhi takwimu, unaweza kuona katika kitabu.
>> Na tena bure shusha stat.cmu.edu/cshalizi/ Samahani,
kwamba lazima kufyeka tilde cshalizi.
Mimi itabidi kuhakikisha kusahihisha kwamba wakati slides rasmi kwenda juu.
/ ADAfaEPoV ambayo ni haki kifupi cha jina kitabu.
>> Hivyo ujumla caveats-- R ina mengi ya uwezo.
Mimi tu kwenda kuwa na uwezo wa kufunika uso wa mambo mengi.
Pia sehemu ya kwanza ya semina ni kwenda kuwa kitu cha data dampo.
Nasikitika kabisa juu ya hilo.
Kimsingi, mimi nina kwenda kwa kuanzisha wewe mambo mengi
haki mbali bat, kwenda haraka iwezekanavyo.
Na kisha sisi kupata sehemu ya kujifurahisha, ambayo ni
demo ambapo naweza kuonyesha kila kitu kwamba tumekuwa kuongelea juu ya screen.
Na unaweza kucheza karibu juu yako mwenyewe.
Kwa hiyo, kuna kwenda kuwa mengi ya mambo ya kiufundi kimesababisha hapa.
Msiwe na wasiwasi juu ya kuiga kila kitu chini.
Kwa sababu, unaweza kupata yote mambo juu ya CS50 tovuti baadaye.
Na B, siyo kweli kwamba muhimu kukariri hii kutoka slides.
Ni muhimu zaidi kwamba kupata baadhi kituo Intuitive na hayo
na kwamba linatokana na kucheza tu karibu.
>> Hivyo kwa nini kutumia R?
Kimsingi, kama una mradi huo inahusisha madini seti kubwa data, data
taswira, wewe unapaswa kutumia R. Kama uko
kufanya uchambuzi wa takwimu ngumu, kwamba itakuwa vigumu katika Excel,
Kwa mfano, ingekuwa pia inaweza wakatenda mema, pia
kama wewe ni kufanya takwimu Uchambuzi hiyo moja kwa moja.
Hebu sema wewe ni kudumisha tovuti.
Na unataka kusoma gogo server kila siku na kukusanya baadhi ya orodha,
kama nchi juu kwamba watumiaji yako ni kuja kutoka,
baadhi ya takwimu muhtasari juu ya muda gani wanatumia kwenye tovuti yako au chochote.
Na unataka kukimbia huu kila siku.
>> Sasa kama wewe ni kufanya hili katika Excel, d kuwa na kwenda kwa server logi yako,
kuagiza kwamba katika Excel spreadsheet data,
kukimbia uchambuzi zote manually.
Pamoja R, unaweza tu kuandika script moja.
Ratiba hiyo kuendesha kila siku kutoka mfumo wa uendeshaji wako.
Na kisha kila usiku saa 2:00 asubuhi, au wakati wowote ratiba yake ya kuendesha,
itakuwa kuangalia njia yako internet trafiki kwa siku hiyo.
Na kisha kwa siku ya pili, utasikia kuwa, ripoti hii shiny mpya
au chochote na wote wa Maelezo akaomba.
>> Hivyo kimsingi R ni kwa Cisco programu dhidi Cisco uchambuzi.
Awali ni kosa.
Hebu kupata katika mambo halisi.
Hivyo kuna tatu halisi aina katika lugha.
Kuna numeric aina.
Kuna aina ya tofauti kati integers na pointi yaliyo,
lakini si kweli.
Kuna tabia aina, ambayo ni masharti.
Na kuna mantiki aina, ambayo ni Booleans.
>> Na unaweza kubadilisha kati ya aina kutumia kazi hizo kama numeric,
kama tabia, kama mantiki.
Kama wewe piga, kwa mfano, kama numeric kwenye kamba,
itakuwa kujaribu kusoma kamba kwamba kama idadi, njia ile ile
kwamba a2i na scanf kufanya, na C. Kama wewe piga kama numeric kwenye kweli au uongo
itakuwa kubadilisha na 1 au 0.
Kama wewe piga kama tabia juu ya kitu chochote ni itabidi
kubadilisha kwamba katika uwakilishi kamba.
>> Halafu kulikuwa na wadudu na matrices.
Hivyo kusukuma kimsingi 1 dimensional arrays.
Wao ni kile tunachokiita arrays katika C. Matrices, 2 dimensional arrays.
Na kisha juu dimensional arrays unaweza
3, 4, 5 vipimo au chochote maadili numeric, ya masharti,
ya mantiki maadili.
>> Unaweza pia kuwa na orodha ambayo ni aina ya safu associative.
Mimi itabidi kupata katika kwamba kidogo.
Kwa hiyo, jambo moja muhimu kwamba safari hadi watu katika R
ni kwamba hakuna halisi, safi atomic aina.
Hakuna tofauti halisi kati idadi, kama thamani numeric,
na orodha ya maadili nambari.
Maadili numeric kweli sawa na vectors ya urefu 1.
Na hii ina idadi ya athari muhimu.
Moja, ina maana kwamba unaweza kufanya mambo kwa urahisi sana ambazo zinahusisha
kama vile kuongeza idadi ya vector.
R mapenzi kimsingi takwimu nje nini maana ya jambo hilo.
Na mimi itabidi kupata kwamba katika pili.
Pia ina maana kwamba hakuna njia kwa ajili ya aina checker-- kwa kiasi
kwamba kitu kama hicho ipo katika R-- kuwaambia
wakati umepita katika thamani moja wakati inatarajia safu au kinyume chake.
Na kwamba inaweza kusababisha baadhi ya isiyo ya kawaida matatizo ambayo mimi mbio katika wakati
Mimi nilikuwa kutumia R wakati wa majira yangu kazi.
Na hakuna arrays mchanganyiko wa aina.
Hivyo huwezi kuwa na safu walikuwa mambo ya kwanza ni, mimi sijui,
kamba "John" na kipengele cha pili ni namba 42.
Kama wewe kujaribu kufanya hivyo, basi utasikia kupata kila kitu tu kubadilishwa kwa kamba.
Hivyo tuna kamba John, kamba 42.
>> Kisintaksia hivyo kawaida features-- zaidi R syntax ni sawa na C.
Kuna wachache tofauti muhimu.
Kuandika ni dhaifu sana.
Hivyo hakuna maazimio kutofautiana.
Zoezi anatumia ajabu makosa operator chini ya hyphen.
Maoni ni pamoja na alama hash.
Nadhani sasa siku sisi kuiita alama ingawa hiyo si kweli accurate-- si
mara mbili kufyeka.
>> Mabaki Msimu ni kwa ishara %%.
Integer mgawanyiko ni pamoja na% /% ambayo ni ngumu sana kusoma wakati ni makadirio
up kwenye screen.
Unaweza kupata safu ya integers kwa matumbo.
Hivyo 2,5 nitakupa vector ya namba zote 2 kwa njia ya 5.
>> Arrays ni mmoja indexed, ambayo screws mengi ya watu
up kama uko kutoka zaidi Lugha ya kawaida ya programu,
kama C, ambapo zaidi mambo ni sifuri indexed.
Tena, hii ni mahali ambapo urithi R kama lugha ya kama si
programmers wataalamu huja katika.
Kama uko mwanasosholojia au mchumi au kitu
na wewe ni kujaribu kutumia R kimsingi kama adjunct
kwa yako muhimu zaidi kazi kitaaluma,
wewe ni kwenda kupata mmoja Indexing kidogo zaidi ya asili.
Kwa sababu wewe kuanza kuhesabu saa 1 katika maisha ya kila siku, si 0.
>> Kwa-tanzi, hii ni sawa na foreach kujenga katika PHP,
ambao utakuwa kupata kujifunza in-- pretty hivi karibuni.
Ambayo ni kwa thamani katika vector na basi unaweza kufanya mambo kwa thamani.
Watazamaji: Hiyo kuja katika hotuba.
CONNOR HARRIS: Oh, hiyo ni kuja hotuba, bora.
Watazamaji: zoezi, je, ni zinatakiwa uhakika kutoka kulia kwenda kushoto?
CONNOR HARRIS: Kuanzia kulia kwenda kushoto, ndiyo.
Unaweza kufikiria kama thamani ya haki kumfanyia fujo katika kutofautiana
kwa kushoto.
Watazamaji: Sawa.
>> CONNOR HARRIS: Na hatimaye kazi syntax ni ajabu kidogo.
Una jina kazi foo, kupewa kwa kazi hii keyword, ikifuatiwa
na wote hoja na kisha mwili wa kazi baada ya hapo.
Tena mambo hayo may kuonekana kidogo ajabu.
Wao itabidi kuwa asili ya pili baada ya kazi na lugha kwa kidogo.
Hivyo wadudu, njia wewe kujenga vector
ni wewe aina C, ambayo ni keyword, kisha namba zote unataka au masharti
au chochote.
Hoja pia kuwa wadudu.
Lakini safu kusababisha anapata bapa.
Hivyo huwezi kuwa na arrays ambapo baadhi ya vipengele ni idadi single
na baadhi ya vipengele ni arrays wenyewe.
>> Hivyo kama wewe kujaribu kujenga safu walikuwa kitu cha kwanza ni 4
na kipengele cha pili ni safu 3,5 utasikia
tu kupata mambo matatu safu, 4,3,5.
Hawawezi kuwa na mchanganyiko wa aina.
Kama wewe kujaribu kusoma wala kuandika nje ya mipaka ya vector
utasikia kupata thamani huu inaitwa NA a ambayo inasimamia kwa thamani kukosa.
Na hii ni lengo kwa ajili kama wanatakwimu ambao
ni kufanya kazi na pungufu seti data.
>> Kama wewe kutumia kazi kwamba walidhani kuchukua namba moja tu kwa safu
basi nini utapata ni, kazi itakuwa ramani juu ya safu.
Hivyo kama kazi yako hebu sema inachukua idadi na anarudi ni mraba.
Kuomba kwamba kwa safu 2,3,5 Nini utapata ni safu 4,9,25.
>> Na hiyo ndiyo muhimu sana kwa sababu ina maana wewe
Si lazima kuandika kwa mizunguko kwa kufanya mambo rahisi sana kama kutumia
kazi kwa wanachama wote wa kuweka data.
Ambayo kama wewe ni kufanya kazi na kubwa seti data, una kufanya mengi.
Kazi mapacha ni kutumiwa kuingia kwa kuingia.
Mimi itabidi kupata katika jambo hilo.
Unaweza kupata yao kwa arrays au wadudu na mabano mraba.
Mabano hivyo jina vector mraba 1 nitakupa kipengele kwanza.
Jina Vector mraba mabano 2 nitakupa kipengele cha pili.
>> Unaweza kupita juu vector ya fahirisi na utasikia
kupata nyuma nje kimsingi sababu ndogo.
Hivyo unaweza kufanya vector mabano jina C, 2,4 na utapata nje vector zenye
pili na ya nne mambo ya safu.
Na kama unataka tu haraka muhtasari takwimu
ya vector kama interquartile mbalimbali, wastani, kiwango cha juu, chochote,
unaweza aina tu muhtasari jina vector na kupata kwamba nje.
Hiyo si muhimu kweli kweli katika programu lakini kama wewe ni kucheza
karibu data seti, ni Handy.
>> Matrices-- kimsingi juu ya pande arrays.
Wana huu nukuu syntax maalum.
Tumbo na safu kwamba anapata kujazwa in-- pole, tumbo na data,
idadi ya mistari, idadi ya nguzo.
Wakati una baadhi ya data, huijaza katika safu kimsingi kwenda juu hadi chini
kwanza.
Kisha kushoto kwenda kulia.
Hivyo, kama hiyo.
Na R imejenga katika tumbo kuzidisha,
spectral mtengano, diagonalization, mambo mengi.
Kama unataka juu ya pande arrays, hivyo 3, 4, 5,
au chochote vipimo unaweza kufanya hivyo.
Syntax ni safu finyu sawa na c, kisha orodha ya vipimo.
Hivyo kama unataka 4 dimensional safu na vipimo 4, 7, 8, 9, safu,
hafifu sawa na c (4,7,8,9).
>> Upatikanaji maadili moja kwa mabano kwanza kuingia comma kuingia wa pili.
Unaweza kupata vipande nzima ya safu au nguzo.
Na syntax hii ni pungufu tu mstari idadi comma au comma safu
idadi.
Hivyo orodha ni aina ya kuhusishwa safu.
Wana syntax yao wenyewe hapa.
Tena hawana frantically nakala chini hawa wote.
Hii ni ili watu kwenda kwa slides baadaye
na hii yote katika kumbukumbu nzuri.
Na hii itakuwa mara moja sana ya asili Mimi kwa kweli kutembea kwa njia ya demos.
Hivyo unaorodhesha arrays kimsingi yanayohusiana.
Unaweza kupata maadili na orodha jina, ishara ya dola, muhimu.
Hivyo kama orodha yako ni jina foo, basi unaweza kupata hiyo kama hicho.
Unaweza kupata yote jozi ufunguo thamani kwa kupita katika mraba mabano ripoti.
Kama unaweza kusoma kutoka haupo ufunguo, utapata null.
Itakuwa si kosa.
Suala hapa ni, R tutafanya kama wewe sana na null kama wanaweza.
Na hii ina maana kwamba kama wewe ni hatarajii kupata null nje
baadhi orodha kusoma, utapata baadhi haitabiriki makosa zaidi chini
mstari.
>> Hii ilitokea kwangu yangu majira ya kazi wakati nilikuwa kutumia R
ambapo mimi iliyopita jinsi baadhi ya orodha ilipewa katika doa moja
lakini hakuna mabadiliko baadaye kificho kwamba kusoma maadili kutoka humo.
Na hivyo kile kilichotokea ilikuwa Nilikuwa kusoma null maadili nje ya orodha hii,
kuvigawa katika kazi, na kuwa kuchanganyikiwa sana
nilipofika kila aina ya infinities random mseto juu
katika kazi hii.
Kwa sababu kama wewe kuomba fulani upeo au kazi chini null,
utasikia kupata maadili usio nje.
>> Takwimu muafaka, wao uko Aina ya orodha.
Kila thamani ya kitu vector ya urefu sawa.
Na wao ni kutumika kwa ajili ya kuwasilisha, kimsingi, meza data.
Kuna hii syntax initialization.
Hii itakuwa zote, tena, kuwa na kiasi wazi wakati kupata demo.
Jambo zuri na muafaka data ni kwamba
inaweza kutoa majina kwa nguzo zote na majina ya safu yote.
Na hivyo kwamba inafanya kupata yao kidogo friendlier.
Pia hii ni jinsi kazi zaidi kwamba kusoma katika takwimu kutoka Excel
au kutoka Nakala files, kwa mfano, kusoma katika takwimu zao.
Wao itabidi kuiweka katika aina fulani ya sura data.
Hivyo functions-- kazi syntax ni kidogo weird.
Tena ni jina la kazi, kuwapa, hii kazi keyword na kisha
orodha ya hoja.
Hivyo kuna baadhi ya mambo mazuri kuhusu jinsi kazi kazi hapa.
Kwa moja, unaweza kweli kuwapa maadili ya msingi kwa hoja fulani.
Hivyo unaweza kusema R1 equals-- unaweza kusema foo
ni kazi ambapo R1 sawa na kitu na msingi kama user bayana
hakuna hoja.
Vinginevyo, ni chochote kuweka katika.
Na hii ni Handy sana kwa sababu mengi ya kazi yetu
na mara nyingi kadhaa au mamia ya hoja.
Kwa mfano ndio kwa kupanga njama grafu au kupanga njama kuwatawanya viwanja
na hoja kwamba kudhibiti kila kitu kutoka kichwa na mhimili
maandiko kwa rangi ya mistari kurudi nyuma.
Na hivyo kama wewe hawataki kuwafanya watu kutaja
kila mmoja wa haya mamia ya hoja
kudhibiti kila nyanja moja ya njama au kurudi nyuma au chochote,
ni nzuri na kuwa na maadili haya ya msingi.
>> Na kisha unaweza kweli kuandika kama wewe aliona nyuma hapa.
Au kupata mfano bora.
Wakati wewe piga kazi unaweza kweli kuwaita kwa kutumia majina hoja.
Hivyo hapa ni mfano wa tumbo kuujenga.
Inachukua hoja tatu.
Kwa kawaida una data, ambayo ni vector.
Una N mstari, ambayo ni idadi ya safu.
Una N cols-- idadi ya nguzo.
Suala hapa ni kama aina N mstari sawa na chochote
na N Kanali sawa na chochote wakati wewe ni wito kazi hii,
unaweza kweli kubadili yao.
Hivyo unaweza kuweka N Kanali kwanza na N mstari pili na itafanya hakuna tofauti.
Hivyo hiyo ni nzuri kidogo kipengele.
>> Je, kuagiza na kuuza nje.
Hii inaweza kufanyika, kimsingi.
Pia kuna vituo vya kuandika holela R vitu kwa faili binary
na kisha kusoma yao nyuma katika baadaye.
Ambayo ni sehemu za kama wewe ni kufanya kubwa mwingiliano kikao R
na unahitaji kuokoa mambo kwa haraka sana.
By default R ina directory kazi kuwa mafaili kupata kuandikwa kutoka ndani ya
na kusoma nyuma katika kutoka.
Unaweza kuona kwamba pamoja na getwg, mabadiliko hayo kwa setdw.
Hakuna kitu ya kuvutia hasa hapa
>> Hivyo sasa takwimu halisi stuff-- multilinear regression.
Hivyo syntax kawaida ni kidogo ngumu.
Mfano ni kitu kubwa kimsingi.
Anapata ajili ya Lm, ambayo ni kazi ya wito.
Kitu cha kwanza, y tilde x1 pamoja na chochote.
Syntax yangu hapa ni kidogo utata.
Nasikitika kabisa, hii ni njia standard
kwamba vitabu vya sayansi ya kompyuta kufanya hivyo.
Lakini ni kidogo weird.
>> Hivyo kimsingi, ni lm mabano, kwanza bidhaa
ni kutofautiana pole, tegemezi kutofautiana tilde x1 pamoja x2 pamoja
Hata hivyo wengi wa kujitegemea vigezo una.
Na kisha hizi yanaweza ama kuwa vectors, urefu wote huo.
Au wanaweza kuwa safu headers katika sura data
kwamba wewe tu bayana katika pili hoja data sura.
>> Unaweza pia kutaja fomula ngumu zaidi
hivyo huna kwa mstari regress moja tegemezi kutofautiana,
au vector moja juu ya vector ya awali iliyopo.
Unaweza kufanya, kwa mfano, a sehemu vector y mraba pamoja na 1
na regress kwamba dhidi kuingia ya baadhi vector mengine.
Unaweza magazeti muhtasari wa mfano wa kuigwa na amri hii inaitwa
summary-- muhtasari tu parens mfano wa kuigwa.
Tena kitu kingine ni lazima kufafanua.
Kitu kingine kwamba kupata kusahihishwa wakati slides kwenda kwenye mtandao.
Kama unataka tu kwa mahesabu ya uwiano rahisi
unaweza kutumia uwiano vector 1 vector 2 kazi ya msingi.
Mbinu ni kwa default Pearson mahusiano.
Hao ndio kiwango cha unaweza kufanya.
Kuna pia Spearman na Kendell correlations
ambayo ni baadhi ya aina ya cheo ili uwiano.
Naam hawana mahesabu bidhaa muda mfupi kati ya wadudu wenyewe,
lakini wa cheo amri vector ya.
Mimi itabidi kueleza kwamba baadaye.
>> Watazamaji: Quick swali
>> CONNER HARRIS: Ni kweli.
>> Watazamaji: Hivyo wakati wewe ni kuhesabu kwa mahusiano rahisi kufanya
wewe kudhani kuwa kuna takwimu umuhimu wa uwiano?
CONNER HARRIS: Huwezi kuwa na uhuru.
Lm ni kimsingi tu mashine.
Itachukua katika mambo mawili na itakuwa mate nje
coefficients kwa bora fit line.
Pia ripoti kiwango makosa juu ya coefficients hizo.
Na itakuambia, kama ni kukatiza kitakwimu
au tofauti kutoka 0.
Ni mteremko wa bora fit mstari takwimu
tofauti na sifuri, na kadhalika.
Hivyo inadhaniwa chochote, nadhani ni jibu bora kwa swali lako.
SAWA.
>> Plotting-- hivyo sababu kuu unapaswa kutumia R, kama multilinear regression.
Kimsingi kila lugha ina baadhi kituo kwa ajili hiyo.
Na kwa uaminifu R syntax kwa regression ni kidogo arcane.
Lakini vitimbi ni mahali ambapo kweli huangaza.
>> Workhorse kazi ni njama na inachukua wadudu wawili, x na y.
Na kisha ellipses anasimama kwa sana idadi kubwa ya hoja hiari kwamba
kudhibiti kila kitu kutoka vyeo kwa rangi ya mistari mbalimbali au maeneo mbalimbali,
na aina ya njama.
Unaweza kuwa na kuwatawanya viwanja au mstari viwanja.
>> [Inaudible] 2 vectors ya urefu sawa.
Unaweza kutanguliza huu kwa masharti data sura katika hati yako.
Na hii basi wewe tu kutumia safu headers badala ya kusukuma tofauti.
Unaweza kuongeza bora fit mistari na ndani regression curves kwa graph yako.
>> Amri hizi waliotajwa hapa, ab mstari na mistari,
by default hizi kupata Imeandikwa katika pop up madirisha
kwa sababu inadhaniwa kuwa unatumia R interactively.
Kama huna unaweza kuandika mafaili mawili ambayo
ni katika kweli mfumo wowote Ningependa.
Samahani, nina typo mimi tu barabara.
Kama unataka kufungua kifaa kingine graphical
unaweza kutumia kazi huu inaitwa PNG au JPEG au mengi ya muundo mwingine picha.
Na unaweza kuandika grafu kwa chochote faili jina bayana.
Kufuta kwamba una use-- Sikuweza kuandika hii katika slide--
lakini kuna kazi kuitwa dev nukta mbali kwamba inachukua hakuna hoja.
>> Kisha kuna vituo vya kwa 3D mipango
na kwa contour kupanga njama kama unataka kufanya
grafu ya mbili vigezo huru.
Mimi si kupata katika hizi hivi sasa.
>> Kuna pia baadhi ni vifaa kwa ajili ya uhuishaji
wale ni kawaida iimarishwe na upande wa tatu.
Nimefanya michoro na R grafu, lakini mimi si kutumika hivi chama cha tatu
maktaba.
Hivyo siwezi kushuhudia kwa jinsi nzuri walipo.
Nini mimi kupendekeza kama unataka kufanya michoro kutumia R
ni unaweza kuandika yote ya muafaka kwa michoro
na basi unaweza kutumia chama cha tatu program--
ndio kawaida zinaitwa FFmpeg au ImageMagick-- kushona
wote wa muafaka yako katika moja uhuishaji.
>> Hivyo wakati kwa demo.
Hivyo kama wewe ni kutumia yoyote Unix kama mfumo ambayo ni Linux BSD lakini ambaye anatumia BSD.
OS X kufungua dirisha terminal na aina R katika amri ya haraka.
Kama una R studio au kama kwamba pia kazi.
Kwa watumiaji Windows unapaswa kuwa uwezo wa kupata R katika Mwanzo orodha yako.
Ni lazima kuitwa kitu kama R x64 3 hatua yoyote.
Fungua kuwa hadi hapo.
>> Hivyo sasa napenda tu kufungua dirisha terminal.
Haki wote, utafutaji.
Watazamaji: amri-Nafasi
CONNER HARRIS: amri-Nafasi, asante.
Sina kawaida kutumia Macs.
Terminal, kuonyesha dirisha mpya.
New dirisha ni mazingira msingi, R. Hivyo unapaswa kupata
kuwakaribisha ujumbe, kitu kama hiki.
>> Hivyo mimi nina kutumia R interactively.
Unaweza pia kuandika maandiko R bila shaka.
Kimsingi maandiko kukimbia halisi njia ile ile kama
kama wewe walikuwa wamekaa katika kompyuta kuandika katika kila mstari mmoja kwa wakati.
Basi hebu kuanza kwa kufanya vector.
Mshale C 1, 2.
1, 2, 4.
OK, uhakika.
Siwezi kufanya ukubwa wa herufi kubwa.
>> Watazamaji: amri-Plus
>> CONNER HARRIS: amri-Plus.
Amri-Plus.
Sawa, jinsi hiyo?
Nzuri?
SAWA.
Basi hebu kuanza na kutangaza orodha vector.
Je, mshale, C 1,2,4.
Tunaweza kuona.
Msiwe na wasiwasi juu mabano hapo.
Mabano ni hivyo kama wewe magazeti nje arrays muda mrefu sana, tunaweza wapi.
Mfano mmoja itakuwa kama mimi nataka tu mbalimbali 2-200.
Kama mimi kuchapishwa sana muda mrefu safu, mabano
ni tu hivyo siwezi kuweka wimbo wa ambayo ripoti
sisi ni juu ya kama mimi nina kuangalia kwa njia hii kuibua.
Hivyo hata hivyo, tuna.
>> Hivyo nilivyosema hapo kabla kwamba arrays kuingiliana vizuri mno na, kwa mfano,
shughuli unary kama hii.
Hivyo nini unafikiri mimi itabidi kupata kama mimi aina pamoja na 1?
Yep.
Haki, sasa mimi itabidi kufanya hii safu mbalimbali.
Hebu sema b c 20,40, 80.
Hivyo unafikiri nini amri hii itakuwa nini?
Kuongeza mambo.
Na hivyo kimsingi hiyo ni nini anafanya.
Hivyo hii ni pretty rahisi.
Hivyo mimi vipi kuhusu mimi kufanya hivyo. c ni, hebu sema, mara Juni 01-10.
Basi je, nataka kuona zilizomo, unafikiri?
Basi wote mafungu ya sita.
Sasa, unafikiri nini kitatokea kama mimi kufanya hili?
Mimi itabidi kufanya hii kidogo wazi, c, c.
Hivyo kile kinachotokea, je kufikiri, kama mimi kufanya hili?
pamoja c.
[Inaudible]
>> Watazamaji: Aidha kosa au ni tu anaongeza kwanza mambo matatu.
>> CONNER HARRIS: Si kabisa.
Hii ni nini tulipata.
Kinachojitokeza ni mfupi safu,, got waliendesha.
Hivyo tulipata 124, 124, 124.
Naam.
Na kimsingi, unaweza kuona tabia hii kabla, pamoja na 1,
kama Aina ya tabia hii, ambapo mfupi safu ni idadi tu
1, ambayo ni moja ya kipengele safu.
I just kuwa akisema vector zote wakati badala ya safu,
kwa sababu hiyo ndiyo r nyaraka kawaida gani.
Ni ingrained c tabia.
>> Sawa, na hivyo kwa sasa tuna safu hii.
Hivyo tuna safu hii, c.
Tunaweza kupata muhtasari takwimu juu ya c, muhtasari c.
Na hiyo ndiyo nzuri.
Hivyo sasa hebu kufanya baadhi ya mambo tumbo.
Hebu sema m ni tumbo.
Hebu kufanya hivyo vitatu na tatu moja.
Hivyo nrows sawa na 3, na ncols sawa na 3.
Na kwa data hebu do-- hivyo nini unafikiri hii ni kwenda kufanya?
>> Haki, ni moja ijayo.
Ni nrow na ncolumn.
Hivyo kile nimepata kufanyika ni Nimekuwa alitangaza tatu na tatu tumbo
na nimekuwa kupita katika tisa kipengele safu.
Hivyo logarithm ya yote mambo moja kwa njia ya tisa.
Na maadili ya wale wote kujaza up pole array--?
Watazamaji: Hayo ni msingi 10 magogo?
CONNER HARRIS: Hapana, gogo ni logarithms asili, hivyo wigo wa e.
Naam, kama alitaka msingi 10 gogo, nadhani wewe d kuwa
kuingia chochote, kugawanywa na gogo 10.
Na hivyo data ya [inaudible] tu fyller safu, hivyo juu hadi chini,
kisha kushoto kwenda kulia.
Na kama wewe alitaka kufanya baadhi ya wengine safu, hebu sema n ni tumbo.
Hebu kufanya, sijui, 2 hadi 13.
Au mimi itabidi kufanya kitu zaidi ya kuvutia.
Mimi itabidi kufanya 2 hadi 4.
nrow sawa na, hebu sema, 3.
ncol sawa na 4.
n.
Hivyo sisi tumepewa hii.
>> Na sasa kama tunataka kuzidisha hayo, tunataka kufanya asilimia nyakati asilimia n,
kwa sababu hiyo ni n.
Na tuna bidhaa tumbo.
By wao njia, je, unaweza kuona jinsi wakati mimi alitangaza n, 2 hadi 4
vector got waliendesha mpaka ni kujazwa juu wote wa n?
Kama alitaka kuchukua eigenvalue mtengano,
hili ni jambo tunaweza kufanya kwa urahisi sana.
Tunaweza kufanya Eigen n.
Na hivyo hii ni yetu kwanza kukutana na orodha.
>> Hivyo Eigen n ni orodha na funguo mbili.
Maadili, ambayo ni safu hii hapa.
Na wadudu, ambayo ni hii safu hapa.
Hivyo kama alitaka kutafuta, kusema, safu hii ya tatu
kutoka eigenvectors tumbo, kwa sababu eigenvectors ni wadudu safu.
Hivyo tunaweza kufanya Zaidi sehemu Eigen ishara ya dola n vectors, comma 3, ya [inaudible].
Nyingine.
Ni kwamba, kama unaweza kutarajia.
>> Kisha kusema n mara mara asilimia Nyingine.
Hivyo matokeo hapa hakika inaonekana kama kama sisi alichukua eigenvalue tatu hapa,
ambayo sambamba na eigenvector tatu.
Ni tu kuyagawa kila kitu katika eigenvector hii, sehemu-busara,
na eigenvalue.
Na kwamba ni nini sisi bila kutarajia, kwa sababu hiyo ndiyo eigenvalues ​​ni.
Kuna mtu yeyote hapa si kuchukuliwa algebra linear?
Watu kadhaa, sawa.
Tu kugeuka akili yako mbali kwa kidogo.
Na hakika kama sisi kuchukua Eigen n dola ishara maadili mara 3 Nyingine,
vizuri kupata kitu kimoja.
Ni mpangilio tofauti kama mstari vector badala ya safu vector,
lakini kubwa mpango huo.
Na hivyo wale ni kimsingi nzuri mambo ambayo tunaweza kufanya na matrices,
alionyesha orodha.
Mimi lazima kuonyesha nzuri mambo kuhusu kazi pia.
>> Basi hebu say-- [inaudible] kazi, wito hebu
ni func dhidi kazi n n squared-- kweli, hiyo si kweli bora.
a, b, mraba pamoja b.
Kwa hiyo, jambo moja kuhusu kazi, tena, ni wao
hawana haja ya kauli kurudi wazi.
Hivyo unaweza just-- Kauli ya mwisho tathmini
itakuwa kauli akarudi, au thamani akarudi.
Hivyo katika kesi hii, sisi ni kufanya tathmini ya pekee Kauli moja, mraba pamoja b.
Ambayo itakuwa thamani chaguo-msingi kurudi.
Kamwe machungu ya kuweka katika kurudi maadili waziwazi,
hasa kama wewe ni kushughulika na kazi ya ngumu sana mantiki
kati yake.
Lakini huna haja yao.
Hivyo sasa tunaweza kufanya func 5, 1, na hii ni kimsingi nini d kutarajia.
Kitu kingine tunaweza kufanya, sisi kweli anaweza kufanya func b
sawa na 1, sawa na 5.
Hivyo kama sisi kutaja idadi hapa, ambayo hoja inakwenda ambayo hoja
katika kazi, tunaweza flip kuzunguka maadili haya popote tunataka.
>> Watazamaji: Je, kuna sababu kuandika ni nje na b
sawa kinyume na kutumia tu idadi na comma?
CONNER HARRIS: Yeah, kwa kawaida kufanya hivyo kama una majukumu
na mengi ya hoja.
Ambavyo vinaweza mara nyingi kuwa kama bendera kwamba wewe d tu
wanataka kutumia katika hafla nadra.
Na njia hii unaweza only-- wewe inaweza kutaja hoja maalum
kwamba unataka kutumia maadili zisizo chaguo-msingi kwa,
na huna kuandika kundi la bendera sawa na uongo nyuma yao.
Au siwezi kuandika hii tena na thamani chaguo-msingi kama b sawa na 2.
Na kisha mimi naweza kufanya f func, Mimi itabidi kufanya 4, 1 wakati huu.
Na 17, ambayo ni 4 mraba pamoja na 1, kama unaweza kutarajia.
>> Lakini mimi naweza pia tu wito huu kwa func 4,
na mimi itabidi kupata 18, kwa sababu Mimi si bayana b.
Hivyo b anapata chaguo-msingi thamani ya 2.
>> OK, hivyo sasa kama wewe ni kufuatia pamoja na demo,
aina ya mstari huu kwa amri yako kuchochea na kuona nini anakuja juu.
Kwa kweli, kufanya hivyo.
Aina hii.
Unapaswa kupata kitu kama hiki.
Hivyo mtcars ni kujengwa katika data kuweka kwa maandamano haya
madhumuni kwamba anakuja with-- kwamba anakuja katika na msingi na usambazaji yako r.
Hii ni mkusanyiko wa takwimu kutoka Suala 1974 ya gazeti Motor Mwenendo wa
na idadi ya mifano mbalimbali ya gari.
>> Hivyo kuna maili kwa kila lita, cylinders-- Mimi kusahau kile disp is-- horsepower.
Pengine.
Kama wewe tu magari Google MT, kisha moja ya matokeo ya kwanza
itakuwa kutoka rasmi r nyaraka
na itakuwa kueleza haya yote data mashamba.
Hivyo uzito is-- wt ni uzito wa gari katika tani.
Swali sec ni muda robo maili.
Hivyo sasa tunaweza kufanya baadhi ya mambo ya kujifurahisha kuhusu MT magari ni uwanja data.
>> Hivyo tunaweza kufanya mambo kama majina mstari, mt magari.
Na hii ni orodha ya mistari yote katika data kuweka ambayo ni majina ya magari.
Tunaweza kufanya colnames, mt magari hili.
Kama wewe kufanya mt magari, ndogo ya namba ripoti, kama 2.
tunapata safu ya pili kutoka hii, ambayo itakuwa ni mitungi.
>> Watazamaji: Je, mlifanya nini?
>> CONNER HARRIS: mimi niliandika mt magari, mabano e,
ambayo alinipa pili safu ya nje ya mt magari.
Au kama tunataka mstari, siwezi aina mtcars comma 2, kwa mfano.
Nyingine pande zote 2 comma, namna hiyo.
Na kwamba huenda katika mstari yako.
Hii hapa tu anatoa safu, lakini safu kama vector.
Mimi tu barabara sasa mimi alisahau kuonyesha
baadhi ya mambo ya baridi juu ya wadudu kwamba unaweza kufanya na fahirisi.
Hivyo basi mimi kufanya hivyo hivi sasa.
Basi hebu kufanya c gets-- kuweka huu juu ya pause-- 2 mara 1 mpaka 10.
Hivyo c ni kwenda tu kuwa vector 2 mpaka 20.
Naweza kuchukua mambo kama hii, C2.
Siwezi kupita katika vector kama hii, c-- napenda
kutumia jina tofauti na c, kama Zaidi sehemu c.
Kimsingi, mimi nina kufanya hii ili huna kupata
kuchanganyikiwa kati ya c kama vector ujenzi kazi,
na kisha c kama jina kutofautiana.
Mabano Zaidi sehemu c 4, 5, 7.
Hii itabidi kupata nami nje nne, tano, na mambo saba ya safu.
Siwezi kufanya Nyingine, kuweka katika hasi ripoti, kama hasi 4.
Kwamba kupata nami nje huu kwa kipengele cha nne kuondolewa.
Basi kama nilitaka kufanya vipande, Siwezi kufanya Zaidi sehemu 2 hadi 6.
2 matumbo 6 ni mwingine tu vector, ambayo ni 2, 3, 4, 5, 6.
Mtemi huo.
>> Hivyo hata hivyo, nyuma ya mt magari.
Basi hebu kufanya baadhi regressions.
Hebu sema mfano gets-- hebu mstari regress-- Sijui.
Kwanza hebu kufanya ambatisha mtcars, bila shaka.
Hivyo [inaudible] mfano lm, hebu regress maili kwa kila lita ya tilde uzito.
Na kisha sura data ni mtcars.
Hivyo muhtasari mfano wa kuigwa.
>> OK, hivyo hii inaonekana kidogo ngumu.
Lakini kimsingi, kwa kuwa kama sisi kujaribu kueleza maili kwa kila lita
kama kazi linear ya uzito, kisha tulipata mstari huu hapa,
ambayo intercepts katika 37.28.
37.28 itakuwa maili kinadharia kila lita ya gari ambayo ina uzito sifuri.
Na kisha kwa kila tani za ziada, wewe kubisha maili tano kwa kila lita
mbali ya kwamba.
Wote coefficients hizi Unaweza kuona, kiwango cha makosa huko.
Na wao ni sana kitakwimu.
>> Ili tuweze kuwa na uhakika sana kwa 1 e 10 kwa 10 hasi.
Hivyo 1 mara kitu cha hasi 10, kwamba kama wewe kufanya gari nzito,
itakuwa na maili mbaya kwa kila lita.
Au tunaweza kupima baadhi mfano mmoja.
Kama badala ya regressing hii juu ya uzito,
hebu regress kwenye gogo la uzito, kwa sababu labda uzito ufanisi
juu ya mileage ni namna fulani si linear.
>> Hii alitupa r mraba ya 0.7528.
Basi hebu jaribu hii.
Wakati huu hebu kufanya kutofautiana mbalimbali, pia.
Model2.
Hivyo muhtasari, model2.
Haki wote, hivyo tena, sisi got fit wetu bora mstari hapa.
Na hii time-- hii ni kusema, kimsingi kwamba kila wakati
kuongeza uzito wa gari kwa sababu ya e
wewe kupoteza maili hii wengi kwa kila lita.
>> Na hivyo wakati huu wetu kiwango mabaki kosa it-- hiyo haina jambo, kwa kweli.
Mabaki makosa ya hali ni kimsingi tu makosa ya hali
kwamba umeacha baada kuchukua mstari mwenendo.
Na r yetu mraba hapa ni 0.81, ambayo ni kidogo bora kuliko yale
tulikuwa na kabla, 0.52.
>> Na hivyo sasa hebu kuongeza mrefu kwa kurudi nyuma hii.
Basi hebu regress maili kwa kila lita wote juu ya gogo la uzito
na, hebu kufanya, q maili, robo maili huo.
OK, ni lazima kuwa na the-- sawa, qsec.
Qsec.
Actually-- pole, nini?
Napenda kuwaita hii kitu mwingine zaidi model2.
Napenda kuwaita model3 hii.
Na hivyo sasa tunaweza kufanya muhtasari model3.
Na hivyo tena, hii ni kimsingi nini unaweza kutarajia.
Una kukatiza chanya.
Ufanisi na kuongeza uzito ni hasi.
Na ufanisi kuongeza robo maili muda
ni chanya, lakini ingawa wachache kuliko uzito.
Sasa shirikishi, unaweza kufanya maana ya hii kwa kusema fikiria magari ya michezo.
Kuna kuongeza kasi ya haraka sana, mfupi sana robo maili nyakati.
Wao ni pia kwenda kutumia gesi zaidi, ambapo magari busara zaidi ni kwenda
kuwa polepole kuongeza kasi, juu ya mara robo maili,
na kutumia chini ya gesi ,, hivyo maili ya juu kwa kila lita.
Kubwa.
Na hivyo sasa ni wakati wa njama kitu kama hiki.
Basi hebu do-- hivyo wazi mifupa tunaweza kufanya plots--
kwa sababu nimekuwa masharti sura hii data kabla, tunaweza tu kufanya viwanja, wt mpg.
Kufanya hii kidogo kubwa.
Huko, sisi kimsingi kuwa kuwatawanya njama, lakini pointi
ni aina ya vigumu kuona juu ya hili.
>> Sikumbuki offhand nini syntax ni kwa ajili ya kubadilisha njama.
Kwa hiyo mimi nadhani hii itakuwa wakati mzuri wa kuleta,
kuna nzuri sana msaada builtin kipengele, msaada quotes kazi jina.
Tutaweza kuleta kimsingi kitu chochote Ningependa.
Nadhani itabidi kweli kufanya hii sawa aina p kwa pointi viwanja.
Je, kwamba kubadili jambo lolote?
Na hakuna, si kweli.
Sawa.
>> Kwa sababu fulani, wakati mimi alifanya hivyo kwenye kompyuta yangu mwenyewe wakati iliyopita,
pointi zote kuwatawanya walikuwa wazi sana.
Hata hivyo, ni kuwatawanya aina ya dhahiri?
Kuna moja huko.
Chache huko, chache huko.
Unaweza aina ya kuwaona, sawa?
Hivyo kama tunataka kuongeza bora fit mstari kwa njama hii hapa, ambayo ni kidogo wazi
bones-- napenda kufanya hivyo kidogo nicer.
Kuu sawa na dhidi ya uzito.
Maili kwa kila lita.
Tena, unaweza kuona jinsi muhimu hoja hiari ni hapa kwa pia
kutokuwa na kuweka mambo katika utaratibu fulani kwa hoja keyboard
wakati una viwanja, kwa sababu hizi kuchukua mengi ya hoja.
>> Xlab sawa na uzito, uzito, tani.
Sawa.
OK, yeah, kifaa hiki ni kuwa kidogo annoying.
Lakini unaweza kuona aina ya huko, kuna kichwa graph upande.
Juu hapa there's-- juu ya chini hapa kuna maandiko mhimili.
Sikumbuki offhand nini amri ars--
nini kazi ni kuongeza ukubwa wa maandiko hayo na vyeo,
lakini wao uko pale.
>> Na hivyo kama tunataka kuongeza bora fit line,
tunaweza kufanya kitu kama mimi na syntax kuandikwa hapa.
Basi kumbuka sisi tu kuongeza mfano ilikuwa mpg, uzito, mtcars.
Na hivyo kama nilitaka kuongeza fit bora mstari, mimi naweza kufanya, b mstari mfano wa kuigwa.
Na boom, tuna bora fit line.
Ni aina ya vigumu kuona tena.
Nasikitika kabisa kuhusu matatizo ya kiteknolojia.
Lakini ni anaendesha kimsingi juu kushoto upande wa kulia chini.
>> Na kama wadogo walikuwa kubwa zaidi, unaweza kuona
kwamba kukatiza ni nini unaweza kupata kutoka takwimu muhtasari
kama aina muhtasari mfano wa kuigwa.
OK, hivyo natumaini kila mtu anapata kitu ya maana ya kile
R ni, nini ni nzuri kwa ajili ya.
Unaweza kufanya viwanja mbali nicer kuliko huu juu ya muda wako mwenyewe, kama wewe kama.
>> Hivyo kazi ya nje interface.
Hii ni kitu ambacho si kawaida kufunikwa katika mihadhara ya utangulizi
au utangulizi chochote kwa r.
Siyo uwezekano wewe ni kwenda haja yake.
Hata hivyo, nimeona ni muhimu katika miradi yangu mwenyewe huko nyuma.
Na hakuna nzuri mafunzo kwa ajili yake online.
Hivyo nina kwenda tu kwa kukimbilia wewe wote kwa njia hii
na kisha uko huru kuondoka.
Na hivyo kigeni kazi interface ni nini
unaweza kutumia kuwaita nje kuona kazi na R. Ndani,
R imejengwa juu ya hesabu C. R ni tu C ya hesabu 64-bit hatua floating,
ambayo ni aina mbili [inaudible].
Na unaweza kutaka kufanya huu kwa kundi la sababu.
Kwa moja, R ni kufasiriwa, ni si ulioandaliwa chini ya mashine kanuni.
Hivyo unaweza kuandika upya yako mizunguko ndani katika C na kisha kupata
Faida ya kutumia R. Kama ni kidogo zaidi rahisi zaidi kuliko C.
Ina bora graphing vifaa vya na mengineyo.
Na wakati bado kuwa na uwezo wa kupata kasi ya juu nje ya mizunguko ndani,
ambayo ni ambapo wewe kweli haja yake.
>> Reusing maktaba zilizopo C, hiyo ni muhimu pia.
Kama una baadhi ya C maktaba kwa kama, Sijui, Fourier kuugeuza,
au baadhi Archean sana utaratibu takwimu kutumika
katika nishati astrofysik au kitu, sijui.
Juu ya nishati astrofysik ni hata kufikiri, nadhani.
Lakini unaweza kufanya hivyo badala ya kuwa kuandika bandari ya asili R wao.
Na juu ya the-- na tena, kama kama wewe kuangalia katika maeneo mengi ya maktaba chaguo-msingi R,
juu ya internals, internals ni kwenda kutumia kazi nje
interface sana sana.
Wao itabidi mambo kama Fourier kuugeuza au kompyuta uwiano
coefficients yaliyoandikwa katika C, na wao itabidi tu na R wrappers inayowazunguka.
Interface ni gumu kidogo. nafikiri
ugumu wake ni chumvi katika mengi ya maelekezo utapata.
Lakini hata hivyo, ni kidogo utata.
Na mimi hawajaweza kwa kupata mafunzo mema kwa ajili yake,
hivyo hii ni haki sasa.
Tena, hii sehemu nzima ni zaidi kwa ajili ya kumbukumbu baadaye.
Msiwe na wasiwasi juu ya kuiga kila kitu chini hivi sasa.
Hivyo maelekezo yafuatayo ni kwa Unix-kama,
Linux, BSD, OS X. Sijui jinsi hii matendo juu ya Windows,
lakini tafadhali si tu kufanya yako mradi wa mwisho juu ya Windows.
Wewe kweli sitaki.
Unix ni bora zaidi ya kuweka hadi kwa programu ya kawaida.
Kwa hiyo, kimsingi kigeni kazi interface.
Kama unataka kuandika C kazi kwa ajili ya matumizi na R,
ina kuchukua yote hoja kama kuyatumia.
>> Hivyo kwa maadili moja, hii ina maana ni alisema kwa thamani.
Kwa arrays, hii ni pointer kwa kipengele kwanza, ambayo
ni nini majina safu kweli maana.
Tena, hii ni kitu unapaswa kuwa pretty kabisa chini baada ya kupita kuweka tano.
Majina safu ni kuyatumia tu kwa kipengele kwanza,
Aina floating-kumweka ni mara mbili.
Na kazi yako ana kurudi tupu.
Njia pekee ambayo inaweza kweli kuwaambia R kile kilichotokea
ni kwa kubadilisha kumbukumbu kwamba alitoa R kwa kupitia kazi kigeni
interface.
>> Hivyo nimekuwa imeandikwa huu mfano hapa, hii ni
kazi ambayo computes matumizi dot bidhaa za vectors mbili.
Inachukua hoja mbili, vec1, vec2, ambayo ni wadudu wenyewe,
na kisha n, ambayo ni urefu, kwa sababu tena,
R imejenga katika [inaudible] ili kujua urefu wa wadudu, lakini C hana.
Katika C, vectors ni holela delimited chunk ya kumbukumbu.
Hivyo njia unaweza mahesabu ya nukta bidhaa
ni hii kuweka tu nje parameter na sifuri na kisha iterate kupitia
kuanzia 1 mpaka nyota n, kwa sababu n pointer kwa urefu,
tu kuongeza kitu cha hii nje parameter.
Na inaweza kuwa mazoezi mazuri kama wewe ni kwenda kufanya
huu kuandika mbili tofauti majukumu C.
Mmoja wao has-- mmoja wao tu inachukua hoja na aina
kwamba wangeweza kawaida kuwa katika C.
>> Hivyo Inachukua safu hoja kama kuyatumia.
Lakini hoja moja-thamani kama n, tu inachukua kama maadili na nakala,
bila kuyatumia.
Na kisha hana [Inaudible] nje pointer.
Na kisha unaweza kuwa tofauti, kimsingi,
kanga kazi ambayo kimsingi kinafanya mahitaji
ya kazi kigeni interface kwa ajili yenu.
>> Njia wewe piga huu katika R ni, mara moja una kazi yako imeandikwa katika C,
aina R cmd shlib, R amri ya pamoja maktaba,
foo nukta c, au chochote jina la faili yako ilipo,
na OS shell si katika R wastaafu.
Na hii itakuwa kujenga maktaba kuitwa foo dot hivyo.
Na kisha unaweza mzigo katika Muswada wetu au interactively
na amri Dyn nukta mzigo.
Halafu kuna kazi katika R aitwaye nukta c.
>> Hii inachukua hoja kwamba ni kwanza jina la kazi katika C
kwamba unataka simu.
Na kisha vigezo vyote kwa kazi hiyo,
wao kuwa katika utaratibu sahihi.
Una kutumia hizi aina kazi ya kutumia nguvu kama integer, kama
mara mbili, kama tabia, na kama mantiki.
Na kisha wakati kuirudisha orodha, ambayo tena ni
safu kuhusishwa wa majina parameter na maadili
baada ya kazi umeisha.
>> Hivyo katika kesi hii, kwa sababu nukta Prod ina hoja vec1, vec2, na int n, n nje.
Dot c tuna nukta Prod, jina la kazi
sisi ni wito, vec1, vec2, aina kushinikiza.
Urefu wa ama vector, I just waliamua vec1 kiholela.
Itakuwa imara zaidi kwa kusema s integer dk urefu wa vec1, urefu vec2.
Basi tu kama mara mbili sifuri, kwa sababu sisi si kweli
huduma yale yanayoendelea ndani nje parameter kwa sababu tuko
kuiandaa kwa sifuri hata hivyo.
>> Na kisha matokeo ni kwenda kuwa kubwa kuhusishwa safu ya kimsingi
vec1 ni chochote, vec2 ni chochote.
Lakini sisi ni nia ya nje, ili tuweze kupata kwamba nje.
Hii ni mara ya pili, sana toy mfano ya kazi ya nje interface.
Lakini kama una compute nukta bidhaa za wadudu mkubwa katika mizunguko,
au kama una kufanya kitu kingine katika kitanzi,
na wewe hawataki wanategemea R, ambayo haina kuwa na kidogo ya uendeshaji
kujengwa ndani yake, hii inaweza kuwa na manufaa.
>> Tena, hii si kawaida mada ya utangulizi kwa R.
Siyo vizuri sana kumbukumbu.
Mimi tu ikiwa ni pamoja na ni kwa sababu Nimeona ni muhimu katika siku za nyuma.
Mazoea hivyo, mbaya.
Mimi alieleza kuwa kuna kwa kitanzi katika kazi.
Kwa ujumla unapaswa, katika lugha, si matumizi yake.
Kulingana na jinsi R kutekeleza iteration ndani, inaweza kuwa polepole.
Wao tu pia kuangalia mbaya.
>> R kinafanya wadudu vizuri mno, hivyo mara nyingi huna haja ya kutumia hiyo.
Basi unaweza kawaida kuchukua nafasi vector mara nyingi
kwa kazi hizi inaitwa juu kazi ili, Ramani, Kupunguza,
Kupata, au Filter.
Mimi itabidi kutoa baadhi ya mifano ya nini hawa kufanya.
Ramani ni kubwa ili kazi kwa sababu inachukua kazi kama hoja.
Hivyo unaweza kuwapa kazi, unaweza kuwapa safu,
na itakuwa kuomba kazi kwa kila kipengele cha safu
na kurudi safu mpya.
Kupunguza, kimsingi wewe kutoa ni safu, wewe kuwapa
kazi ambayo inachukua hoja mbili.
Itakuwa kuomba kazi ya kwanza, kwanza hoja na baadhi thamani starter.
Kisha kwa kuwa matokeo katika pili.
Kisha kwa kuwa matokeo katika tatu, kisha kwa kuwa matokeo katika nne.
Na kisha kurudi wakati anapata hadi mwisho.
Hivyo kwa mfano, kama unataka compute Jumla ya mambo yote
katika safu, kuliko unavyoweza kuita kupunguza na [inaudible] kupunguza Mbali
kazi, kama func a, b, kurudi pamoja b.
Na kisha kuanza thamani ya 0.
>> Watu hawa wote unaweza kupata yao ilivyoelezwa katika R nyaraka,
katika yoyote vitabu vya kiada juu ya kazi ya programu.
Kuna pia darasa hili la kazi aitwaye kuomba kazi,
ambayo mimi do not wao uko kidogo vigumu kueleza,
lakini kama ukiangalia katika [inaudible] kadi ya njano kwamba mimi alitoa mfano mwanzoni,
anaelezea yao pretty vizuri katika nyongeza yake juu ya R programu.
Zaidi kuhusu desturi, appending kwa wadudu.
Yeah?
Nadhani lazima kusahihisha jambo hilo.
Katika kwamba mstari wa kwanza, Zaidi sehemu mshale, kwamba mshale haipaswi kuwa hapo.
Unaweza hawawajui kwa vector, tena, na kuchukua urefu wake pamoja na 1
na kumshirikisha baadhi thamani ya jambo hilo.
Ambayo kupanua vector, au wewe anaweza kufanya Zaidi sehemu sawa c, Zaidi sehemu newvalue.
Tena, kama wewe kutumia C kwa Hoja moja kama vector,
uongozi kusababisha anapata bapa.
Hivyo itabidi kupata tu vector hiyo ni kupanuliwa kwa 1.
Kamwe kufanya hivyo.
>> Sababu kwa nini haipaswi kufanya hivyo ni hii.
Wakati kutenga vector, ni anatoa ni chunk fulani ya kumbukumbu.
Kama kuongeza kwamba ukubwa vector, ina reallocate vector
mahali pengine.
Na hivyo uhamishaji ni ghali kabisa.
Mimi si kwenda katika maelezo ya jinsi allocators kumbukumbu zinatekelezwa
katika ngazi ya mfumo wa uendeshaji, lakini inachukua muda mwingi
kupata chunk mpya ya kumbukumbu.
Na pia, kama wewe ni re-kugawa kura na kura
ya kuendelea kubwa chunks, unaishia
na kitu kinachoitwa kumbukumbu kugawanyika,
ambapo kumbukumbu inayopatikana ni imegawanywa katika kura ya vitalu kidogo
katika allocators kumbukumbu hatua ya maoni.
Na anapata vigumu na vigumu kupata kumbukumbu kwa mambo mengine.
Hivyo badala, kama wewe haja ya kufanya hivyo, kama unahitaji kukua vector kutoka upande mmoja
ijayo, badala ya appending hiyo mara kwa mara, unapaswa kabla ya kutenga yake.
Zaidi sehemu mshale, urefu vector sawa 1,000, au chochote.
>> Na kisha unaweza tu kuwapa kwa vector ya maadili moja
muda baada ya umefanya zilizotengwa ni mara moja.
Mimi mbio katika hili, tena, majira yangu kazi wakati mimi nilikuwa kuandika NRA tofauti
equation solver.
Si ishara namba.
Wazo ni kwamba mara moja una thamani moja kwa ufumbuzi wako,
matumizi kwamba compute moja ijayo.
Hivyo asili yangu wasiojua kupendelea ilikuwa ni kusema sawa,
hivyo mimi itabidi kuanza na vector hiyo ni thamani kubwa.
Compute na ile thamani ijayo kwamba huenda kwenye ufumbuzi yangu vector,
na append kwamba.
>> Kujenga kitu kingine, append kwamba.
Ni akaenda sana, polepole sana.
Na mara moja nikagundua hii na mimi iliyopita mfumo wangu
kutoka appending kwa vector hii kama mara 10,000 hadi 100,000,
tu kabla ya kugawa vector na kukimbia tu na kwamba.
I got zaidi ya 1,000 mara kasi.
Hivyo hii ni ya kawaida sana mtego kwa R programu.
Kama unahitaji kujenga vector kipande kwa kipande, kabla ya kutenga yake.
>> Safari nyingine ya kawaida up-- hii ni mwisho wangu slide, hawana worry-- ni kosa utunzaji.
R, kwa kuwa mkweli, hana kweli kufanya hivyo vizuri sana.
Kuna mengi ya matatizo ambayo yanaweza kutokea.
Kwa mfano, kama wewe kupata safu au vector nje ya kazi
kuwa wewe walikuwa wanatarajia moja thamani ya wanatoka, au kinyume chake,
na kupita kwamba katika kazi hiyo wewe aliandika wanatarajia thamani moja,
ambayo inaweza kuwa tatizo.
>> Baadhi ya kazi kurudi null kama kufanya, kusema,
kusoma kutoka haipo muhimu katika orodha.
Lakini null sio kama C ambapo kama wewe kujaribu kusoma
kutoka pointer zamani, [inaudible] kwa null pointer, ni tu seg makosa
na kama wewe ni katika HatiJava yako ni anaelezea kwa uhakika ni wapi.
Badala yake, itakuwa null do-- kazi kufanya mambo haitabiriki
kama uko mitupu null.
Kama kama wewe ni mitupu max null, nitakupa infinity hasi.
Na hivyo, yeah.
Na hivyo hii ilitokea kwangu mara moja wakati mimi nilikuwa
iliyopita kundi la mashamba katika orodha ya muundo yangu
mara moja bila kubadilisha yao mahali pengine wakati mimi nilikuwa kusoma kutoka kwao.
Na kisha I got kila aina ya random matokeo infinity mseto juu
na mimi sijui walikotoka.
Na kwa bahati mbaya, kuna hakuna halisi R hali kali
ambapo unaweza kusema kama kitu fulani Inaonekana kama inaweza kuwa kosa,
kuacha tu pale ili niweze kuwa nidhamu na kurekebisha hiyo.
Hata hivyo, kuna kitu aitwaye stop kama si.
Hii ni sawa na C ya kudai, kama umefanya kuongelea hilo.
Sidhani C kudai ni hotuba ya mada,
lakini kifungu cha kiongozi wako anaweza kuwa wamekwenda juu yake.
Na kuacha kama si kimsingi inachukua yoyote prediketo, hivyo kauli yoyote kwamba
inaweza kuwa kweli au uongo.
Na kama ni uongo, ataacha mpango wake.
Ni anaelezea kwa uhakika nini kujipanga wewe walikuwa kwenye na nini hali alishindwa.
>> Na hii ni muhimu sana, kwa mfano, sanity kuangalia, kazi pembejeo.
Hivyo kama una kazi na unatarajia, kusema,
kama ni lazima nipe tarehe, nataka tarehe kuwa tu vector ya urefu 1
na mahali fulani kati ya 1 na 31.
Na kama sio, mimi kujua kitu ni gone vibaya.
Na mimi kuchagua kuacha hapo kabla huu ina random kubisha juu ya madhara kwa kificho
kwamba ni vigumu kwa kuwaeleza njia ya.
Hivyo hiyo ni moja iwezekanavyo kutumia kwa kuacha kama si.
>> Hata hivyo, sawa.
Hivyo hiyo ni mwisho.
Asante sana kwa kuja.
Mimi ni cheo Amateur katika hili.
Hivyo pole kama wewe ni kuchoka au kuchanganyikiwa au una nini.
Nina furaha kwa kuchukua maswali kwa barua pepe katika connorharris@college.harvard.edu.
Hii inakwenda pia kwa kila mtu kuangalia hii kuishi au baadaye.
Pia, ingawa mimi si TF, mimi pia sana
tayari kutumika kama rasmi mshauri kwa mtu yeyote ambaye ni
kutumia R katika mradi wa mwisho.
>> Kama Ningependa kwa hiyo, basi tu kuzungumza na TF yako
na kisha kuandika barua pepe yangu hivyo Mimi najua kile wewe ni kazi ya
na hivyo siwezi kuanzisha mkutano mara kwa wewe kama unataka.
Hivyo tena, asante sana.
Natumaini walifurahia yake.
>> Watazamaji: [inaudible].
>> CONNER HARRIS: Bila shaka.
>> Watazamaji: Ni aina gani ya mradi ingekuwa CS mwanafunzi kutumia R kwa?
CONNER HARRIS: Hivyo kama wewe ni kufanya kitu ambacho ni rena katika madini data,
Kwa mfano, kuna na mambo mengi
unaweza kufanya na kwamba pamoja na data madini na kujifunza mashine.
Unaweza kutaka kutumia R kwa sehemu ya kitu fulani.
Mimi kuletwa hadi, awali, mfano ya kama wewe ni kuandika tovuti
na unataka kukimbia automatiska uchambuzi wa takwimu za kompyuta yako
magogo wakati fulani kila siku, hiyo inaweza kuwa ni kitu ambacho ni
rahisi sana kufanya katika tu kwa kifupi R script kwamba unaweza ratiba
kuendesha kila usiku, kwa mfano.
>> Na mimi nina uhakika, kama kuna sababu yoyote wewe d
wanataka takwimu au uwezo graphing na kuwa na kukimbia hii moja kwa moja badala
ya kuwa na kuingiliana pamoja na mambo katika Excel,
Kwa mfano, hiyo ni kitu unaweza kutaka kutumia R kwa.
Hivyo maswali yoyote zaidi kabla ya mimi kuondoka?
Hakuna?
Haki wote, vizuri, tena, kumshukuru sana kwa kuja.