[Predvaja glasba] Dustin TRAN: Hi. Moje ime je Dustin. Zato bom predstavila Analiza podatkov v R. Samo malo o sebi. Jaz sem trenutno podiplomski študent v inženiring in Applied Sciences. Študiram stičišče strojno učenje in statistika tako Analiza podatkov iz raziskav je res ključnega pomena za kaj Delam na dnevni osnovi. In R je zlasti dobro za analizo podatkov ker je to zelo dobro za izdelavo prototipov. In ponavadi, ko delaš neko analize podatkov, veliko težav se dogaja, da kognitivnega. In tako si samo želim, da imajo nekateri res dober jezik, je samo dobro za to vgrajenih funkcij, v nasprotju k temu, da se ukvarjajo s stvarmi, nizke ravni. Torej na začetku, sem le, da bo uvesti kar je R, bi zato jo želite uporabiti, in potem šel čez v nekaj demo, in pojdi od tam. Torej, kaj je R? R je samo jezik razvil za statistične računalništvo in vizualizacija. Torej, kaj to pomeni, da je zelo odličen jezik za kakršno koli stvar, ki se ukvarja z Negotovost in vizualizacija podatkov. Torej imate vse to verjetnostne porazdelitve. Tam se bodo vgrajenih funkcij. Prav tako boste imeli odlično ubral pakete. Python je še ena konkurenčna jezik za podatke. In ena stvar, ki se mi zdi, da je R je veliko bolje je vizualizacija. Torej, kaj boste videli v demo kot dobro je le zelo intuitiven jezik da preprosto deluje zelo dobro. Prav tako je brezplačen in open source, kot je vsaka druga dobra jezik I guess. In tu, kup samo Ključne besede vrže na vas. To je dinamičen, kar pomeni, če imate posebna vrsta dodeljena predmetu kot bo to le spremeniti na letenje. To je leni, zato je pametno o tem kako to počne izračune. Funkcionalna kar pomeni, da lahko res deluje temelji off funkcij tako anything-- vsaka vrsta manipulacije ste tem bo temeljil izklop funkcije. Torej binarni subjekti, na primer, so le same po sebi funkcije. In vse, kar se ste tekoč storiti, je dogaja se nogama funkcije sam. In potem objektno kot dobro. Torej, tukaj je xkcd plot. Ne samo zato, ker se počutim kot Xkcd je bistvenega pomena za kakršno koli predstavitve, ampak zato, ker Čutim, da je to res kladiva poudarjajo, da veliko čas, ko delaš neko podatkov Analiza, problem ni toliko, kako hitro teče, ampak kako dolgo se dogaja, da peljal programirati nalogo. Torej, tukaj je samo analizo, ali Strategija ali b je bolj učinkovito. To se bo nekaj, kar ste dogaja, da se ukvarjajo z veliko v Nekako jeziki nizko stopnjo kadar imate opravka z SEG napakami, dodeljevanje pomnilnika, initializations, tudi izdelavo vgrajene funkcije. In te stvari vsi ravnati Zelo, zelo elegantno v R. Torej samo za to kladivo točka, največji ozko grlo se bo kognitivna. Torej, analiza podatkov je zelo težko problem. Ali počnete strojno učenje ali ste početje le nekakšne Osnovno iskanje podatkov, ne želite imeti sprejeti dokument nato pa zbere nekaj, vsakič, ko želite videti, kaj stolpec izgleda, kar zlasti vpisi v matrici izgleda. Torej si samo želim, da imajo nekateri res lepo vmesnik lahko zaženete preprosto funkcijo da so indeksi karkoli bi radi, in šele teči od tam. In morate domeno posebne jeziki za to. In R bo res pomagal opredeliti problem in ga rešiti na ta način. Torej, tukaj je parcela, ki prikazuje programiranje Priljubljenost R, kot je šel skozi čas. Torej, kot lahko vidite, tako kot 2013 ali tako da samo razstrelili strašen. In je bilo to samo zaradi tega velik trend v tehnološki industriji o velikih podatkov. Prav tako ni samo tehnologija industrija, ampak res vsaka industrija that-- ker Veliko industrij so nekakšna temeljnega pomena za poskušajo rešiti te probleme. In ponavadi, imate lahko nekaj dobrega način merjenja teh problemov ali jih celo določanju ali njihovo reševanje z uporabo podatkov. Zato mislim, da prav zdaj R 11 najbolj priljubljen jezik na TIOBE in to je bila vedno od takrat. Torej, tukaj je nekaj več lastnosti R. ima ogromno število paketov in Za vse te različne stvari. Torej, kadarkoli imate določenega problema, najbolj Čas R bo imel da je funkcija za vas. Torej, ali želite zgraditi neke vrste stroja učenje algoritem imenovan Random Forest ali Odločitvena drevesa, ali celo poskušal vzeti povprečje funkcija ali te stvari, R bo imel to. In če se vam je mar optimizacija, ena stvar, ki je skupna je, da se po končaš prototipov nekakšna jezika na visoki ravni, vas bo vrgel da in-- boste samo pristanišče, da več kot do jezika neki nizki ravni. Kaj je dobro o R je, da ko ste storjeno je prototipiranje, lahko zaženete C ++, ali Fortran, ali karkoli od naštetega nižjih ravni neposredno v R. Tako da je ena res kul značilnost o R, če si res skrbi točka optimizacija. In to je tudi res dobra za spletne vizualizacij. Torej D3.js, na primer, je Mislim, da še en seminar ki smo ga predstavili danes. In to je res super za početje interaktivne vizualizacije. In D3.js predpostavlja, da imate neke vrste podatkov, ki jih je treba izrisati in R je odličen način, da lahko naredi analiza podatkov, preden ga izvoziti prenesejo D3.js ali celo samo teči D3.js ukazov v R sama, kot tudi vse te druge knjižnice, kot dobro. Tako da je bil samo uvedba kaj je R in zakaj bi ga lahko uporabljate. Torej, upam, da sem imel Vam je prepričan, kaj o samo poskušam, da vidim kaj je to všeč. Tako da sem šel naprej in iti skozi nekaj osnov o R predmetov in kaj si lahko res. Torej, tukaj je samo kup matematičnih ukazov. Tako pravijo you're-- želite zgraditi Jezik sami in si želite da imajo kup različnih orodij. Kakršnih koli operacije mislite, da bi želijo se precej dogaja, da se v R. Torej, tukaj je 2 plus 2. Tukaj je 2-krat pi. R ima kup vgrajenih konstant da boste pogosto uporabljate, kot pi, e. In potem, tukaj je 7 plus runif, tako runif od 1. To je funkcija, ki je ustvarja eno naključno enotna od 0 do 1. In potem je tukaj še 3 z močjo 4. Tam kvadratni korenine. Tam je dnevnik. Torej, prijavite se bo naredil bazo Eksponentna sama. In potem, če ste določili osnovo, potem lahko narediš karkoli baza hočeš. In potem je tukaj nekaj drugih ukazov. Torej, imate 23 mod 2. Potem imate preostanek. Potem imate znanstveno Zapis, če vas prav želeli narediti več in prav bolj zapletene stvari. Torej, tukaj je naloga. Tako tipične naloge v R se opravi s puščico tako da je manj kot nato vezajem. Torej, tukaj sem samo dodeljevanje 3 spremenljivki val. In potem sem tiskanje val in potem se natisne tri. Privzeto v R tolmača, ga bo izpisal stvari za vas tako da vam ne bi bilo treba navesti natisniti val kadarkoli želite natisniti nekaj. Lahko pač val in potem bo to naredil za vas. Prav tako lahko uporabite je enaka tehnično kot operater odstop. Obstaja malo razlik, med uporabo puščico Operater in Rezultat Operater za naloge. Večinoma po dogovoru vsakogar bo samo uporabo operaterju puščico. In tukaj, sem dodeljevanje te poševni zapis se imenuje 1 črevo 6. To ustvari vektor od 1 do 6. In to je res lepo, ker potem ki ste jo pravkar dodeliti vektor Val in da deluje sama po sebi. Torej, to se že dogaja od single-- zelo intuitiven podatkov Struktura samo enkrat toliko kot leta nekatere vrste tipa v vektor in ki bo zbiral vse skalarni vrednosti za vas. Torej, ko gredo iz skalarne, si imajo R objektov in to je vektor. Vektor je vsaka vrsta Zbiranje istega tipa. Torej, tukaj je kup vektorjev. Torej, to je številčna. Numerična je način r je rekel dvojno. In tako ga privzeto, vsaka Številka bo dvojno. Torej, če imate c od 1,1, 3, negativna 5.7, c je funkcija. To use vse tri številke v vektor. In to tako, če be-- opazite 3 po sebi, normalno bi si domnevati, da je ta kot celo število, ampak zato, ker so vsi vektorji so enakega tipa, To je vektor dvojic ali številska v tem primeru. rnorm je funkcija, ki ustvarja standardna normalna variables-- ali standardne normalne vrednosti. In jaz sem z navedbo dva izmed njih. Torej delam rnorm 2, dodeljevanje da devs, nato pa sem tiskanje devs. Torej, to sta le dva naključne normalne vrednosti. In potem ints, če vam vas skrbi cela. Torej, to je samo o spominu dodeljevanje in varčevanje velikost pomnilnika. Torej bi morali priložiti vaše številke po kapitalu L. Na splošno, to je Zgodovinski zapis r je za nekaj, kar se imenuje dolgo celo število. Torej, večino časa boste se ukvarjajo z dvojic. In če si kdaj bo kasneje za optimizacijo kode, lahko le dodamo ti L's kasneje ali med njim Če ste kot precognitive o tem, kaj boš naredil teh spremenljivk. Torej, tukaj je vektor znak. Torej, še enkrat, jaz sem concatenating trije nizi tokrat. Obvestilo, da dvojne strune in posamezni nizi so enake v R. Torej imam Artur in marvin je in tako ko sem jo tiskanje, vse od njih se dogaja, da pokažejo dvojne strune. In če želite vključiti tudi dvojni ali enojni niz v svoje like, potem lahko bodisi izmenično svoje strune. Torej, marvin je za drugi element, to je vas bo show-- samo še dvojne strune in nato en sam niz tako da je ta izmenično. V nasprotnem primeru, če želite uporabljati dvojni Niz operater v dvojni niz če ste jo, potem samo uporabite operaterja pobeg. Torej vam Nagibnica dvojni niz. In na koncu, smo tudi imajo logične vektorjev. Torej logical-- tako TRUE in FALSE, in oni dogaja, da so vse velike tiskane črke. In potem še enkrat, jaz sem concatenating jim in jih nato dodelite do bools. Torej bools se dogaja, da pokažejo si TRUE, FALSE in TRUE. Torej, tukaj je vektorske indeksiranje. Torej, v začetku sem sem ob a function-- To se imenuje sequence-- sekvenca od 2 do 12. In jaz sem ob zaporedje z 2. Tako se dogaja, da storijo 2, 4, 6, 8, 10 in 12. In potem sem indeksiranje da bi dobili tretji element. Torej, ena stvar, da v mislih je, da so indeksi R z začetkom od 1.. Torej Vals 3 se dogaja, da vam tretji element. To je vrsta razlikuje od drugih jezikov, kjer se začne iz ničle. Torej, v C ali C ++, na primer, da ste bo dobil četrti element. In tukaj je vals od 3. do 5.. Torej, ena stvar, ki je res kul je, da vas lahko ustvarjajo začasne spremenljivke v notranjosti in potem samo jih uporabiti na letenje. Torej, tukaj je 3 do 5. Tako da sem generiranje vektorja 3, 4 in 5 ter nato Jaz sem indeksiranje, da bi dobili tretjino, četrti in peti elementi. Torej podobno, lahko abstraktna to pač kakršno koli vektorja ki vam omogoča indeksiranje. Torej, tukaj je Vals in nato prvi, tretji in šesti elementi. In potem, če hočeš narediti dopolnilo, da si naredil minus nato, da bom vam vse, kar ni prva, tretja ali šesti element. Torej bo to 4, 8 in 10. In če želite, da bi dobili še bolj napredno, lahko sestavite logičnih vektorjev. Tako da je ta indeks se dogaja, da vam ta logični vektor dolžine 6. Torej rep TRUE vejica 3. To bo ponovil PRAVILNO trikrat. Torej, to Da vam bo dal vektor TRUE, TRUE, TRUE. rep FALSE 4-- to se dogaja, da vam vektor FALSE, FALSE, FALSE, FALSE. In potem c se bo združevanje ti dve Booleans skupaj. Tako boste dobili tri TRUEs in nato štiri FALSEs. Tako da, ko indeks vals, ste bo dobil TRUE, TRUE, TRUE. Tako, da se dogaja, da pravijo, da, Hočem te tri elemente. In potem FALSE, FALSE, FALSE, FALSE se dogaja reči ne, nočem tiste elemente tako da ne gre za njihovo vrnitev. In mislim, da je dejansko slovnične tukaj ker je to rekel, ponovite TRUE 3 in ponovite FALSE 4, in tehnično vas imajo le šest elementov, tako da ponovite FALSE, bi moralo biti ponovite FALSE 3. Mislim, R je tudi dovolj pameten, kot da če si določite 4 tukaj, potem da ne bo niti napak ven. To vam bo samo dal to vrednost. Tako da bom šele prezreti, da je četrto FALSE. Torej, tukaj je vektorske naloga. Torej set.seed-- to samo določa Seme za številke pseudoslučajnih. Tako da sem nastavitev seme 42, kar pomeni, da če sem ustvarila tri naključno normalno vrednosti, in potem, če vas pognani set.seed sami Računalnik z uporabo iste vrednosti 42, potem boste tudi dobili iste tri naključne normale. Torej, to je res dobra za obnovljivost. Ponavadi, ko delaš nekaj nekako znanstvene analize, bi si želeli, da nastavite seme. Tako drugi znanstveniki lahko samo reproducirati točno isto kodo, ki ste jo storiti, ker oni imajo točen Isti slučajne spremenljivke that-- ali naključno vrednosti, ki ste sprejeti kot dobro. In tako vektorske odstop Tukaj se kaže Vals z 1 in 2. Torej je potrebno v prvih dveh elementov od Vals in jih nato prenese na 0. In potem si lahko samo naredi tudi podobna stvar z Booleans. Torej Vals ni enaka 0-- bo to vam vektorski FALSE, FALSE, TRUE v tem primeru. In potem, da se dogaja, bi rekla od teh indeksov, ki so TRUE, potem se dogaja, da določite, da do 5. Torej je potrebno, tretji element Tu in nato dodeli 5. In to je res lepo v primerjavi z jeziki na nizki ravni kjer boste morali uporabiti za zanke storiti vse te vektorske stvari saj to je samo zelo intuitiven in to je enkratno-liner. In kaj je velik približno vektorske zapis je, da so to v R vrsta vgrajeni tako, da so si skoraj tako hitro početje v jeziku nizki ravni, kot v nasprotju z izdelavo zanke v raziskave in potem ko ga narediti dinamično indeksiranje sama. In da bo počasnejša kot delaš tovrstna vektorske stvar če je lahko to storite vzporedno, kadar da to počne v bistvu navojev. Torej, tukaj je vektorske operacije. Zato sem tvorjenje vrednosti od 1 do 3, dodeljevanje da vec1, 3 do 5, vec2, jih dodate skupaj. To jim dodaja sestavnega pametno tako to je 1 plus 3, 2 plus 4, in tako naprej. vec1 krat vec2. To množi dva Vrednosti komponento pametno. Torej, to je 1 krat 3, 2-krat 4, nato pa 3-krat 5. In potem, podobno lahko storite tudi comparisons-- logične primerjave. Torej, to je false false TRUE v tem Primer ker 1 ni večja od 3, 2 ni večja od 4. To je, mislim, še slovnične napake, 3 definitivno ni večja od 5. Ja. In tako lahko samo naredil vse Te enostavne operacije ker je njihova dedna iz razredov samih. Tako da je bil samo vektor. In to je nekako najbolj temeljna R objekt, saj dana vektorja, lahko zgraditi bolj naprednih predmetov. Torej, tukaj je matrica. To je v bistvu abstrakcija kaj matrica je sama. Torej, v tem primeru, to je tri različne vektorji, kjer je vsak stolpec, ali pa menijo, da je kot vsak je vrstica. Tako da sem shranjevanje matriko od 1 do 9, nato pa sem podrobno 3 vrstic. Torej 1 do 9 vam vektorja 1, 2, 3, 4, 5, 6, in vse do 9. Ena stvar, ki vodijo tudi v mislih je, da R shranjuje vrednosti v stolpcu, velik format. Torej, z drugimi besedami, ko vidiš 1 do 9, da se dogaja, da shranite them-- to se dogaja, da je 1, 2, 3 v prvem stolpcu, in potem bom to 4, 5, 6 v drugem stolpcu in nato 7, 8, 9 v tretjem stolpcu. In tukaj je nekaj drugega skupne funkcije, ki jih lahko uporabite. Torej dim mat, to vam bo dala dimenzije matrike. To se dogaja, da vam vrnejo vektor dimenzije. Torej v tem primeru, ker Naša matrika 3 s 3, to se dogaja, da vam Številčna vektor, ki je 3 3. In tukaj je samo kaže matriko množenje. Torej ponavadi, če si naredil asterisk-- tako mat zvezdica mat-- To se bo delovanje sestavnega pametno ali kaj se imenuje izdelek Hadamardov. Tako se dogaja, da naredi vsak sestavnega dela pametno. Vendar, če hočeš Matrika multiplication-- tako, da se pomnoži prve čase vrstic prvi stolpec druge matrike je in tako on-- bi jih uporabili To odstotkov operacija. In t mat je le Delovanje za transponiranjem. Torej, jaz pravim da je prenesla v matrika, pomnoži z matrico sama. In potem se dogaja, da vrnitev na vas še 3 za 3 matrika, ki prikazuje izdelek, ki ste jo želeli. In tako, da je matrika. Tukaj je tisto, kar se imenuje podatkovni niz. Podatki frame si lahko zamislite kot matrika, vendar vsak stolpec sam se bo drugačnega tipa. Torej, kaj je res kul o podatkih Okviri je, da pri analizi podatkov samem, boste imeli vse to heterogenih podatkov in vse to res umazane stvari, kjer je vsak izmed stolpcev sami lahko različnih tipov. Torej, tukaj govorim ustvariti podatkovni niz, narediti ints 1 do 3, in nato tudi vektor znakov. Tako sem lahko indeks prek vsak od teh stebrov in potem bom dobil vrednote same. In lahko storite tudi neke vrste poslovanja na podatkovnih okvirjev. In večino časa, ko ste delaš analizo podatkov ali neko za predobdelavo, boste delajo s temi podatkovnimi strukturami kjer vsak stolpec se dogaja da so različnega tipa. Končno, tako da so ti v bistvu samo štiri bistvene stvari v R. Seznam bo samo zbiranje vseh drugi predmeti, ki jih želite. Tako da bo to shraniti v eno spremenljivka, ki jo lahko enostavno dostopate. Torej, tukaj, sem ob seznama. Pravim stvari enak 3. Torej grem na en element seznam, in to se imenuje stvari, in to se dogaja, da ima vrednost 3. Lahko tudi ustvarite matriko. Torej, to je od 1 do 4 in končno zapored enak 2, tako da 2 z 2 matrici. Tudi na seznamu, in to se imenuje mat. moreStuff, niz znakov, in še en seznam v sebi. Torej, to je seznam, ki je 5 in medveda. Tako da ima vrednost 5 in jo je niz znakov medveda in to je seznam znotraj seznama. Tako da lahko imajo ti rekurzivne stvari, kjer imate another-- a tip v vrsto. Torej podobno, lahko imate matriko znotraj druge matrice in tako naprej. In seznam je samo dober način zbiranje in združevanje vsi ti različni predmeti. In končno, tu pomaga le v primeru, To je bil samo zelo hitro šli čez. Torej, kadarkoli ste zmedeni o nekakšnem funkcije, lahko storite pomočjo te funkcije. Torej lahko storite pomoč matrico ali matrica vprašaj. In pomoč ter vprašaj, so samo okrajšava za isto stvar tako da si vzdevke. md je funkcija, ki Samo ne linearnemu. Ampak, če ste jo pravkar nimajo pojma, kako da Dela, ki jih lahko preprosto storite pomoč lm in da vam bom dal nekaj Vrsta dokumentacije, ki izgleda nekako kot Človek stran v Unix, kjer imate kratek opis, kaj to počne tudi, kakšni so njeni argumenti so, kaj se vrne, in le nekaj nasvetov o tem, kako da jo uporabljajo, in nekaj primerov, kot dobro. Zato mi dovolite, iti naprej in pokazati nekaj demo z uporabo R. OK. Zato sem šel na zelo hitro samo podatki strukture in nekakšna op-- nekaj operacij. Tukaj je nekaj funkcij. Torej, tukaj sem le, da bo opredeliti funkcijo. Tako da sem tudi z uporabo Razporeditev operater tukaj in potem sem rekel jo razglasi kot funkcija. In to se je vrednost x. Torej, to je vsaka vrednost, ki jo želite in bom vrnil x sebi. Torej je to funkcija identitete. In kaj je kul o tem v primerjavi z drugimi jeziki in druga nizko raven jezikov, da x lahko katerega koli tipa, same in da bomo vrnili to vrsto. Torej imagine-- lahko to dovolite me samo teči to hitro. Žal mi je. Torej, ena stvar, ki sem omeniti tudi je, da je ta urednik sem s pomočjo se imenuje rstudio. To je tisto, kar se imenuje IDE. In še ena stvar, ki je res lepo o tem je, da vsebuje veliko stvari, ki jih želim narediti na področju raziskav, ki jih sama samo zelo intuitivno. Torej, tukaj je tolmač konzola. Torej podobno, lahko dobite tudi to konzola surovega samo s tem kapitalsko R. In to je točno Isto kot konzole. Torej, lahko sem samo naredil id funkcijo x, x, x. In then-- in nato, da bo v redu sam. Torej rstudio je super ker ima konzolo. Prav tako ima dokumente bi radi, da deluje na. In potem je nekaj spremenljivk da si lahko ogledate v okoljih. In potem, če imate storiti parcel, potem vam Samo lahko videli tukaj, v primerjavi s upravljanje vseh teh različnih oken sami. Pravzaprav sem osebno uporabo Vim, vendar sem Počutim se, kot rstudio je odlična prav za pridobivanje dobro idejo kako uporabiti R. Običajno ko poskušate se naučijo nekaj novega nalogo, ne želite, da se ročaj preveč stvari naenkrat. Torej R je samo very-- rstudio je zelo dober način učenja R ne da bi se morali ukvarjati s vse te druge stvari. Torej, tukaj tečem id zdravo. To vrne zdravo. id 123. Tukaj je vektor števil. Torej podobno, saj lahko sprejme vse neko vrednost, lahko storite vračajo id x da se vrne 1234 in 5. In naj me samo ti kažejo, da To je dejansko število. In podobno, če vam razred id x, da se dogaja, da se bo število. In potem, lahko tudi vi primerjati dva in to je res. Tako da sem preverjanje, če id x enaka enaka x in obvestila ki vam daje dve TRUEs. Tako da to ni rekel, so dve predmeti enaki, vendar vsak od vstopov v vektorji identični. Tukaj je bounded.compare. Torej, to je nekoliko bolj zapleteno v tem, da ima, če stanje in ostalo in potem to traja dva argumenti naenkrat. Torej je x katerekoli vrste. In jaz sem to rekel Drugi argument je. To je lahko karkoli, kot dobro. Vendar privzeto, gre vzeti 5. če ne podate ničesar. Torej, tukaj bom rekel če je x večji od. Torej, če se jaz ne določajo, da pravi, če je x večji od 5, potem bom vrnil TRUE. drugega, bom vrnil FALSE. Zato mi dovolite, pojdi naprej in določiti to. In zdaj bom teči bounded.compare 3. Tako pravi je 3 manj than-- 3 večja od 5. Ne, to ni tako napačen. In bounded.compare 3 in grem za primerjavo uporabi enaka 2. Torej, zdaj sem rekel ja, zdaj sem želijo biti nekaj drugega. Tako bom rekel, morate biti 2. Lahko bodisi narediti te vrste Zapis ali rečem enaka 2. To je bolj berljiva po tem, ko ste gledaš ti res zapletene funkcije, sprejme večkratno arguments-- in to lahko na desetine oftentimes-- samo rekel je enaka 2 je bolj berljiva za ste, da kasneje v prihodnosti boste vedeli, kaj počnete. Torej, v tem primeru sem rekel je, 3 večje od 2. Da, je. In podobno, sem lahko samo odstranite to in pravijo, 3 večje od 2 kjer je enaka 2. In to je tudi res. Ja? OBČINSTVO: Ali ste izvrševanje po vrsticah? Dustin TRAN: Da, jaz sem. Torej, kaj delam tu pri čemer to besedilo document-- in kaj je velik približno rstudio je, da Jaz lahko samo teči short-- ključno bližnjico. Torej delam Control-Enter. In potem, sem ob vrstica v dokumentu z besedilom in nato postavimo v konzoli. Torej, tukaj sem rekel, bounded.compare in delam Control-X. Tako da sem lahko samo ne vodijo tudi tukaj. In potem, da bom linijo in jo dal tukaj. In potem podobno, lahko pa teče tukaj. In potem bo to šele obdržati opredeljevanju vrstice v konzoli podobnega. In če boste tudi opazili, kodrasti oporniki so tam tako kot v C sintakso. x-- če je tudi, če stanje nameravate uporabljati oklepaje in nato lahko uporabite drugega. Drug razlog pa je drugje, če. Torej, to se dogaja, da je x enaka enaka, npr. In potem bom Nekaj ​​vračali. Obvestilo, da obstajata dve različni Stvari so tukaj, da se dogaja. Ena je, da tukaj sem podrobno vrne vrednost TRUE. Tukaj sem samo rekel x. Torej R ponavadi privzeto vzeti zadnjo arguments-- ali vzeti zadnjo vrstico kode, in da bo, kar se je vrnil. Torej, tukaj je to isto stvar, kot počne povratni x. In samo, da ti pokažem. In potem se bo to delo prav tako. Torej, kaj me še naprej s tem. Torej, če je ostalo. In res sem se lahko vrne kaj bi rad. Tako da nimam niti za povratni Booleans ves čas, Jaz lahko samo vrnil nekaj drugega. Tako da sem lahko naredil povratni medveda. Torej, če je x enak enaka, to se dogaja, da se vrnete medveda. Sicer pa se dogaja, da se vrnete TRUE. Jaz lahko naredim tudi vektor ali res nič. In ponavadi v mirovanju osnutki, natipkana jeziki, da bi morali določiti vrsto tukaj. In ugotovili, da je lahko samo nič. In R je inteligentna dovolj, da ji bo samo to storiti, in da bo delo v redu. Zato mi dovolite, opredeliti to. Unexpected-- oh žal. To bi moralo biti kodrasta brace tukaj. OK. Cool. Vse je v redu. Torej, zdaj pa jih primerjati med 3 in enak 3. Tako da bi moral return-- yeah-- medveda vrednosti. Torej, zdaj bolj splošno stvar je všeč Kaj pa druge podatkovne strukture. Torej imate to funkcijo. To se dogaja, da delo na kakršno koli vrednosti kot 3 ali kateri koli številčna, z drugimi besedami, dvojna. Kaj pa nekaj podobnega vektorja. Torej, kaj se zgodi, če do-- tako da sem dogaja dodeliti Val, recimo, 4 do 6. Torej, če se vrnem to, to je vektor iz 4, 5, 6. Zdaj pa poglejmo, kaj se zgodi če naredim bounded.compare val. Torej, to se dogaja, da vam 15 1251. Torej, z drugimi besedami, to je rekel če pogledaš na ta pogoj zato pravi x je manj kot ali kaj podobnega. Torej, to je nekoliko zmedeno, ker zdaj vam samo ne vem, kaj se dogaja. Torej, mislim, da eno stvar, ki je res dobro o samo poskušam debug je, da lahko samo naredi val je večja kot in videli, kaj se tam dogaja. Torej val-- je privzeto 5, tako kaj je samo ne Val večji od 5. Torej je ta vektor false false TRUE. Torej, zdaj, ko gledaš to pa se dogaja, da reči, če in potem se dogaja, da vam to je vektor false false TRUE. Torej, ko se boste peljali to v R, R nima pojma, kaj počnete. Ker se pričakuje, da bo eno samo vrednost, ki je logično, in zdaj ste mu daje vektor Booleans. Torej privzeto, R je samo reči, kaj za vraga, Bom domnevati, da ste dogaja, da prvi element tukaj. Torej bom say-- grem domnevati, da je to napačno. Tako se dogaja, da reči Ne, to ni prav. Prav tako se dogaja, da je val enaka enaka. Ne, žal 5. In to tudi dogaja, da so lažne, kot dobro. Tako se dogaja, da reči ne, to ni res, pa tudi, tako da je dogaja, da se vrnete na to zadnjo. Torej je to bodisi dobro ali slabo stvar, odvisno od tega, kako si jo ogledate. Ker, ko ste ustvarjanju te funkcije, vi dejansko ne vem, kaj se dogaja. Tako da včasih bi si želeli napako, ali morda želite le opozorilo. V tem primeru, R, ne delaj tega. Torej, to je res do boste temelji off kaj misliš jezik bi morala storiti v tem primeru Če se boste peljali v vektorju Booleans ko delaš, če stanju. Torej, recimo, da si imel original eno, če drug vrne TRUE in ste dogaja, da se vrnete FALSE. Torej, eden od načinov za odvajanje To pomeni I niti ne potrebujejo tega pogojnega stvar. Še ena stvar, ki sem lahko naredil je le vračanje vrednosti same. Torej, če ste opazili, če vas storiti val je večja od 5, To se dogaja, da se vrnete vektor false false TRUE. Morda je to tisto, kar si želijo za bounded.compare. Želite vrniti vektor Booleans če primerja vsakega izmed vrednosti zase. Tako da lahko samo ne bounded.compare Funkcija x, enak 5. In potem, namesto da bi to, če drug pogoj, Jaz sem šele tekoč, da se vrnete x je večja od 5. Torej, če je to res, potem to se dogaja, da se vrne TRUE. In potem, če je ni, je to dogaja, da se vrnete FALSE. In to bo delo za koli od teh struktur. Tako sem lahko bounded.compare c 1 6 ali 9 in potem bom rekel, je enako 6, npr. In potem se dogaja, da vam pravo Boolean vektor, ki ste načrtovanju. Torej, to so samo funkcije in mi je zdaj pa le vam pokažem nekaj interaktivnih vizualije. Ne verjamem, da sem dejansko imel Wi-Fi tukaj, tako da mi samo pojdi naprej in preskočite tole se mi zdi. Ampak ena stvar, ki je kul čeprav je, da če vam je prav želite preizkusiti kup različnih podatkovnih ukazi, obstaja kup različnih nizov ki so že prednaložena v R. Tako je eden izmed njih je imenovano iris nabor podatkov. To je eden izmed najbolj dobro znana tisti v strojnega učenja. Boste ponavadi samo narediti neke vrste testnih primerov, da vidite, če je vaša koda teče. Torej, kaj je samo preveriti, kaj je iris. Torej ta stvar se dogaja da se podatkovni niz. In to je vrsta dolga, saj Pravkar sem izpisal iris. To je tiskanje celotno stvar. Tako da ima vse te različne imena. Torej, iris je zbirka iz različnih rož. V tem primeru, je povedal, ste vrstah njo, vse te različne širine in Dolžine na SEPAL in cvetnih lističev. In tako je normalno, če želite natisniti iris, na primer, da ne želite, da ga ima vse to zato, ker da lahko prevzame vaše celotno konzolo. Torej, ena stvar, ki je res Lepo je funkcija glave. Torej, če si naredil glavo iris, to vam bo dala prvih pet vrstic ali šest mislim. In potem tudi vam, lahko samo določite tukaj. Torej 20-- bo to dalo vam prvih 20 vrstic. In dejansko sem bil nekako presenečen, da je to dal mi je šest, tako da mi gredo naprej in preverite iris-- ali glavo, mi je žal. In tu bo dal si dokumentacijo kaj glava vrednost ne. Torej se vrne prvi ali zadnji od objekta. In potem bom pogled na privzete vrednosti. In potem je pravi privzeto Postopek glava x in je n enak 6l. Torej, to vrne prvih šest elementov. In podobno, če ste opazili sem, ni bilo treba navesti n enak 6. Privzeto se uporablja šest, mislim. In potem, če želim opredeliti nekatere vrednost, nato pa sem si lahko ogledajo tudi to. Tako, da je nekaj preprostih ukazov in tu je še eden, ki je just-- dobro, I can-- je to pravzaprav malo bolj zapletena, vendar bo to vzemite razred vsakega stolpca šarenice niza. Torej, to vam bo pokazal, kaj je vsak od teh Stolpci so v smislu njihovih vrstah. Torej SEPAL dolžina je številčna, SEPAL širina je številčna. Vse te vrednote so samo številčna saj lahko razberem iz teh podatkov strukturirati so ti vse bo številčna. In stolpec Vrsta se bo faktor. Torej normalno, bi si mislil, da je to je kot niz znakov. Ampak, če si naredil irisSpecies, in potem bom naredil glavo 5, in to se dogaja, da natisnete od prvih petih vrednosti. In potem opazili ta raven. Torej je to saying-- to je način, r je imajo kategorično spremenljivk. Torej, namesto samo ob nizov znakov, ima ravneh, ki določajo, katere od teh stvari so. Torej, recimo, irisSpecies 1. Torej, kaj želite storiti, je tu sem podnabora s tem stolpcu vrste. Torej, to traja Vrsta stolpec in nato jo indeksira, da bi dobili prvi element. Torej, to naj vam ne setosa. In tudi vam daje raven tukaj. Tako da lahko tudi primerjate to je setosa znakov in to se ne dogaja da bi bilo res, ker je ena je drugačne vrste kot drugi. Ali mislim, da je res, ker raziskave je bolj inteligenten kot to. In izgleda na to in potem pravi, morda je to tisto, kar želite. Tako se dogaja, da pravi značaj Niz setosa je enako kot ta. In potem podobno, lahko tudi samo zgrabi ti všeč tako naprej. Tako da je le nekakšna Hitre ukazi naboru podatkov. Torej, tukaj je nekaj raziskovanje podatkov. Torej, to je malo več ukvarja z analizo podatkov. In to je vzeto iz nekaterih bootcamp v raziskave v Berkeleyju. Torej knjižnica tujih. Torej grem naložiti v knjižnica, ki se imenuje tuja. Torej, to se dogaja, da me read.dta zato predvidevam, da imam ta nabor podatkov. To je shranjena v trenutni delovni imenik mojega konzole. Torej, kaj je prav, kaj delovni imenik. Torej, tukaj je moj delovni imenik. In branje podatkov dot, to stvar, je rekel to datoteko se nahaja v mapi podatkov o Ta trenutni delovni imenik. In read.dta to ni Privzeti ukaz. Mislim, da je naložen že. IEI Predvideval sem, da je to že naložen. Ampak tako read.dta ne bo biti privzeti ukaz. In zato boste morali naložiti v tej knjižnici package-- ta paket se imenuje tuje. In če nimate paket, mislim, tuji eden od vgrajenih narave. Sicer pa lahko tudi vi storiti install.packages in to bo namestite paket. In to vam bo dal R. Uh, ne. In potem sem le, da bo stop to zato, ker sem ga že imajo. Ampak kaj je res lepo o R je, da je upravljanje paketa Sistem je zelo elegantna. Ker bo to shranite vse res lepo za vas. Torej, v tem primeru gre za shranjevanje je v, verjamem, to knjižnico tukaj. Torej, kadarkoli želite namestitev nove pakete, to je samo tako enostavno, kot početje install.packages in R bo upravljal vse paketi za vas. Tako da vam ne bo treba nekaj narediti v Python, kjer imate zunanji paket menedžerji kot papir Anaconda, kjer ste doing-- namestitvi Paketi zunaj Python in potem jih boste poskušali zagnati sami. Torej, to je res lep način. In install.packages potrebuje internet. Jo popelje iz strežnika in skladišče, zbira vse Paketi se imenuje Cran. In se določi, kateri nekakšno ogledalo želite prenesti pakete. Torej, tukaj sem ob tej skupini podatkov. Jaz sem jo prebrali v uporabo te funkcije. Torej, mi gredo naprej in narediti. Torej, kaj je domnevati, da imate ta nabor podatkov in imate absolutno ne vem, kaj je to. In to dejansko pride gor dokaj pogosto v industriji kjer imate le ti tone in tone grdo stvari in oni so neverjetno neoznačena. Torej, tukaj imam to Nabor podatkov, in ne vem, kaj je to, da sem samo kaže, da ga preverite. Torej bom naredil z glavo naprej. Tako sem preveriti v prvih šestih stebri, kaj to je nabor podatkov. Tako da je to stanje, pres04, nato pa Vse te različne vrste stolpcev. In kaj je zanimivo tu, mislim, da je tebi bi bilo domnevati, da to izgleda kot neke vrste volitev. In mislim, da samo od pogledate datoteko ime je to nekakšna zbirko podatkov o kandidatih ali volivci kdo je glasoval za posebne predsednikov ali predsednik kandidati za volitve 2004. Torej, tukaj je vrednost 1, 2 tako eden od načinov za shranjevanje Predsednik kandidati so njihova imena. V tem primeru izgleda oni so samo integer vrednosti. Torej leta 2004 je bil Bush versus Kerry verjamem. In zdaj, recimo, samo ne vem, ali 1 ustreza Bush ali 2 ustreza Kerry ali in tako naprej in tako naprej, kajne? In to je, da mi, dokaj pogost problem. Torej, kaj lahko storite v tem primeru? Torej, kaj je preveriti vse te druge stvari. stanje, sem ob predpostavki, to prihaja iz različnih držav. partyid, dohodek. Poglejmo partyid. Tako da morda ena stvar, ki jo lahko naredimo je, pogled na vsako od opazovanj da imajo partyid republikanskih ali demokrat ali kaj podobnega. Torej, kaj je samo pogledati, kaj partyid je. Torej grem, da bi dat in potem grem storiti to znak za dolar operator, da sem že prej in to se dogaja, da podmnožica na ta stolpec. In potem bom vodil to 20, samo da bi videli, kaj to izgleda. Torej je to samo kup agencijam. Torej, z drugimi besedami, ki ste jih manjkajoče podatke o teh fantov. Vendar boste opazili tudi to dat partyid je dejavnik tako da to vam daje različne kategorije. Torej, z drugimi besedami, lahko partyid sprejeti Demokrat, republikanci, Independent, ali kaj drugega. Torej, gremo naprej in dovolimo, videti, kateri od teh is-- oh, OK. Torej bom podmnožica da partyid in nato poglej kateri so tisti, Demokrat, npr. To se dogaja, da vam Boolean, ogromen Boolean od TRUEs in FALSEs. In zdaj, recimo, da želim da podmnožica teh fantov. Torej, to se dogaja, da mi dat in podskupina za kar pripombe imajo partyid enaka enaka demokrat. In to je precej dolgo, saj tam je tako mnogi od njih. Torej sedaj, da bom vodil to v 20. In kot ste opazili, je enaka enaka Zanimivo je, da ste already-- ste tudi za NAS. Torej, v tem primeru še vedno ne morejo dobiti vse informacije, ker sedaj imate Nas in si samo želim, da vidite, kateri od Opazovanje ustrezajo demokrat in ne ti manjka sami ceni. Torej, kako bi se znebili teh agencijam? Torej, tukaj sem samo z uporabo up tipko na moj kurzor, nato pa rekel gibljejo. In potem sem jaz pravkar dogaja reči is.na datpartyid. Torej to in in bo dve različni Boolove vektorji in pravijo, da se dogaja, da TRUE in FALSE npr. Tako se dogaja, da storite to komponento pametno. Torej, tukaj sem rekel vzemi podatkovni niz, podmnožica za tiste, ki ustrezajo demokrat, in odstraniti vse od njih, da niso NA. Torej, to will-- smeli vam nekaj. Poglejmo is.na. Poskusimo is.na datpartyid. In to je treba dati you-- sorry-- le logični vektor. In potem, ker je tako dolgo, Bom podmnožica do 20. OK. Tako da bi to delovalo. In to bo tudi TRUEs. Ah, to je moja napaka v tem, da sem I'm-- uporabo C ++ in R izmenjaje tako naredim to napaka, ves čas. In upravljavec je pravzaprav tista, ki jo želite. Si ne želite uporabljati dva ampersands, samo enega. OK. Torej, poglejmo. Tako smo subsetted za partyid kjer oni demokrate in oni ne manjka vrednot. In zdaj si oglejmo ki je tiste, ki so glasovali za. Tako se zdi, kot najbolj od njih je glasovalo za 1. Tako da sem šel naprej in pravijo, da je Kerry. In podobno, lahko gre tudi republikanec in upajmo, to bi vam moralo dati 2. To je samo kup različnih stolpcev. In res, to je 2. Torej partyid vse republikance, večina od njih so glasovali za 2 osebi. Tako se zdi, kot, samo jih je videti na to, Republikanski se bo very-- ali partyid se bo zelo Velik dejavnik pri določanju kateri kandidat oni bodo glasovali za. In to seveda velja na splošno. In to se ujema z vašim intuicija, seveda. Tako se zdi, kot da sem zmanjkuje časa, da Naj bi samo iti naprej in pokazati nekaj hitrih slik. Torej, tukaj je nekaj, kar je nekoliko bolj zapleten z vizualizacijo. Torej v tem primeru, je to zelo preprosta analiza samo preverjanje, kaj Predsednik '04 je. Torej, v tem primeru pa vam povedati, želel odgovoriti na to vprašanje. Torej domnevam, nas je zanimalo, glasovanje obnašanje v 2004 predsednik volitvah in kako, da se razlikuje po rasi. Torej ne samo, da želite glej obnašanje za glasovanje, vendar želite podmnožica vsake rase in nekako povzeti, da je. In lahko povem le, s tem kompleksnem zapisu da je to nekako dobili motna. Torej, ena od bolj napredne raziskave paketi, ki je tudi vrsta nedavnih se imenuje dplyr. Tako da je to ena tukaj. In ggg-- ggplot2 je le lepo način za boljše vizualizacije kot je vgrajeno v enem. Tako da bom za nalaganje ti dve knjižnice. In potem, sem šel pred in zaženete ta ukaz. Si to le lahko obravnavamo kot črno škatlo. Kaj se dogaja, je, da te cevi Operater je mimo tega argumenta v tukaj. Torej, jaz pravim skupino, ki jo dat rase in nato predsednik 04. In potem vsi ti ukazi sta filtriranje in nato povzema kje delam štetje in Nato sem jo ubral tukaj. OK kul. Torej, gremo naprej in glej, kaj to izgleda. Torej, kaj se tukaj dogaja, je, da sem Samo zapiše vsaka dirke in potem ki je tiste, ki so glasovali za. In ti dve različni Vrednosti ustrezajo 2 in 1. Če želite biti bolj elegantna, lahko tudi vi Samo določite, da je Kerry-- ali 2 2 je Bush, nato 1 je Kerry. In lahko tudi da v legendi. In lahko razdeli tudi teh grafov. Ker ena stvar je, da, če ste opazili, To ni zelo težko ugotoviti katera od teh dveh vrednosti je večja. Torej, ena stvar, ki ste jo želeli storiti, je, da to modro območje in je le korak čez tukaj, tako da vas lahko primerjajo ti dve bok. In mislim, da je nekaj, kar sem nimajo časa, da storiti zdaj, ampak to je tudi zelo enostavno narediti. Lahko samo pogledati v man strani ggplot. Tako da lahko samo ne ggplot kot da in branje v tej man strani. Zato mi dovolite, samo hitro vam pokažem nekaj zanimivih stvari. Pojdimo naprej in iti to-- prav Uporaba strojnega učenja. Torej, recimo, da imamo te tri Paketi tako da bom naložiti ti v. Torej je to samo natisne nekaj Podatki Ko sem naložil v stvar. Torej, jaz pravim to read.csv, Ta nabor podatkov, in zdaj Grem, da gredo naprej in iskati in glej, kaj je notri tega niza. Torej, prvih 20 pripomb. Tako da sem samo še X1, X2, in Y. Tako je Zdi se, kot kup teh vrednot so od morda 20 do 80 ali tako. In potem podobno X2 in nato to je Y zdi etikete 0 in 1. Če želite to preveriti, sem lahko pač povzetek podatkov X1. In potem podobno za Vsi ti drugi stolpci. Torej, povzetek je hiter način Samo prikazuje hitre vrednosti. Oh, oprostite. To bi morali biti Y. Torej v tem primeru, daje kvantili, mediane, maxes kot dobro. V tem primeru dataY, lahko vidite da je le, da bo 0 in 1. Tudi povprečna pravijo 0,6, samo pomeni, da zanj Zdi se, kot da sem imel več kot 1s 0s. Zato mi dovolite, iti naprej in pokazati ste kaj to izgleda. Tako da sem le, da bo to parcelo. Poglejmo, kako je to jasno. Oh OK. OK. Torej, to je, kako izgleda. Tako se zdi, kot rumeno I določenih kot 0, nato pa rdeče I določena kot 1s. Torej, tukaj izgleda label točke in je Zdi se, kot da si si želela nekaj nekako grozdenja na to. In mi samo pojdi naprej in pokazati si nekatere od teh vgrajenih funkcij. Torej, tukaj je lm. Torej, to je samo poskušam da se prilega črto k temu. Torej, kaj je najboljši način, da sem lahko fit linijo kot da bo najbolje ločiti to neke vrste grozdov. In v najboljšem primeru, lahko samo videti da sem teči vse te ukaze in potem, bom naprej in dodali vrstico. Torej, to se zdi kot najboljši ugibati. To je ob najboljši tisti, ki minimizira Napaka pri poskusu, da se prilega to vrstico. Očitno je, da to izgleda nekako dobro, vendar to ni najboljše. In linearni modeli, v splošno, se bo res super za teorijo in le neke gradbenih temeljev stroj učenje. Toda v praksi, si boste želijo narediti nekaj bolj splošno. Tako da lahko samo poskusite zagnati nekaj, kar se imenuje nevronske mreže. Te stvari so vse bolj pogosti. In samo delo fantastično za velike nizov. Torej, v tem primeru smo le have-- dajmo see-- imamo nrow. Torej je nrow samo rekel število vrstic. Torej, v tem primeru sem imajo 100 stališč. Torej, mi gredo naprej in da nevronske mreže. Torej, to je res lepo ker sem lahko samo rečem nnet in potem sem mine Y. Torej Y je, da stolpec. In potem mine na drugi dve spremenljivki. Torej je ta krajši Zapis za X1 in X2. Torej, gremo naprej in vodijo to. Oh, oprostite. Moram zagnati to celotno stvar. In to je samo tiskanje zapisa kako hitro ali hitro je zbližale. Torej izgleda, da se je to približujejo. Zato mi dovolite, pojdi naprej in tiskanje kaj to izgleda. Glejte, tukaj je slika, in tu je Obris prikazuje, kako dobro se prilega. In to je just-- lahko vidite to, da je to zelo, zelo lepo. To bi lahko celo Prezasičenost, lahko pa tudi prispevajo k temu z drugo Tehnike, kot so navzkrižne validacije. In so ti zgradili tudi v R. In naj me samo ti pokažem Metoda podpornih vektorjev. To je še en zelo pogosti tehniko strojnega učenja. To je zelo podoben linearnih modelov, vendar uporablja, kar se imenuje metoda jedra. In poglejmo, kako dobro, da ne. Torej ta je zelo podoben, kako tudi nevronska mreža opravlja, vendar je veliko bolj gladko. In to temelji off od what-- kako SVMs delo. Torej, to je samo zelo Hiter pregled nekaterih od vgrajenih funkcij lahko storite in tudi nekaj raziskovanja podatkov. Zato mi dovolite, samo pojdi naprej in pojdite nazaj na diapozitivih. Tako je očitno, da je to ni zelo obsežen. In to je res samo teaser prikazuje, kaj se lahko res v R. Torej, če bi tako kot Če želite izvedeti več, tu so kup različnih virov. Torej, če ste ljubitelj učbenikov ali ste samo rad bere stvari na spletu, potem je to fantastično ena s Hadley Wickham, ki je ustvaril tudi vse te res kul paketi. Če ste ljubitelj video posnetkov, nato pa Berkeley je super bootcamp da je several-- da je nekako dolgo. In to vas bo naučil skoraj vse, kar bi si želeli vedeti o R. In podobno, tam je Codeacademy in vse te druge vrste interaktivnih spletnih strani. Prav tako so dobili common-- bolj in bolj pogosti. Torej je to zelo podobna Codeacademy. In končno, če vas prav želim skupnosti in pomoč, To so kup stvari, ki jih je mogoče iti. Očitno je, da smo še vedno uporabite adresarjev, samo kot skoraj vsak drugi programski jezik skupnost. In #rstats, to je Naša skupnost Twitter. To je pravzaprav precej pogosta. In potem uporabnik! Je samo naša konferenca. In potem, seveda, lahko uporabiti vse te druge Q & A stvari, kot je prekoračitev, Google in nato GitHub. Ker je večina teh paketov in veliko skupnosti bo osredotočeno na razvoj koda, ker je open source. In to je samo res lepo na GitHub. In končno, lahko stik z mano, če boste morali morebitne hitre vprašanja. Torej, mi lahko najdete na Twitter tukaj moja spletna stran, in samo moj email. Torej, upam, da je bilo something-- le kratek teaser česa je res sposoben narediti R. In upajmo, da ste ga pravkar preverite te tri povezave in videti, kaj lahko naredi več. In mislim, da je prav o tem. Hvala. [Aplavz]