>> [Музике може чути]
ДУСТИН ТРАН: Здраво.
Моје име је Дастин.
Тако ћу представити Анализа података у Р.
Само мало о себи.
Ја сам тренутно апсолвент у су Енгинееринг анд Апплиед Сциенцес.
Ја студирам један пресек учење и статистика машина
тако Анализа података у Р је стварно основно за шта
Ја радим на дневној бази.
>> И Р је посебно добар за анализу података
јер је врло добро за израду прототипа.
И обично, када радите неку врсту анализе података, много проблема
ће когнитивних.
И тако само желите да имате стварно добра језик који
је само добар за то уграђених функција, за разлику
да морају да се баве ниским стварима нивоа.
Дакле, у почетку, ја ћу да се уведе оно што је Р, зашто би
желите да га користите, и онда иди у неку демо,
и само иди на одатле.
>> Па шта је Р?
Р је само језик развијен за статистичку цомпутинг
и визуелизација.
Па шта то значи да је то је врло одличан језик
за било какве ствари које се бави неизвесност или визуелизација података.
Тако да имате све ово вероватноћа.
Ту ће бити уграђених функција.
Такође ћете имати одличан цртања пакете.
>> Питхон је још једна такмиче језик за податке.
И једна ствар коју сам наћи тај Р је много бољи у је визуелизација.
Па шта ћете видети у демо као добро је само врло интуитиван језик
да само ради веома добро.
Такође је бесплатан и отвореног кода, као је било који други добар језик ваљда.
>> И овде, гомила само кључне речи бачен на вас.
То је динамичан, што значи ако имате специфична врста добио објекат
него што ћу га променити у ходу.
То је лењ тако да је паметно о како то ради израчунавања.
Функционалном смислу то заиста може да ради базирано на основу функција тако све--
свака врста манипулације си раде, то ће бити засновани на функције.
>> Дакле бинарни оператера, на пример, су само по себи функционише.
И све то ћеш да урадиш је
Биће побегне функције сама.
А онда објектно оријентисано као добро.
>> Дакле овде је КСКЦД парцела.
Не само зато што се осећам као КСКЦД је фундаментално за било какве
презентације, али зато Осећам се као ово стварно
чекиће поенту да много Време када радиш неку врсту података
Анализа, проблем није толико колико брзо се стартовао,
али колико дуго ће то одвести за програмирање задатак.
Дакле овде је само да ли анализира Стратегија или б је ефикаснији.
Ово ће бити нешто што си
ће се носити са доста у врсту језика на ниском нивоу
где имате посла са сег грешака, алокација меморије, инитиализатионс,
чак прављење уграђених функција.
И ове ствари се све рукује Веома, веома елегантно у Р.
>> Дакле, само да закуца ово тачка, највећи уско грло
ће бити когнитивне.
Дакле анализа података је веома тежак проблем.
Било да радите машинско учење или сте
ради само неку врсту Основни подаци истраживања,
не желите да имате да се документ
и онда саставити нешто сваки пут када
Желим да видим шта колона изгледа, шта конкретно уноси у матрици
изгледа.
Тако да само желим да имам неки стварно лепо интерфејс
можете покренути једноставну функцију да индекси на год
желите и само га покренете одатле.
И ти треба домен специфични језици за ово.
И Р ће заиста помоћи да дефинишете Проблем и реши га на овај начин.
>> Дакле овде је дијаграм који показује програмирање популарност Р као нестало је током времена.
Дакле, као што видите, као 2013. или па то само дигнута страховито.
И ово је само због тога Огроман тренд у технолошкој индустрији
о биг подаци.
Такође, не само технологија индустрија, али стварно
свака индустрија то-- јер много индустрије
су некако фундаментална за покушавајући да реши ове проблеме.
И обично, можете имати неке добре начин мерења тих проблема
или чак да их дефинише или њихово решавање користећи податке.
Тако да мислим да сада је Р 11. најпопуларнија језика на ТИОБЕ
и то је у порасту од тада.
>> Дакле, ево још мало карактеристике Р. Има
огроман број пакета и за све ове различите ствари.
Дакле, сваки пут када имате одређени проблем, већина
време Р ће имати да функција за вас.
Дакле да ли желите да изгради неку врсту машине
учење алгоритам зове Случајна шума или стабла одлучивања,
или чак покушавају да преузму средњу функција или било коју од ових ствари,
Р ће имати то.
>> А ако урадите ти је стало оптимизација, једна ствар која је заједничка
се да када завршите израду прототипова нека врста високом нивоу језика,
ви ћете бацити да у-- само ће порта да преко
то неком језику ниског нивоа.
Шта је добро у вези Р је да када сте урађено је прототипова, можете покренути Ц ++,
ор Фортран, или било од њих нижим директно у Р. левел
Дакле, то је један стварно Цоол опција о Р,
ако ти је стварно стало оптимизација тачка.
>> И то је такође јако добар за веб визуализације.
Тако Д3.јс, на пример, Ваљда још један семинар
да смо представили данас.
А ово је заиста сјајно за радиш интерактивне визуелизације.
И Д3.јс претпоставља да имате нека врста података који се исцртани
и Р је сјајан начин да се буде у стању да уради Анализа података пре него што га извозимо
преко да Д3.јс или чак само покретање Д3.јс команде у самој Р,
као и све то друге библиотеке такође.
>> Дакле, то је био само увод у шта је Р и зашто би га користите.
Дакле надам се, ја сам увјерен ти нешто
о само покушавам да видим како то изгледа.
Зато ћу ићи напред и проћи неке основе о Р објеката
а шта стварно може да уради.
>> Дакле овде је само гомила математичких команди.
Тако кажу Ваши-- желите да градите Језик себе и само желите
да имају гомилу различитих алата.
Свака врста операције мислиш да бих желим је прилично ће бити у Р.
>> Дакле овде је 2 плус 2.
Овде је 2 пута пи.
Р има гомилу уграђених константи које често ћете користити као пи, е.
>> А онда, ту је 7 плус руниф, тако руниф 1.
Ово је функција која је генерише један случајни униформу од 0 до 1.
А ту је 3 до 4 снагом.
Има квадратних корени.
>> Има дневник.
Дакле лог ће учинити базу експоненцијално по себи.
А онда, ако наведете базу онда, можете да урадите шта год хоћеш база.
А онда ево и неких других команди.
Тако да имате 23 мод 2.
Онда имате остатак.
Онда имате научни нотација ако вас такође
Желим да радим само још и компликованије ствари.
>> Дакле овде је задатак.
Дакле типични задаци у Р је урађено са стрелом
тако да је мање од а затим цртица.
Па ево ја само додељивање 3 на варијабилни вал.
>> И онда се ја одштампа вал и онда исписује три.
По дефаулту у Р преводиоца, ит ће одштампати ствари за вас
тако да не морате да наведете одштампате вал сваки пут када желите да одштампате нешто.
Можете само да до Вал и онда ће то урадити за вас.
>> Такође, можете користити једнако технички као оператора доделе.
Постоје мале финесе између користећи стрелицу
оператер и једнакима оператер за задатке.
Углавном по конвенцији, свима ће само користите оператор стрелице.
>> И овде, ја је за то коси нотација зове 1 Колон 6.
Ово генерише вектор од 1 до 6.
И зато ово стварно лепо онда само доделите вектор Вал
и који функционише по себи.
>> Дакле, ово је већ иде из сингле-- врло интуитивно податке
структура само контре на нека врста типа у вектор
и који ће прикупити све Скаларна вредности за вас.
Дакле после одласка из скалар, ви имају Р објеката и ово је вектор.
Вектор је било која врста наплата истог типа.
Дакле овде су гомила вектора.
>> Дакле, ово је нумерички.
Бројни је Р-ов начин да се каже дупло.
И тако по дефаулту, било број ће бити дупло.
>> Дакле, ако имате ц 1.1, 3, негативан 5.7, ц је функција.
Ово цонцатенатес све три Бројеви у вектор.
И то ће тако ако бити-- приметите 3 по себи,
нормално је да преузме да је ово као цео број,
али зато све векторе су иста врста,
ово је вектор дублу или нумерички у овом случају.
>> рнорм је функција која генерише стандардни нормални вариаблес--
или стандардне нормалне вредности.
И ја наводећи двојицу.
Тако радим рнорм 2, додељивање то струцњаци и онда ја одштампа девс.
Дакле, то су само два рандом нормалне вредности.
>> А онда интс ако урадите ти је стало целих бројева.
Дакле, ово је само о меморији алокација и штеди величина меморије.
Тако да би морао да приложи Ваши бројеви од главног града Л.
>> Генерално, ово је Историјска нотација Р-ов
за нешто што се зове дуго цео број.
Тако већину времена, ви ћете бе бави дублу.
И ако икада касније о оптимизацији код,
можете само додати ово Л'с након тога или током њега
ако сте као прекогнитивних шта ћеш да урадиш ове променљиве.
>> Дакле овде је вектор карактер.
Дакле, опет, ја се спајају три жице ово време.
Приметите да дупле траке те појединачни жице су исти у Р.
Тако да имам Артур и Марвин и тако кад сам га одштампа, сви они
ће показати дупле жице.
А ако желите и да укључи двострука или стринг
у својим ликовима, онда можете или мењате своје конце.
>> Тако Марвин за други елемент, ово је
да те схов-- Само имају дупле стрингс
а затим један стринг па ово је наизменично.
У супротном, ако желите да користите дупли оператер стринг у двоструком низу
кад га прогласи онда, ви само користите оператор за бекство.
Па ти косе црте двоструку жицу.
>> И на крају, ми такође имају логичке векторе.
Тако логицал-- со труе и ЛАЖ и они су
Биће све великим словима.
А онда, опет, ја се спајају их, а затим их распоредити у Боолс.
Дакле Боолс ће показати Ви ТРУЕ, ФАЛСЕ, и ИСТИНА.
>> Дакле овде је вецторизед индексирање.
Дакле, у почетку, ја узимам фунцтион--
то се зове секуенце-- секвенца од 2 до 12.
И узимам секвенцу од 2.
Тако ће то урадити 2, 4, 6, 8, 10 и 12.
И онда, ја сам индексирање добити трећи елемент.
>> Дакле једна ствар треба имати на уму је да Р индекси по почев од 1.
Дакле валс 3 ће дати ти трећи елемент.
Ово је врста разликује од другог језици где почиње од нуле.
Дакле, у Ц или Ц ++, на пример, ти си ће добити четвртог елемента.
>> И овде је валс од 3 до 5.
Дакле, једна ствар која је стварно кул је то ти
може генерисати привремене променљиве унутра и онда само их користе у ходу.
Дакле, овде је 3 до 5.
Тако сам генерише вектор 3, 4, и 5 и потом
Ја индексирање да добије трећину, четвртом и петом елементи.
>> Дакле слично, можете апстрактна то само ради
било каква вектора да даје вам индексирање.
Дакле овде је валс а затим Прво, трећи, и шести елементи.
А онда, ако желите да уради комплемент,
тако да вас још више минус након тога и да ћу
дати вам све што је не први, трећи, или шести елемент.
Тако ће ово бити 4, 8, и 10.
>> А ако желите да добијете чак напреднији,
можете цонцатенате Булове векторе.
Дакле, ово индекс ће вам дати ово Булова вектор дужине 6.
Дакле реп ТАЧНО зарез 3.
Ово ће поновити ТРУЕ три пута.
Дакле, ово ће вам дати нове вектор труе, труе, ИСТИНА.
>> реп ЛАЖНА 4-- ово ће вам дати вектор ЛАЖ ЛАЖ ЛАЖ ЛАЖ.
А затим ц ће спојите та два Боолеанс заједно.
Значи да ћеш добити три Труес а затим четири ФАЛСЕс.
>> Тако да када индексних Валс, ти си ће добити труе, труе, ИСТИНА.
Тако да ће рећи да, Желим те три елемента.
А онда ЛАЖ ЛАЖ ЛАЖ лаж се дешава
рећи не, ја не желим те елементе па то неће да их врате.
>> И претпостављам заправо постоји грешка у куцању овде јер ово говори понављање ТАЧНО 3
и поновите нетачно 4, и технички, вас само шест елемената тако поновите ЛАЖ
требало би да буде поновити ФАЛСЕ 3.
Мислим Р је такође довољно паметан што да ако само наведете 4 овде, онда
неће ни грешкама ван.
Само ће вам дати ову вредност.
Тако да ћу игнорисати ту четврту ФАЛСЕ.
>> Дакле овде је вецторизед задатак.
Дакле сет.сеед-- ово само поставља семе за псеудослучајних бројева.
Тако сам постављање семе на 42, што значи да ако ја генерира
три случајна нормално вредности, а затим ако вас
рун сет.сеед сами рачунар користећи исту вредност 42,
онда добијате иста три рандом нормале.
>> Дакле, ово је стварно добро фор репродуктивности.
Обично, када радиш нешто некако научне анализе,
што би желели да подесите семе.
На тај начин други научници могу само репродукују потпуно исту шифру сте
учињено јер ће имати тачан Исти случајне променљиве то-- или случајни
Вредности које сте снимили отпуштен.
>> И тако вецторизед задатак Овде се показује Валс 1 до 2.
Тако да предузима прве два елемента од валс а затим их додељује на 0.
А онда, можете такође јуст до Слична ствар са логичке.
>> Дакле валс није једнак 0-- ову вољу дати вам векторску фалсе, ЛАЖ ТРУЕ
у овом случају.
И онда, то ће рећи било од тих индекса је то истина,
онда ће то одредити који до 5.
Тако да је на трећем елемент овде и онда га додељује до 5.
>> А ово је заиста лепо у односу на језике ниским
где морате да користите за петље да урадите све ове ствари Вецторизед
јер то је само врло интуитиван и то је једна једина-Линер.
А шта је добро у вецторизед нотација
је да у Р, су врста уграђени тако да су скоро једнако брзо
како раде у језику ниског нивоа као насупрот томе да за петљу у Р
а затим да се уради динамичан сама индексирање.
И то ће бити спорији него ради ова врста Вецторизед ствари
где може да га уради паралелно, где она то ради у тхреадинг основи.
>> Дакле овде је Вецторизед операције.
Тако сам генерише вредност од 1 до 3, додељивање то вец1, 3 до 5, вец2,
додајући их заједно.
То им додаје компонента питању тако то је 1 плус 3, 2 плус 4, и тако даље.
>> вец1 пута вец2.
Ово повећава два Вредности компоненту мудар.
Тако да је 1 пута 3, 2 пута 4, а онда 3 пута 5.
>> А онда, на сличан начин можете да урадите и цомпарисонс-- логичких поређења.
Тако да је фалсе фалсе труе у ово Случај јер 1 није већи од 3,
2 није већа од 4.
Ово је, претпостављам, још један куцању, 3 дефинитивно није већи од 5.
Да.
И тако можете само учинити све ове једноставне операције
јер њихов наследио од самих класа.
>> Дакле, то је био само вектор.
И то је нека врста најосновнији Р објекат јер дат вектор,
можете изградити напредније објекте.
>> Дакле, ево матрица.
Ово је у суштини апстракција шта матрица сама је.
Дакле, у овом случају, то је три различита вектори, где свако је колона,
или га можете размотрити као сваки од њих је ред.
>> Тако сам чување матрицу од 1 до 9 и онда ја прецизирајући 3 реда.
Дакле 1 до 9 ће вам дати вектор 1, 2, 3, 4, 5, 6, па све до 9.
>> Једно је такође имати на уму да је Р продавнице вредности у колони-мајор формату.
Другим речима, када видите 1 до 9, то ће складиштити томе--
то ће бити 1, 2, 3 у првој колони,
а онда ћу 4, 5, 6 у другој колони,
и онда 7, 8, 9 у трећој колони.
>> А ево и неких других заједничке функције које можете користити.
Дакле дим простирка, ово ће вам дати димензије матрице.
То ће вас вратити вектор димензије.
Дакле, у овом случају, јер наша матрица је 3 за 3,
то ће вам дати нумерички вектор то је 3 3.
>> И овде је управо показује матрица множење.
Дакле обично, ако само урадите астериск-- тако мат звездицом мат--
ово ће бити компонента питању операција
или шта се зове Хадамард производ.
Тако ће то учинити сваки Елемент компонента-мудар.
Међутим, ако желите матрица мултиплицатион--
тако множењем прве пута редова Прва колона друге матрице је
и тако ајде-- би користили ово одсто операција.
>> И т мат је само Операција за транспонована.
Тако ја кажем узети транспоновања у матрица, помножите по матрици
Сама.
А онда ће то враћа код Вас друго 3
од 3 матрице приказивања производ да желиш.
>> И тако је било матрица.
Ево шта се зове оквир података.
Подаци рам можете мислити као о матрица, али свака сама колона
ће бити различитог типа.
>> Па шта је стварно кул о подацима оквири је да у самом анализи података,
ћеш имати све ово хетерогених података и све то заиста
Месси ствари где сваки од колона сами могу бити различитих типова.
Па ево ја кажем створити фраме подаци, до интс од 1 до 3,
и онда имају и вектор карактера.
Тако да могу индекс кроз сваки од ових колона
а онда ћу добити саме вредности.
И можете да урадите неку врсту операција на фрејмова података.
И већину времена када сте ради анализе података или неку врсту
од предпроцесирања, бићете рад са овим структурама података
где свака колона иде да буде од различитог типа.
>> Коначно, тако да су у суштини само четири битне објекти у Р. Лист
ће само прикупљати било други објекти желите.
Тако да ће сачувати ово у један променљива да лако можете приступити.
>> Дакле овде, ја узимам листу.
Кажем ствари једнако 3.
Тако ћу имати један елемент у Листа, и то се зове ствар,
и то ће имати вредност 3.
>> Такође можете да креирате матрицу.
Дакле, ово је 1 до 4 и крај реда једнако 2, па 2 би 2 матрице.
Такође на листи и то се зове мат.
мореСтуфф, низ карактера, и чак још један списак по себи.
>> Дакле, ово је листа која је 5 и медведа.
Тако да има вредност 5 и то има карактер стринг сносити
и то је списак унутар листе.
Тако да можете имати ове рекурзивне ствари где
имате анотхер-- А укуцајте у оквиру типа.
Дакле слично, можете имати матрицу унутар другог матрице и тако даље.
И листа је само добар начин прикупљања и агрегирања
сви ти различити предмети.
>> И на крају, ту је само помогне у случају ово је само нестао изнад веома брзо.
Значи било када си збуњен о некаквој функцији,
можете да урадите помоћ те функције.
Тако можете да урадите за помоћ матрицу или матрица знак питања.
И помоћ и знак питања су само скраћеница за исту ствар
тако да су језик.
>> лм је функција која Само ради линеарни модел.
Али ако само немате појма како се то Радови, можете само да урадите помоћ за ЛМ
и да ћу вам дати неке врста документације која
Изгледа некако као човек страна у Уник, где
имате кратак опис онога што то ради, и шта његови аргументи су,
оно што се враћа, а само савете о томе како да га користи, а неки од примера као добро.
>> Тако да ме само напред и шоу неке демо коришћења Р. ОК.
Тако сам отишао веома брзо само подаци
структуре и нека врста оп-- неке од операција.
Ево неке функције.
>> Па ево ја само идем дефинисати функцију.
Тако сам и користим оператор додељивања овде,
и онда ја кажем прогласи га као функција.
И то узима вредност к.
Дакле, ово је било вредност желите и ја ћу да се вратим к себе.
Дакле, ово је функција идентитет.
>> А шта је кул о томе у поређењу са другим језицима
и друго лов-левел језици је да је к
могу бити било ког типа самог и то ће вратити тај тип.
Тако да можете имагине-- тако пустити Само да покренете ово брзо.
Извините.
>> Тако једна ствар коју треба поменути је да је овај уредник ја користим
назива Рстудио.
То је оно што се зове ИДЕ.
И једна ствар која је стварно лепо о томе
је да садржи доста ствари које желите да урадите у Р по себи
Само врло интуитивно.
>> Дакле овде је преводилац конзола.
Дакле слично, можете добити ово конзола сирова само на тај капитални Р.
А то је управо исто што и конзоле.
Тако да сам само да урадим Функција к, к, к.
И онда и онда да ће бити у реду сама.
>> Дакле Рстудио је супер јер има конзолу.
Такође има документи желите да покренете на.
А онда она има неке варијабле да можете да видите у срединама.
А онда, ако имате да уради парцела, онда вам
могу само да видим овде, за разлику од управљање све ове различите прозоре
сами.
>> Ја стварно лично користим Вим, али ја осећате као Рстудио је одличан само
за добијање добру идеју како да користи Р. Обично,
кад покушаваш да леарн неки нови задатак,
Ви не желите да руковање превише ствари одједном.
Дакле Р је само вери-- Рстудио је веома добар начин учења Р
без потребе да се баве све те остале ствари.
>> Па ево ја водим ид здраво.
Ово враћа здраво.
ИД 123.
Ево вектор целих бројева.
Дакле слично, јер можете преузима никакву неку врсту вредности,
можете да урадите повратку ид од к тако да враћа 1234 и 5.
>> И нека ми само ти покажем да ово је заиста цео број.
И слично, ако урадите класу ИД Кс, то ће бити цео број.
А онда, можете такође упореди два и то је истина.
Тако да гледам да ли ид од к једнако једнако је Кс и обавештење
да вам даје два Труес.
Дакле, ово не говори се два објекти идентичне,
али су сваки од уноса у вектори идентични.
>> Ево боундед.цомпаре.
Дакле, ово је мало компликованије у томе што има ако стање и друго
и онда потребно двоје аргументи у једном тренутку.
Дакле, к је било ког типа.
И ја кажем ово Други аргумент је.
То може бити било као добро.
Али по дефаулту, то ће узети 5 ако не наведете ништа.
>> Па ево ја ћу да кажем ако је к већа од.
Дакле, ако ја не прецизира, то каже да ако је к већи од 5,
онда ћу да врати ИСТИНА.
друго, ја ћу да врати ЛАЖ.
Тако да ме само напред и дефинисати ово.
>> И сад ћу да рун боундед.цомпаре 3.
Тако пише се 3 мање тхан-- је 3 већи од 5.
Не, то није тако ЛАЖ.
>> И боундед.цомпаре 3 и идем да га поредите користећи једнака 2.
Тако сада ја кажем да, сад сам Желим да будем нешто друго.
Зато ћу да кажем, требало би да буде 2.
>> Ја могу да урадим било овакво нотација или кажем једнака 2.
Ово је још читљив у које кад си
лоокинг ат ово стварно компликоване функције које
узети мултипле аргументс-- и ово може бити десетине офтентимес-- Само кажем
једнако 2 је још читљив за Ви тако да касније у будућности
знаћете шта радите.
>> Дакле, у овом случају, ја сам изрека је 3 већи од 2.
Да је то.
И слично, могу само да уклоните ово и кажу, је већи од 3 2
где једнако 2.
И то је такође истина.
Да?
>> ПУБЛИКА: Јеси ли извршава линију по линију?
>> ДУСТИН Тран: Да сам.
Па шта ја радим овде је узимајући овај текст доцумент--
и то супер ствари Рстудио је да Само могу покренути схорт-- кључну пречицу.
Тако радим Контрола-Ентер.
>> И онда, узимам линија у тексту документа
а затим стављање у конзоли.
Па ево ја кажем, боундед.цомпаре и ја радим Цонтрол-Кс.
Тако да сам само да ми покренути и овде.
А онда да ћу се линија и онда га стави овде.
А онда на сличан начин, ја могу да покренути овде.
И онда ће само наставите да дефинисање линије у конзолу тако.
>> А ако се примети витичасте протеза постоје баш као у Ц синтакси.
к-- ако ако услов је такође ће користити заграде и онда
можете користити друго.
Друга је иначе, ако.
Дакле, ово ће бити к једнако једнако, на пример.
А онда ћу да Овде се врате нешто.
>> Обратите пажњу да постоје два различита ствари овде које се дешава.
Једна је да овде сам наводећи ретурн вредност ТРУЕ.
Ево ја само кажем к.
Дакле Р ће обично подразумевано узети последњу аргументс--
или узети последњу линију кода, и да ће бити оно што је вратио.
Па ево ово је иста ствар као раде ретурн к.
>> И само да ти покажем.
А онда, она ће радити само тако.
Па нека ми наставимо са овим.
>> Тако иф.
И заиста, ја могу да се врате нешто што бих.
Тако да не морате чак ни да ретурн Боолеанс све време,
Могу само да се врати нешто друго.
Тако да могу да урадим повратну медведа.
>> Дакле, ако је к једнако једнако, то ће да се врате медведа.
У супротном, то ће вратити ИСТИНУ.
Такође, могу да урадим вектор или стварно ништа.
>> И нормално у статички откуцани језици,
морао би да наведете овде тип.
И приметио да само може бити било шта.
И Р је интелигентан довољно да њега ће само учинити и то ће радити добро.
>> Па нека ми дефинисати ово.
Унекпецтед-- ох жао.
То би требало да буде коврџава браће овде.
У реду.
Цоол.
У реду.
Па сада да упоредимо 3 и једнака 3.
Тако да би требало да ретурн-- Да-- корисног медведа.
>> Тако сада више уопште ствар је као шта је са другим структурама података.
Тако да имате ову функцију.
Ово ће радити на било које врсте од вредности попут 3 или било које Нумериц,
другим речима, дупло.
>> Али шта је са нешто попут вектора.
Па шта се дешава ако Па-- сам ће доделити вал до, рецимо, од 4 до 6.
Дакле, ако се вратим ово, ово је вектор из 4, 5, 6.
>> Сада да видимо шта ће се десити ако урадим боундед.цомпаре вал.
Дакле, ово ће вам дати 15 1251.
Другим речима, она каже ако погледате овај услов
тако пише к је мање него или нешто.
Дакле, ово је благо јер збуњујуће сада
само не знам шта се дешава.
Па претпостављам једну ствар која је заиста добро о само покушавам да дебуг
је да можете само до Вал већа него и види шта се дешава тамо.
>> Дакле вал-- је подразумевано 5 СО хајде да до Вал већи од 5.
Дакле, ово је вектор фалсе фалсе труе.
Тако да сада када гледате ово, то ће рећи ако,
а онда ће вам дати ово је вектор фалсе фалсе труе.
>> Дакле, када се прође ово у Р, Р нема појма шта радиш.
Јер очекује један сингл вредност, која је Булова, и сад
ви дајући јој вектор логичке.
Тако се уобичајено, Р је само рећи за име бога,
Идем да претпоставимо да сте Биће потребно први елемент овде.
Зато ћу прицала- Идем претпоставити да је ова лажна.
Тако ће то рећи Не, то није у реду.
>> Слично, то ће бе Вал једнака једнака.
Не, извини 5.
И то је такође ће бити лажна као добро.
Тако да ће рећи не, Није тачно, као да је то
ће вратити овај последњи.
>> Дакле, ово је било добро или лоше ствар, у зависности од тога колико сте је видели.
Јер кад си креирање ове функције,
не знам стварно шта се дешава.
Дакле понекад да желиш грешку, или можда само желите упозорење.
У овом случају, Р то не ради.
Тако да је стварно до ви базирано на основу које
мислите језик треба да уради у овом случају
ако прође у вектора логичке када радиш ако стању.
>> Рецимо да сте имали оригинални једна са другом, ако врати ИСТИНА и ти си
ће да врати ЛАЖ.
Дакле, један начин апстраховања ово је за И рећи
не треба ни ту условну ствар.
Још једна ствар коју могу да урадим је само враћање саме вредности.
Дакле, ако приметите, ако вас до вал је већи од 5,
ово це да се врати вектор фалсе фалсе труе.
>> Можда је то оно што сте Желим за боундед.цомпаре.
Желите да се вратите вектор логичке где се пореди сваки од вредности
да себи.
Тако можете само да боундед.цомпаре функције к, износи 5.
И онда уместо да ради ово ако друго стање,
Само ћу да се врате к је већи од 5.
Дакле, ако је то истина, онда да ће вратити ИСТИНУ.
И онда ако није, то је ће да врати ЛАЖ.
>> И то ће радити за било који од ових структура.
Тако да могу боундед.цомпаре Ц 1 6 или 9 а онда ћу да кажем једнако 6,
на пример.
А онда ће то дати вам праву Боолеан
вектор да ли дизајнирате.
>> Дакле, то су само функције и ми сад нека само
схов иоу неке интерактивне визуелне.
Ја не мислим да сам у ствари имам Ви-Фи, овде па пусти ме само напред
и прескочите овај ваљда.
>> Али једна ствар која је цоол иако је да ако вас само
желите да тестирате гомилу различите команде података,
постоји гомила различитих скупова података да су већ инсталираним у Р.
Тако један од њих је зове Ирис датасет.
Ово је један од најпознатијих оне у машинског учења.
Обично ћу урадити неку врсту тест случајеви да видите да ли код ради.
Па хајде да проверим шта ирис је.
>> Дакле, ово ствар иде да оквир података.
И да је мало дуго, јер Само одштампан ирис.
То је одштампа целу ствар.
Тако да је сва та различита имена.
Дакле ирис је збирка од различитих цвеће.
У овом случају, то говори Ви се врста ње,
сви ти различити ширине и дужине на чашицу и латицу.
>> И тако нормално, ако желите да одштампате ирис,
На пример, не желите да га имају урадите све ово јер то може да преузме
твој цијели конзола.
Дакле, једна ствар која је стварно лепо је функција глава.
Тако да ако само урадите главу ириса, ово ће вам дати
Првих пет редова, или шест ваљда.
А онда добро ти, могу само навести овде.
Дакле 20-- то ће дати ти првих 20 редова.
И ја сам био некако изненађен да је ова
дао ми шест па ћу само напред и проверите ирис-- или главу, извини.
И овде ће дати Ви документација
онога вредност глава ради.
Тако да враћа први или последњи неког објекта.
А онда ћу да погледате вредности.
И онда се каже подразумевани Начин глава х и н једнако 6Л.
Дакле, ово враћа првих шест елемената.
И слично ако приметите овде, ја није морао да прецизира н једнако 6.
Подразумева се користи шест, претпостављам.
А онда, ако желим да наведете одређени вредност, онда ја могу да видите да је то добро.
>> Тако да је неке једноставне команде и ево још једног који је само-- добро,
Могу-- ово је заправо мало сложенији,
али то ће само узети разред сваког колони ириса података.
Дакле, ово ће вам показати шта сваки од њих Колоне су у смислу њихових типова.
Дакле чашични листић дужина је нумерички, чашични листић ширина је нумерички.
Све ове вредности су само бројчани јер можете рећи из ове податке
структуира су све иде у нумеричке.
>> А колона Специес ће бити фактор.
Дакле нормално, помислили бисте да је ово је као низ карактера.
Али ако само урадите ирисСпециес, а онда ћу да урадим главу 5,
а ово ће штампати оут првих пет вредности.
>> А онда приметите ове нивое.
Дакле, ово је кажем-- ово је Р-ов начин да имају категорички променљиве.
Дакле, уместо да само има знакова стрингс,
има нивое Специфиинг која од ових ствари су.
>> Рецимо ирисСпециес 1.
Па шта желите да урадите овде је досадно -сет да ова врста колоне.
Дакле, ово узима Врста колона и онда
ит индекси добити први елемент.
Дакле, ово би требало да ти дам сетоса.
И то вам даје ниво овде.
>> Тако можете упоредити ово на сетоса карактера
а ово неће да би било истинито, јер једном
је различитог типа од друге.
Или Претпостављам да је истина, јер Р је интелигентнији од тога.
И изгледа ово и онда каже, можда је то оно што желите.
Тако да ће рећи карактер стринг сетоса је исто као овај.
А онда на сличан начин, можете Такође баш зграби их као тако даље.
>> Дакле, то је само нека врста брзе команде на скуп.
Дакле, ево неких података истраживања.
Дакле, ово је мало више укључени у анализи података.
А ово је узет из неке боотцамп у Р за у Берклију.
>> Тако библиотека страних.
Зато ћу да учита у библиотека која се зове страно.
Дакле, ово ће ми дати реад.дта тако претпостављају да имам овог скупа података.
Ово се чува у струја радни директоријум мог конзоле.
Па хајде да видимо шта радни директоријум је.
>> Дакле овде је мој радни директоријум.
И реад дот податке, тхис ствар, каже овај фајл
се налази у фолдеру података ово тренутни радни директоријум.
А реад.дта ово није подразумевани команда.
Ваљда сам већ лоадед га у.
ИЕИ претпоставио сам већ лоадед ово у.
>> Али тако реад.дта неће да буде подразумевани команда.
И зато ћеш имати за учитавање у овој библиотеци пацкаге--
овај пакет зове страно.
А ако немате пакет, мислим
страно је један од уграђених оне.
У супротном, можете такође урадите инсталл.пацкагес
а то ће инсталирати пакет.
И то ће вам дати Р. Ух, не.
И онда ја ћу престати ово јер већ имам га.
>> Али оно што је заиста лепо о Р је да управљање пакета
Систем је врло елегантно.
Зато што ће сачувати све Заиста лепо за вас.
Дакле, у овом случају, то ће складиштити она у, верујем, ова библиотека овде.
>> Дакле кад год желите да инсталирање нових пакета,
то је само тако једноставно радиш инсталл.пацкагес
и Р ће управљати све пакети за вас.
Тако да не морате да урадите нешто у Питхон, где имате додатну пакет
менаџери као папир Анацонда где си
доинг-- инсталирате пакети ван Питхон
а ви покушавате да их води себе.
Дакле, ово је заиста леп начин.
>> И инсталл.пацкагес захтева интернет.
Она га узима са сервера и спремиште да
прикупља све пакети се зове ЦРАН.
А можете наводи који врсту огледала желите да преузмете пакете из.
>> Па ево ја узимам овог скупа података.
Читам га у коришћењу ове функције.
Тако да ме само напред и уради то.
>> Па хајде да претпоставимо да имате овог скупа података
а ви имате апсолутно немам појма шта је то.
А ово у ствари долази до прилично често у индустрији
где сте само ово тоне и тоне гомиле ствари
и они су невероватно необележено.
Па ево ја имам ово Скуп података и не знам
шта је то тако ја сам само показујући да то провере.
>> Тако ћу прво урадити главу.
Тако да проверим првих шест колоне шта Овај скуп података је.
Дакле, ово је стање, прес04, а затим Сви ови различити некако колона.
И шта је занимљиво овде, претпостављам, јеси ли то ти
претпостављам да ово изгледа као нека врста избора.
И претпостављам само од лоокинг ат тхе филе
наме ово је нека врста збирке података о кандидатима или бирачима
који су гласали за одређене председнике или председник кандидати
за изборима 2004. године.
>> Дакле овде је вредности 1, 2 тако један начин чувања
кандидати председник су њихова имена.
У овом случају, изгледа да они су само целе вредности.
Тако 2004., било је Буш против Керија Верујем.
А сада, рецимо да једноставно не знам да ли 1 одговара Буша или 2
одговара Керри или и тако даље и тако даље, зар не?
>> А ово је, само за мене, прилично чест проблем.
Па шта можете да урадите у овом случају?
Па хајде да проверимо све те друге ствари.
>> држава, претпостављам ово долази из различитих држава.
партиид, приход.
Погледајмо партиид.
Па можда једна ствар коју можете учинити је погледај сваки од запажања
да имају партиид од републиканац или демократа или нешто.
Па хајде да погледамо шта је партиид.
>> Зато ћу узети ДАТ и онда идем
да радим овај доллар сигн оператер који сам претходно урадио
а ово ће подскуп тој колони.
А онда ћу кренути у ово 20, само да видим шта ово личи.
>> Дакле, ово је само гомила нас.
Другим речима, ви имате недостају подаци о овим момцима.
Али такође приметити ово ДАТ партиид је фактор
па ово вам даје различите категорије.
Дакле, другим речима, може да партиид Демократа, републиканац, самостални,
или нешто друго.
>> Дакле идемо напред и немојмо види који од ових је-- Ох, у реду.
Тако ћу подскуп да партиид и онда
погледај процене које су Демоцрат, на пример.
Ово ће вам дати Боолеан, Огроман Булова од Труес и ФАЛСЕс.
>> А сада, хајде да кажем да желим да подскуп са овим момцима.
Дакле, ово ће да ми ДАТ и подскуп да шта год запажања
имају партиид екуалс једнако демократа.
А ово је прилично дугачак, јер има толико много њих.
Тако сада, ја ћу кренути ово у 20.
>> И као што сте приметили, једнако екуалс Интересантно је у томе да си
алреади-- Такође сте укључујући и нас.
Дакле, у овом случају, и даље можете да добијете свака информација јер сада имате нас
а ви само желите да видите који од запажање одговарају демократа
а не они сами недостаје вредности.
Па како би ти се ослободите ових нас?
>> Па ево ја само користим горе тастер на мој цурсор а затим говоре креће око.
И онда овде ја ћу само да кажем ис.на датпартиид.
Дакле, ово ће бити и и два различита Боолеан вектори
и кажу да ће бити Истина и лаж, на пример.
Тако да ће то учинити ову компоненту-мудар.
Па ево ја кажем Таке оквир података, подскуп
онима који одговарају демократа, и уклоните било који од њих да нису НА.
>> Дакле, ово би требало вилл-- да ти дам нешто.
Да видимо ис.на.
Хајде да пробамо ис.на датпартиид.
А ово би требало да дају тебе-- је-- само Боолеан вектор.
А онда, пошто је то тако дуго, Идем у подскуп до 20.
У реду.
Дакле, то треба да раде.
>> А овај ће такође бити Труес.
Ах, тако да је мој грешка је што сам Ја-- користити Ц ++ и Р наизменично тако направим
ово грешка све време.
И оператер је заправо онај који желите.
Ви не желите да користите два амперсандс, само један једини.
У реду.
>> Па да видимо.
Тако да смо субсеттед да партиид где су демократе
а они не пропуштате вредности.
А сада да погледамо који су то гласали за.
Тако изгледа као већина њих гласало за 1.
Зато ћу ићи напред и кажу да је Кери.
>> Слично томе, можете Такође идите на републиканац
и надамо се, ово би требало да ти дам 2.
То је само гомила различитих колона.
И заиста, то је 2.
Дакле партиид сваког републиканског, већина њих гласају за 2.
>> Тако то изгледа као, само гледајући ово,
Републичка ће бити вери-- или партиид
ће бити веома велики фактор у одређивању
који кандидат да су гласати за.
А ово је очигледно када уопште.
А ово да ли одговара вашој интуиција, наравно.
Тако да изгледа као да сам понестаје времена тако
само да би требало да иде напред и показују неке брзе слике.
Дакле овде је нешто што је незнатно више компликовано са визуелизацију.
Дакле, у овом случају, ово је веома једноставна анализа само проверавам шта
председник '04 је.
>> Дакле, у овом случају, хајде да те кажем желео да одговори на ово питање.
Тако рецимо да желимо да знамо гласање Понашање у 2004. председник изборима
и како да варира у зависности од расе.
Дакле, не само желиш да види понашање за гласање,
али желите да подскуп сваког раса и врста резимирам то.
А ти само могу рећи од овог сложеног нотацији
да је ово врста постаје магловита.
>> Тако је један од напреднијих Р То је такође пакети врста недавно
назива дплир.
Тако да је овај овде.
И ггг-- ггплот2 је само лепо начин да се то боље визуелизације
него уграђеног у једном.
>> Зато ћу да учита ове две библиотеке.
И онда, ја ћу да идем напред и покрените ову команду.
Можете само да се овим бави као црна кутија.
>> Шта се дешава је да овај цеви оператер пролази у овом аргументу
у овде.
Тако да кажем групу од ДАТ раса и тадашњи председник 04.
А онда, све ове друге команде се филтрирање и затим резимира
где радим цоунт и онда сам га цртања овде.
Ок кул.
Дакле идемо напред и видимо шта ово личи.
>> Па шта се овде дешава је да сам само графички сваки од раса и тада
који су то гласали за.
И ова два различита вредности одговарају 2 и 1.
Ако желите да будете више елегантан, можете такође
Само прецизирају да је 2 Керри-- или 2 је Бусх, а затим 1 је Керри.
А можете имати да у вашем легенди.
>> А можете и да поделите ове бар графиконе.
Јер једна ствар је да, ако приметите,
ово није баш лако идентификовати која је од ове две вредности су веће.
Дакле, једна ствар коју би хтео да урадите јесте да ово плаво подручје
и само га померите овамо тако тебе може поредити ова два раме уз раме.
И мислим да је то нешто што немају времена да урадимо одмах,
али то је такође врло лако урадити.
Можете само да гледа у ман странице на ггплот.
Тако можете само да ггплот као да и прочитате у овој ман страници.
>> Па ме пусти само брзо схов иоу неке цоол ствари.
Идемо напред и иди да-- само примена машинског учења.
Рецимо да имамо ову тројицу пакети па идем да учита их у.
Дакле, ово само исписује неке Информације након што сам убачен у ствари.
Тако ја кажем ово реад.цсв, Овај скуп података, и сада
Идем да слободно гледај и види шта је унутра овај скуп.
>> Дакле првих 20 запажања.
Тако да само к1, к2, и И. Тако је Изгледа као гомила тих вредности
су у распону од можда 20 до 80 или тако.
А онда слично за Кс2 и онда ово И изгледа етикете 0 и 1.
>> Да бисте проверили ово, ја могу Само уради резиме података Кс1.
А онда слицно за сви ови остали колоне.
Дакле резиме је брз начин Само вам показује брзе вредности.
Ох, извините.
Ово треба да буде И.
>> Дакле, у овом случају, даје квантила, траке за, макес као добро.
У овом случају, датаИ, можете видети да је само ће бити 0 и 1.
Такође средња говори 0.6, само значи да њега
Чини се као да имају више него 1с 0с.
>> Тако да ме само напред и шоу Ви шта ово личи.
Тако да сам само ћу нацртати ово.
Хајде да видимо како да обришете ово.
О реду.
У реду.
>> Дакле, ово је како то изгледа.
Тако изгледа као жута боја ја наведеним као 0, а затим црвено И наведена као 1с.
Дакле овде изгледа као лабел поена и то
Чини се као да само хтео мало некако груписања на ово.
>> И дозволите ми само напред и шоу ви неке од ових уграђених функција.
Дакле овде је лм.
Дакле, ово је само покушава да стане линију на ово.
Па шта је најбољи начин да сам може да стане линија што
да ће најбоље одвојити ова врста груписања.
И идеално, када погледате да само ја водим све ове команде
а онда, ја идем напред и додајте линију.
>> Дакле, ово изгледа као најбољи претпостављам.
Она узима најбољу који минимизира грешка у покушају да се уклопе ову линију.
Очигледно, ово изгледа некако добро, али то није најбоље.
И линеарни модели, у Генерално, ће бити
стварно супер за теорију и некако грађевинског основама машине
учење.
Али у пракси, ти ћеш желите да урадите нешто више опште.
>> Тако да само можете покушати трчање што се назива неуронске мреже.
Ове ствари су све чешћи.
И они само раде фантастично за велике скупове података.
Дакле, у овом случају, само смо бих-- хајде да видео-- имамо нров.
Дакле нров је само кажем број редова.
Дакле, у овом случају, ја имају 100 запажања.
>> Тако да ме само напред и направи неуронске мреже.
Дакле, ово је стварно лепо јер сам само да кажем ннет
а онда сам назадује И. Дакле, И је та колона.
А онда га назадује на друга два променљиве.
Дакле, ово је краћи ознаке за Кс1 и Кс2.
>> Дакле идемо напред и покрените ово.
Ох, извините.
Морам да покренете целу ствар.
А ово је само штампање запис колико брзо или не брзо се
цонвергед.
Тако да изгледа као да се спајају.
Тако да ме само напред и штампање шта ово личи.
>> Погледајте ево слика и овде је контура показује колико добро се уклапа.
А ово је само-- можете видети ово да је ово веома, веома лепо.
То чак може бити оверфиттинг, али можете такође
рачун за ово са другим технике попут унакрсног валидације.
А ово су такође изграђена у Р.
>> И нека ми да ти покажем подржати вектор машину.
Ово је још једна заиста чест Техника у машинског учења.
Веома је сличан линеарних модела, али користи оно што се зове метод кернела.
И хајде да видимо колико добро то ради.
Дакле, ово је један веома сличан начин добро неуронске мреже обавља,
али то је много више глатко.
А ово је заснована искључен од шта-- како СВМс рад.
>> Дакле, ово је само веома брзи преглед неких
од уграђених функција можете да урадите и такође неке од истраживања података.
Тако да ме само напред и врати се у слајдовима.
>> Дакле, очигледно, ово је Не баш свеобухватан.
А ово је заиста само теасер показујући вам шта стварно може да уради у Р.
Па ако би баш као да сазнате више, овде
су гомила различитих извора.
>> Дакле, ако сте љубитељ уџбеника или сте Само воли читање ствари на мрежи,
онда ово је фантастичан један од Хадлеи Вицкхам,
који је такође створио све ово Стварно цоол пакети.
Ако сте љубитељ видеа, онда Беркли има страшан БоотЦамп
то је северал-- то је некако дуго.
И то ће вас научити готово све што желите да знате о Р.
>> Слично томе, ту је Цодеацадеми и све то остало врста
интерактивних вебситес.
Они су такође геттинг цоммон-- више и чешће.
Дакле, ово је веома сличан Цодеацадеми.
И на крају, ако само Желим заједнице и помоћи,
то су гомила ствари које можете да иду на.
Очигледно, ми и даље користите маилинг листе, само
као готово сваки други програмски језик заједнице.
И #рстатс, ово је наша заједница Твиттер.
То је заправо сасвим уобичајене.
А онда усер!
Да ли је само наша конференција.
>> И онда, наравно, можете користе све ове друге К & А ствари,
као Стацк Оверфлов, Гоогле, а затим ГитХуб.
Јер већина ових пакета и доста заједнице
ће бити фокусиране развој Код зато што је отвореног кода.
И то је само стварно лепо на ГитХуб.
И на крају, можете ме контактирати ако само би требало брзе питања.
Дакле, можете ме наћи на Твиттер овде, мој сајт, и само мој е-маил.
Дакле, надамо се, да је нешто-- само кратко теасер
од чега Р заиста способан да уради.
И надамо се, само цхецк оут ове три везе
а види шта можете да урадите више.
И мислим да је то само због тога.
Хвала.
>> [АППЛАУСЕ]