CONNOR HARRIS: Still I bəzi maraqlı video edirəm bir professional məsləhət tərəfindən istehsal ki, R onun iş bir çox istifadə edir. Dastançı: statistik arxasında nə, analitik və visualizations ki, bugünkü parlaq data elm və iş adamları etibar güclü qərarlar qəbul etmək? Siz həmişə onu görmək bilər. Amma bu var. Bu R deyirlər, açıq mənbə R-- statistik proqramlaşdırma dili ki, data ekspertlər dünya hər şey üçün istifadəsi sosial geniş Xəritəçəkmə online və marketinq istiqamətləri maliyyə və iqlim inkişaf bizim iqtisadiyyatların idarə kömək modellər və icmalar. Lakin dəqiq R nə və harada R başladı? Yaxşı, ilk, R başladı burada iki professor ilə olan daha yaxşı bir statistik istədi onların tələbələri üçün platform. Belə ki, onlar bir nümunə yaradılmışdır statistik dil S. sonra Onlar bir çox başqaları ilə yanaşı, iş və R istifadə edərək saxlanılır, R alətləri yaratmaq və tapmaq R üçün yeni applications hər gün. Bu sayəsində dünyada icma səy, R ilə artan saxlanılır daxili istifadəçi yaradılmış kitabxanaların R işlevsellik artırmaq və izdiham-qaynaqlanan keyfiyyətli qiymətləndirmə və ən tanınmış dəstək hər sahədə sənaye liderləri ki, R. çünki böyük olan istifadə edir R bunu nə yaxşı deyil. Tez ekspertlər qönçələnmə və asanlıqla şərh ilə qarşılıqlı, və sürətlə onların göstərən veri görüntüləmək dünyada R istifadəçilər artan icma və necə açıq mənbə görmək R formalaşdırmaq davam edir statistik gələcək təhlili və data elm. CONNOR HARRIS: OK, böyük. Öz təqdimat So bir az daha ayıq olacaq. Bu çox ki, cəlb edəcək maraqlı fon musiqi. Siz video gördüm kimi, R sort edir ümumi təyinatlı proqram dili. Amma bu, əsasən yaradılmışdır statistik iş üçün. Belə ki, statistika üçün nəzərdə tutulmuşdur, data mining üçün analiz üçün. Və belə ki, bir çox bu edə bilərsiniz dizayn seçim ki, R edənlər etdi. Bu, əsasən üçün nəzərdə tutulmuşdur olmayan insanlar proqramlaşdırma mütəxəssislər, kim yalnız proqramlaşdırma aldığınız tərəfində onlar öz iş edə bilərsiniz sosial elmlər və ya statistika və ya hər hansı. Bu, çox bir çox var C. əhəmiyyətli fərqlər Syntax və paradiqmaları lakin Bu istifadə edir ki geniş eynidir. Və olduqca hiss etməlidir hüququ yarasa off evdə çox. Bu vacib dil var. Bu barədə çox narahat etməyin Siz termini bilmirsinizsə. Amma bir fərq var vacib, deklarativ arasında, və funksional. Vacib yalnız etmək deməkdir əsasən əmrləri şərhlərin. Və sonra tərcüməçi və ya kompüter onları bir-bir belə. Bu zəif var, çap oldu R. heç bir növü bəyannamələr Və sonra xətləri müxtəlif növləri arasında bir az daha yumşaq daha var Onlar, məsələn, C var. Mən var dediyim kimi çox geniş obyektləri şəkil üçün, statistik üçün data mining üçün analiz. Bu, həm də daxil inşa edilir dil və, video dediyi kimi, üçüncü kitabxana minlərlə ki, siz download və pulsuz istifadə edə bilərsiniz çox boş lisenziya şərtləri ilə. Ümumiyyətlə Belə ki, mən tavsiye ederim Bu iki kitab baxmaq Siz R. One işləməyə davam edirsinizsə Onların rəsmi R başlanğıc nin yol. Bu by saxlanılır R. əsas developers Siz yenə pulsuz yükləyə bilərsiniz orada link qanuni tapşırılsın və. Bütün bu slaydlar getmək üçün gedir internet up, CS50 saytda Bundan sonra edilir. Belə ki, heç bir ehtiyac surəti Çılgın şeyi aşağı. digər biri olan Cosma Shalizi tərəfindən dərslik, statistika professor kim var Carnegie Mellon, Advanced Data adlı Bir analiz View Elementary Point. Bu əsasən bir R kitab deyil. Bu statistika kitab və bir analiz kitab var. Amma bu insanlar üçün çox əlçatan olan statistika bilik bir az var. Mən formal kursu qəbul heç vaxt. Mən yalnız bit və ədəd bilirik Müxtəlif müttəfiq subyektləri Mən kursları qəbul etdik. Və mən başa bacardı Bu yaxşı. Bütün rəqəmlər verilir R. Onlar R edilir və onlar da code siyahıları var Hər bir rəqəm var, sizə xəbər ki, necə R kodu ilə hər bir rəqəm edir. Və əgər çox faydalıdır Siz yarışmaq çalışdığınız Bir kitab görmək bir rəqəm. Və yenə pulsuz yukle , Sorry stat.cmu.edu/cshalizi/ ki, tilde cshalizi doğramaq edilməlidir. Hesab edirəm ki, doğru əmin etmək lazımdır rəsmi slaydlar qədər getmək zaman. Yalnız / ADAfaEPoV kitab adı kisaltmasidir. Belə ki, ümumi caveats-- R imkanları bir çox var. Mən yalnız əhatə etmək üçün gedirəm bir çox şeyi səthi. Seminarın də ilk hissəsi bir veri dump bir şey olacaq. Mən bu barədə çox üzüldüm. Ümumiyyətlə, mən gedirəm bir çox şeyi sizə təqdim hüququ yarasa off, gedir kimi tez mümkün kimi. Və sonra biz almaq əyləncə hissəsi, Mən sizə hər şeyi göstərə bilər demo biz ekranda haqqında söhbət etdik ki. Və öz ətrafında oynaya bilər. Belə ki, bir çox var olacaq texniki stuff burada atılan. Bütün aşağı çıxarmaq narahat etməyin. A, çünki siz əldə edə bilərsiniz bütün sonra CS50 saytında stuff. Və B, bu, həqiqətən vacib deyil slaydlar bu alarkən. Bu almaq daha vacibdir bu bir intuitiv harada tesis və yalnız ətrafında oynayan gəlir. Belə ki, niyə R istifadə? Ümumiyyətlə, siz bir layihəmiz var ki, əgər böyük data dəstləri mədən daxildir, data vizual, siz Siz değilseniz R. istifadə etməlidir mürəkkəb statistik təhlili bunu, ki, Excel üçün çətin olacaq məsələn, ki da good-- edilə Siz statistik edirik, əgər avtomatlaşdırılmış təhlili. Siz bir web saxlanılması etdiyiniz deyirlər. Və server log oxumaq istəyirəm hər gün və bəzi siyahısını tərtib top ölkələri kimi ki, istifadəçilər, gələn nə qədər bəzi xülasə statistikası Onlar sizin web və ya hər hansı sərf. Və hər gün bu run etmək istəyirəm. İndi Excel bunu edirsinizsə, Sizin server log getmək istiyorum bir o idxal Excel data elektron tablo, əl bütün təhlili axır. R ilə, yalnız bir script yaza bilərsiniz. Hər gün çalıştırmak üçün cədvəli Sizin əməliyyat sistemi. Və sonra 2:00 AM hər gecə, və ya çalıştırmak üçün cədvəli zaman, Bu vasitəsilə baxmaq edəcək o gün üçün internet trafiki. Və sonra növbəti gün, siz lazımdır Bu parlaq, yeni hesabat bütün və ya hər hansı məlumat istədi. Belə ki, əsasən R Cisco üçün Cisco təhlili qarşı proqramlaşdırma. İlkin edilir. Real şey daxil edək. Belə ki, üç real var dilində növləri. Rəqəmli növü var. Arasında fərq sort var integers və üzən bal, deyil, həqiqətən. Bir xarakter var strings olan yazın. Və bir məntiqi var Booleans olan yazın. Və növləri arasında çevirə bilərsiniz rəqəmli kimi bu funksiyaları istifadə edərək, məntiqi kimi xarakter kimi. Siz zəng əgər, misal üçün, bir string haqqında ədədi kimi, ki, simli oxumaq üçün çalışacağıq Bir sıra eyni yolu kimi ki a2i və scanf, və C. varsa Siz doğru və ya yalan üzərində ədədi kimi zəng 1 və ya 0 çevirmək olacaq. Siz xarakter kimi zəng bir şey bu lazımdır bir daxil çevirmək string nümayəndəliyi. Və sonra istiqamətini və matrisleri var. Belə ki, istiqamətini əsasən 1 ölçülü Diziler. Onlar biz serialların dediyimiz C. Matrices, 2 ölçülü Diziler. Və sonra ali ölçülü Diziler bilərsiniz 3, 4, 5 ölçüləri və ya hər hansı var sayısal dəyərlər, strings, məntiqi dəyərlər. Siz həmçinin siyahıları var assosiativ array bir növ. Hesab edirəm ki, bir az nəzərə almaq lazımdır. Belə ki, bir mühüm şey ki, R nəfər səfərlər heç bir var ki real, təmiz atom növləri. Heç bir faktiki fərq arasında var bir sıra bir rəqəmli dəyər kimi, sayısal dəyərlər və siyahısı. Elektron dəyərlər həqiqətən uzunluğu 1 istiqamətini kimi eyni. Bu bir sıra var əhəmiyyətli nəticələri. One, siz edə bilərsiniz o deməkdir ki, cəlb çox asanlıqla şeyi bir vektor üçün bir sıra əlavə kimi. R edəcək əsasən rəqəm out nə deməkdir. Mən ikinci almaq lazımdır. O, həmçinin heç bir yol var o deməkdir ki, növü üçün dərəcədə checker-- kimi bir şey demək R-- mövcuddur Siz bir dəyər keçdi etdiyiniz zaman Bu bir sıra və ya əksinə gözləyir zaman. Və bir tək səbəb ola bilər mən qaçdı çətinliklər Mən yay iş zamanı R istifadə edilmişdir. Və heç bir qarışıq tipli Diziler var. Belə ki, bir sıra idi ola bilməz ilk elementləri, mən bilmirəm ki, string "John" və İkinci element sayı 42. Bunu etmək üçün cəhd, onda siz almaq lazımdır hər şey yalnız bir simli çevrilir. Beləliklə, biz string John, simli 42 var. Ən Features Belə ki, qeyri-adi sintaktik R syntax C. çox oxşardır Bir neçə mühüm fərqlər var. Typing çox zəifdir. Belə ki, heç dəyişən bəyanatlar var. Atama qəribə istifadə edir səhv operator tire az. Şərhlər hash nişanı ilə. Mən biz hashtag zəng gün artıq tapmaq ki, həqiqətən deyil, baxmayaraq deyil accurate-- ikiqat çizgi. Modular qalıqları %% əlamətləri ilə. Tam bölgüsü% /% ilə Bu proqnozlaşdırılır zaman oxumaq çox çətindir ekranda. Siz silsilələri əldə edə bilərsiniz nöqtə ilə integers. Belə ki, 2,5 bir vektor verəcək bütün nömrələri 2 5 vasitəsilə. Diziler bir dizine, olan vintlər bir çox insanlar onlar daha çox istəyirik əgər tipik proqramlaşdırma dilləri, harada C kimi ən şeyi sıfır indexed var. Yenə də, bu harada R irsi kimi üçün bir dil kimi professional proqramçılar gəlir. Bir sosioloq edirsinizsə və ya iqtisadçı və ya bir şey və istifadə çalışdığınız R əsasən əlavə kimi Sizin daha əhəmiyyətli professional iş, Siz tapmaq olacaq bir az daha təbii bir indeksasiyası. Siz hesablanması başlamaq çünki gündəlik həyatda 1, 0 at. For-loops, bu oxşar foreach, PHP tikintisi Siz almaq lazımdır ki, olduqca tez in-- məlumat. Hansı vektor dəyəri və sonra dəyəri şeylər edə bilərsiniz. Auditoriya: Bu mühazirə gəlmək var. CONNOR HARRIS: Oh, ki əla, mühazirə gəlib. Auditoriya: tapşırıq, o, sağdan sola qeyd ehtimal? CONNOR HARRIS: sol sağ dən, bəli. Siz dəyəri kimi hesab edə bilər dəyişən olunmuşdur sağ solda. Auditoriya: OK. CONNOR HARRIS: Və nəhayət funksiyası sintaksis bir az qəribədir. Siz funksiyası adı foo, təyin yoxdur bu söz funksiyası təqib sonra bütün dəlilləri və Bundan sonra funksiyası bədən. Yenə bunlar bilər bir az qəribə görünür. Onlar sonra ikinci təbiət olmaq lazımdır Siz bir az dil ilə işləmək. Istiqamətini Belə ki, yol Bir vektor tikintisi Bir söz var siz yazın C, sonra var istədiyiniz bütün nömrələri və ya strings və ya hər hansı. Arqumentlər də istiqamətini olun. Amma nəticədə array yastı olur. Belə ki, seriallarda harada ola bilməz bəzi elementləri tək nömrələr və bəzi elementləri seriallarda özləri. Bir tikintisi üçün cəhd edin, belə ki, array ilk element 4 idi və ikinci element array 3,5 Siz lazımdır deyil yalnız 4,3,5 üç elementləri array almaq. Onlar qarışıq tipli ola bilməz. Siz oxumaq və ya yazmaq üçün cəhd edin bir vektor hüdudlarından kənarda Siz NA adlı bu dəyər almaq lazımdır olan itkin dəyər üçün dayanır. Bu üçün nəzərdə tutulmuşdur statistika kimi olan natamam data dəstləri ilə işləyir. Siz ehtimal ki, bir funksiyası tətbiq əgər bir sıra yalnız bir sıra etmək sonra nə almaq lazımdır edir funksiyası serialın üzərində xəritəsi edəcək. Sizin funksiyasının edir deyək Belə ki bir sıra və yekunları onu kvadrat. Siz array 2,3,5 üçün müraciət Nə almaq lazımdır array 4,9,25 edir. Və çox faydalıdır Bu deməkdir, çünki üçün loops üçün yazmaq yoxdur tətbiq kimi çox sadə şeylər məlumat toplusunun bütün üzvləri üçün bir funksiyası. Hansı böyük çalışırıq əgər data dəstləri, bir çox var. Binary funksiyaları giriş tətbiq giriş. Hesab edirəm ki, nəzərə almaq lazımdır. Siz serialların ilə onları əldə edə bilərsiniz kvadrat mötərizədə və ya istiqamətini. Belə ki, vektor adı kvadrat mötərizədə 1 ilk element verəcək. Vector adı kvadrat mötərizədə 2 sizə ikinci element verəcək. Siz vektor keçə bilər və indeksləri will geri əsasən sub amil çıxmaq. Belə ki, vektor adı mötərizədə C edə bilərsiniz, 2,4 və olan vektor çıxmaq lazımdır ikinci və dördüncü serialın elementləri. Və əgər siz yalnız bir Alt statistik interquartile kimi vektor üçündür, orta, maksimum, nə olursa olsun, Yalnız xülasə yazın vektor adı və çıxmaq. Ki, həqiqətən faydalı deyil proqramlaşdırma lakin siz oynayan edirsinizsə data dəstləri ətrafında, bu lazımlı deyil. Əsasən Matrices-- yüksək ölçülü Diziler. Onlar bu xüsusi notation sintaksis var. Olur ki, bir sıra ilə Matrix məlumatları ilə sorry, matrix in-- dolu, satır sayı, sütun sayı. Bəzi məlumatlar var, o, doldurur array əsasən alt-üst olacaq ilk. Sonra sağ. Belə ki, kimi. Və R inşa etmişdir matrix multiplications, spektral parçalanma, diagonalization, bir çox şeyi. Daha yüksək ölçülü istəyirsinizsə Diziler, belə ki, 3, 4, 5, və ya siz nə ölçüləri edə bilərsiniz. syntax array dim c bərabərdir, sonra ölçüləri siyahısı. Siz 4 ölçülü array istəyirsinizsə ölçüləri 4, 7, 8, 9, array, dim c (4,7,8,9) bərabərdir. Siz Mötərizədə ilə bir dəyərlər daxil ilk giriş vergül ikinci giriş. Siz bütün dilim əldə edə bilərsiniz satır və ya sütun. Bu natamam sintaksis ilə bu yalnız sayı vergül və ya vergül sütun sıra nömrəsi. Belə ki, siyahıları bağlı serialın bir növ var. Onlar burada öz sintaksis var. Yenə Çılgın deyil bütün bu aşağı surəti. Bu yalnız, belə ki, insanlar sonra slaydlar keçir bütün gözəl istinadən bu var. Bu çox təbii bir dəfə olacaq Mən, həqiqətən, demoları vasitəsilə gəzmək. Belə ki, bir əsasən bağlı Diziler siyahıları. Siz dəyərlər əldə edə bilərsiniz Adı, dollar işarəsi, düyməsini basın. Sizin siyahısı foo adlı Belə ki, sonra bu kimi gedə bilərsiniz. Siz bütün əsas dəyər cüt əldə edə bilərsiniz kvadrat mötərizə indeksi keçərək. Siz qeyri-mövcud oxumaq əgər əsas, siz null almaq lazımdır. Bu səhv deyil. Thing R kimi edəcəyik deyil Bu kimi null ilə çox. Və bu edirsinizsə ki, demək bilər null çıxmaq gözləyirik deyil bəzi oxumaq, siz bəzi almaq lazımdır daha aşağı gözlənilməz səhvlər line. Bu başıma mənim yay iş zaman R istifadə Mən necə müəyyən dəyişdi harada siyahısı bir ləkə müəyyən edilmişdir lakin sonra dəyişməyib bu dəyərlər oxuyun kodu. Və nə baş I idi Bu siyahıda həyata null dəyərlər oxu, funksiyaları onları keçən, və çox qarışıq olan Mən bütün növ var zaman təsadüfi Infinities qədər əkin bu funksiyası. Müəyyən maksimum tətbiq Çünki əgər və ya minimum funksiyaları null, Siz sonsuz dəyərlər almaq lazımdır. Data çərçivələr, onlar siyahısı yarımsinif istəyirik. Hər dəyər vektor edir eyni uzunluğu. Onlar təqdim istifadə etdiyiniz, əsasən, data masalar. Bu başlatma sintaksis var. Bu, bütün, daha çox olacaq aydın siz demo almaq zaman. Və gözəl şey haqqında data çərçivəsində sizin ki bütün sütun adları verə bilər və bütün satır adlar. Və belə ki, daxil edir onlara bir az friendlier. Ayrıca, bu necə ən funksiyaları ki, Excel tablolar məlumat oxumaq və ya mətn faylları, məsələn, onların data oxuyacaq. Onlar onu qoymaq lazımdır data çərçivəsində bir növ. Funksiyaları funksiyaları belə syntax bir az qəribə deyil. Daha funksiyası adı, sonra bu söz funksiyası təyin və dəlilləri siyahısı. Bəzi gözəl şeylər var, belə ki, haqqında funksiyaları çalışır. Bir, həqiqətən, təyin edə bilər müəyyən arqumentlər default dəyərlər. Belə ki, R1 demək olar bərabərdir Siz foo demək olar R1 bir şey bərabərdir bir funksiyası var istifadəçi müəyyən əgər ismarıcları heç bir dəlilləri. Əks halda, o qoymaq nə var. Bu çox lazımlı Çünki funksiyaları bir çox var tez-tez onlarla və ya dəlilləri yüzlərlə. Hiylələri Məsələn olanlar qrafik və ya hiylələri dağıtmaq sahələri nəzarət arqumentlər var Adı və ox hər şey reqressiya xətlərinin rəng yazıları. Və əgər siz istəmirəm insanlar müəyyən etmək üçün Bu hər birinin dəlilləri yüzlərlə hər bir aspekti nəzarət sahəsi və ya reqressiya və ya nə olursa olsun, bu default dəyərlər üçün gözəl. Və sonra həqiqətən bilərsiniz Burada geri gördüm yazın. Və ya daha yaxşı bir nümunə tapa bilərsiniz. Siz funksiyaları zəng zaman həqiqətən bilərsiniz arqument adları istifadə edərək, onları çağırırıq. Belə ki, burada bir nümunə var matrix konstruktor. Bu üç dəlilləri. Adətən məlumatlar var, olan vektor edir. Siz N sıra, olan satır sayı. Siz N sütunların sayını cols-- var. Siz yazın əgər bir şey N sıra bərabərdir nə və N col hər hansı zaman bərabərdir Siz bu funksiyası zəng etdiyiniz həqiqətən, onlara ləğv edə bilər. Belə ki, ilk və N sıra N col qoya bilər ikinci və heç bir fərq edəcək. Belə ki, bir gözəl az xüsusiyyət var. Idxal və ixrac etdi. Bu əsasən, edilə bilər. Yazmaq üçün imkanları da var ixtiyari R ikili fayl obyektləri və sonra geri sonra onları oxuyun. Siz yapýyorsun əgər lazımlı olan böyük interaktiv sessiya R və saxlamaq lazımdır şeyi çox tez. Mənim cari olaraq R iş kataloq var faylları daxil yazılı almaq və geri oxuyun. Siz görə bilərsiniz getwg, setdw ilə dəyişir. Burada xüsusilə maraqlı bir şey Belə ki, indi faktiki statistika multilinear reqressiya stuff--. Adi sintaksis belə mürəkkəb bir az. model əsasən böyük obyekt deyil. Bu, LM təyin olur olan bir funksiyası zəng edir. ilk element, y tilde x1 plus nə. Mənim syntax burada bir az qarışıqdır. Mən bu olduqca kədərləndim standart yoldur kompüter elm kitablar bunu. Amma bu bir az qəribə deyil. Belə ki, əsasən, bu lm var parantez, ilk maddə sorry dəyişən ki, asılı dəyişən tilde x1 x2 plus plus müstəqil lakin çox dəyişənlər var. Və sonra bu ola bilər istiqamətini, eyni uzunluğu. Yoxsa onlar sütun ola bilər bir veri çərçivəsində mövzular Siz yalnız belirttiğiniz İkinci arqument data frame. Siz həmçinin daxil edə bilərsiniz daha mürəkkəb formula belə ki, xətti yoxdur bir asılı dəyişən tənəzzül, və ya pre-mövcud vektor bir vektor. Siz misal üçün, nə edə bilər, bir vektor komponent y kvadrat plus 1 və qarşı tənəzzül bəzi digər vektor daxil edin. Siz xülasəsi çap edə bilərsiniz adlanan bu komanda ilə model summary-- yalnız xülasə model parens. Yenə aydınlaşdırmaq lazımdır başqa bir şey. Düzəldilir olacaq başqa bir şey slaydlar internet getmək zaman. Yalnız hesablamaq istəyirsinizsə sadə korrelyasiya Siz korrelyasiya vektor istifadə edə bilərsiniz 1 vektor 2 funksiyası core. Metod default deyil Pearson ilişki. Həmin edə bilərsiniz standart olanlardır. Orada da Spearman və Kendell ilişki olan bəzi müxtəlif var sıralarına korrelyasiya. Yaxşı onlar məhsul hesablamaq deyil istiqamətini özləri arasında anlar, lakin Vector dərəcə sifariş. Hesab edirəm ki, daha sonra izah edəcəyik. Auditoriya: Quick sual CONNER HARRIS: Sure. Auditoriya: Belə ki, hesablanması edirik Sadə ilişki nə üçün Bir statistik var ki, güman korrelyasiya üçün əhəmiyyəti? CONNER HARRIS: Siz yoxdur. Bir lm əsasən yalnız bir maşın. Bu iki şeyi edəcək və tüpürmək edəcək ən yaxşı seçimdir xətti üçün əmsalları. O, həmçinin standart hesabat həmin əmsallar üzrə səhvlər. Kimi Və bu, sizə xəbər verəcəkdir anlamlı intercept və ya 0 fərq. Yaxşı yamacında edir fit line statistik sıfırdan fərqli Et Cetera. Heç bir şey tutur Belə ki, mən hesab edirəm ki, Sizin suala ən yaxşı cavab. OLDU. Plotting-- belə əsas səbəbi olmalıdır multilinear reqressiya kimi, R istifadə edin. Əsasən hər dil ki, bəzi obyekti var. Və vicdanla R syntax reqressiya bir az gizli var. Bu, həqiqətən işıq saçır yerdir lakin hiylələri edir. başlıca elementidir funksiyası sahəsi və iki istiqamətini, x və y edir. Və sonra ellipses çox dayanır isteğe dəlilləri çox sayda ki adları rəng hər şeyi nəzarət müxtəlif xətləri və ya müxtəlif bal, sahəsinin növü. Siz dağıtmaq ola bilər sahələri və ya line sahələri. [Işitilemez] 2 istiqamətini eyni uzunluğu. Bu əlavə tənzimlənəcək qabaqca bilər Sizin script data çərçivə. Və bu yalnız sütun istifadə imkan verir əvəzinə ayrı-ayrı istiqamətini başlıqlarını. Siz ən yaxşı seçimdir xətləri və yerli əlavə edə bilərsiniz Sizin graph reqressiya əyriləri. Bu əmrləri verilmişdir Burada ab line və xətləri, default bu almaq pop up pəncərə daxil yazılı Bu ki, nəzərdə tutur, çünki siz interaktiv R istifadə edirik. Siz değilseniz bilərsiniz iki faylları yazmaq istədiyiniz həqiqətən hər hansı bir format var. Bağışlayın, mən yalnız həyata bir typo var. Açmaq istəyirsinizsə, başqa qrafik cihaz Siz PNG və ya adlanan bu funksiyanı istifadə edə bilərsiniz JPEG və ya digər şəkil formatları bir çox. Və üçün qrafik yaza bilərsiniz nə fayl adı belirttiğiniz. Siz use-- lazımdır ki, ləğv etmək üçün Mən slayd bu yazmadım lakin bir funksiyası adlanır dev var off dot dəlilləri yox edir. Sonra obyektləri var 3D hiylələri üçün və kontur üçün hiylələri etmək istəyirsinizsə iki müstəqil dəyişənlərin qrafik. İndi bu daxil deyil. Bəzi var animasiya üçün obyektləri bu adətən üçüncü şəxslər tərəfindən saxlanılır. Mən R qrafik ilə animasiyalar etmiş amma bu üçüncü tərəf istifadə etməmişlər kitabxana. Beləliklə, mən, həqiqətən, təsdiq edə bilməz necə yaxşı onlar. Nə istəyirsinizsə, mən tövsiyə R istifadə animasiyalar etmək Siz bütün yazmaq bilər animasiyalar üçün çərçivələr və sonra bir istifadə edə bilərsiniz üçüncü program-- Tipik olanları FFmpeg deyilir və ya ImageMagick-- stitch bir animasiya sizin çərçivəsində bütün. Demo üçün vaxt belə. Sistem kimi hər hansı bir Unix kullanıyorsanız Belə ki, olan Linux BSD, lakin kim BSD istifadə edir. OS X bir terminal pəncərə açmaq və skript istemi R yazın. Siz R studiya varsa və ya də işləyir kimi. Windows istifadəçiləri üçün siz olmalıdır Başlat menyusundan R tapmaq mümkün. Bu bir şey adlandırmaq lazımdır R x64 kimi 3 point nə. Orada açmaq. Belə ki, indi yalnız mənə imkan bir terminal pəncərə açmaq. Bütün hüquqlar, search. Auditoriya: Command-Space CONNER HARRIS: Command-Space təşəkkür edirəm. Mən adətən Macs istifadə etməyin. Terminal, yeni pəncərə göstərir. New pəncərə parametrləri əsas, R. Beləliklə, siz almaq lazımdır bir xoş mesaj bu kimi bir şey. Belə ki, interaktiv R istifadə edirəm. Siz həmçinin əlbəttə R skript yaza bilərsiniz. Əsasən scripts run eyni yolu kimi Siz kompüter oturan halda Bir anda hər xətti bir yazaraq. Belə ki, bir vektor edərək başlamaq edək. A arrow C 1, 2. 1, 2, 4. Əmin, OK. Mən font size böyük edə bilərsiniz. Auditoriya: Command-Plus CONNER HARRIS: Command-Plus. Command-Plus. Bütün hüquqlar ki, necə? Yaxşı? OLDU. Belə ki, ilə başlamaq edək vektor siyahısı elan. A, arrow, C 1,2,4 yoxdur. Biz edə bilərsiniz. Orada bracket narahat etməyin. Siz çap əgər Mötərizədə belə çox uzun Diziler, biz sizin bilərsiniz. Məsələn, ola bilər, əgər mən yalnız 200 sıra 2 istəyirəm. Mən çox çap əgər uzun array, mötərizədə yalnız mən davam edə bilərsiniz ki, track olan index Mən arıyorum əgər biz etdiyiniz Bu vizual vasitəsilə. Belə ki, afərin, biz bir var. Belə ki, diziler qarşılıqlı əvvəl bildirib çox gözəl ilə, məsələn, oxşar unary əməliyyatları. Belə ki, mən lazımdır nə düşünür Mən plus 1 yazın əgər almaq? Yep. Sağ, indi etmək lazımdır Bu müxtəlif array. B c 20,40, 80 deyirlər. Beləliklə, siz nə düşünürsünüz Bu komanda olacaq? Elementləri əlavə edin. Və belə əsasən bu nə var. Belə ki, bu, olduqca rahatdır. Belə ki, necə bunu barədə. c edir, bu 10, 6 dəfə 1 deyək. Belə ki, nə görmək istəyirəm olan, sizcə? Altı Belə ki, bütün Multiples. İndi siz nə düşünürsünüz Mən bunu əgər baş verəcək? Mən bu bir az aydın, c, c etmək lazımdır. Belə ki, nə, nə Mən bunu əgər, düşünürsünüz? bir plus c. [Işitilemez] Auditoriya: bir səhv və ya Ya yalnız ilk üç elementləri əlavə edir. CONNER HARRIS: olduqca deyil. Bu var nə. Nə olar bir qısa array, bir, cycled var. Belə ki, biz 124, 124, 124 var. Bəli. Və əsasən, siz bilərsiniz bu davranış əvvəl, bir plus 1, Bu davranış, bir yarımsinif kimi qısa array yalnız sayı 1, bir element array olan. Mən yalnız bütün vektor deyərək ola əvəzinə serialın vaxt, ki, çünki nə r sənədlərin adətən edir. Bu kök salmış c vərdiş var. OK, belə ki, indi biz bu array var. Beləliklə, biz bu array, c var. Biz xülasə əldə edə bilərsiniz c, xülasə c statistikası. Və gözəl. Belə ki, indi bəzi matrix şeylər edək. Nin m bir matrix demək edək. Üç bir çox bir üç edək. Belə ki, nrows 3 bərabərdir, və ncols 3 bərabərdir. Və məlumat üçün nə edək belə nə Bunu gedir düşünürsünüz? Sağ, bu, növbəti biri. Bu nrow və ncolumn var. Beləliklə, mən var nə etdik deyil üç üç matrix elan və mən doqquz element array qəbul etdik. Bütün logarithm So elementləri doqquz vasitəsilə biridir. Və bütün bu dəyərlər doldurmaq array üzr up? Auditoriya: base 10 logs o var? CONNER HARRIS: Xeyr, log edir təbii logarithms, belə baza e. Bəli, siz istəyirdi bazası 10 günlük, Mən sizə istədiyiniz edirəm log 10 bölünür nə daxil. Və [Işitilemez] sadəcə belə data , alt sıra, belə ki, üst doldurur sonra sağ buraxdı. Və bəzi digər etmək istəyirdi array, bu n matrix demək edək. Mən 13, 2 bilmirəm, bu nə edək. Yoxsa mən daha maraqlı bir şey edəcəyik. Mən 4 2 edəcəyik. nrow,-nin, 3 deyək bərabərdir. ncol 4 bərabərdir. n. Beləliklə, biz bu var. İndi biz bu çoxaltmaq istəyirsinizsə, biz n faiz dəfə yüzdə edəcəyini ki, n, çünki. Və biz matrix məhsul var. Onlar gəlmişkən, siz necə gördünüz Mən n elan 2 4 vektor qədər cycled oldu Bu n bütün doldurulmuş? Sizi istəyirdi eigenvalue parçalanma, bu çox asanlıqla edə bilərsiniz bir şeydir. Biz eigen n edə bilərsiniz. Və belə ki, bu, bizim ilk siyahısı ilə qarşılaşırıq. Belə ki, eigen n iki düymələri ilə bir siyahısı. Burada bu array var Dəyərlər. Və istiqamətini, burada bu array olan. Belə ki, çıxarış istəyirdi, demək, bu üçüncü sütun eigenvectors matrix, çünki eigenvectors sütun istiqamətini var. Beləliklə, biz vec eigen n dollar işarəsi edə bilərsiniz istiqamətini, vergül 3, [işitilemez]. Vec. Siz gözləyə bilər kimi deyil. Sonra demək n dəfə faiz dəfə vec. Belə ki, nəticə Burada əlbəttə kimi görünür Biz burada üçüncü eigenvalue etmişdir əgər, olan uyğundur Üçüncü eigenvector. Bu, yalnız hər şey vurulur Bu eigenvector, komponent-müdrik, eigenvalue tərəfindən. Biz gözləyirik nə ki, var, ki, eigenvalues ​​nə var, çünki. Burada hər kəs var deyil Xətti cəbr qəbul? Bir neçə nəfər, OK. Yalnız bir az beyin söndürün. Və biz eigen n almaq həqiqətən əgər 3 dəfə vec dollar işarəsi dəyərlər, eyni şey almaq. Bu sıra kimi fərqli biçimlendirildiğinden əvəzinə sütun vektor vektor, lakin böyük. Və belə ki, o, əsasən gözəl biz matrisleri ilə edə bilərsiniz şeyi, nümayiş siyahıları. Mən gözəl nümayiş etdirməlidir eləcə də funksiyaları haqqında hər şeyi. Belə ki, deyək [işitilemez] funksiyası edək zəng edin n n squared-- funksiyası qarşı func Bu həqiqətən, həqiqətən yaxşı deyil. a, b, bir kvadrat plus b. Belə ki, bir şey haqqında funksiyaları yenidən, onlar açıq qaytarılması bəyanatlar ehtiyac yoxdur. Belə ki, izlersin bilər qiymətləndirdi son bəyanatı geri bəyanat olacaq, və ya dəyəri döndü. Bu halda, belə ki, biz yalnız qiymətləndirən edirik bir şərhdə, kvadrat plus b. Bu default qaytarılması dəyəri olacaq. Bu qoymaq üçün acıyor, heç vaxt , aydın dəyərlər qayıtmaq Bir ilə məşğul olduğunuz, xüsusilə də əgər çox mürəkkəb məntiq funksiyası axır. Amma onlara ehtiyac yoxdur. Belə ki, indi biz FUNC 5, 1 nə edə bilərsiniz Bu beklediğiniz nə əsasən edir. Biz nə edə bilər başqa bir şey, biz, həqiqətən, func b edə bilərsiniz 1 bərabərdir 5 bərabərdir. Biz burada olan sayı müəyyən Belə ki, olan arqument hansı dəlil gedir funksiyası, biz ətrafında flip bilər bu dəyərlər hər yerdə istəyirik. Auditoriya: bir səbəb varmı b ilə yazmaq üçün yalnız istifadə fərqli olaraq bərabərdir nömrələri və vergül? CONNER HARRIS: Bəli, adətən funksiyaları varsa bunu dəlilləri bir çox. Bu tez-tez kimi ola bilər bayraqları ki, yalnız istədiyiniz nadir hallarda istifadə etmək istəyirik. Və bu yolla siz only-- bilər xüsusi dəlilləri müraciət edə bilərsiniz istifadə etmək istəyirəm ki, qeyri-default dəyərlər, üçün və bir yazmaq yoxdur bayraqları dəstə onlardan sonra yalan bərabərdir. Yoxsa mən yenidən bu yaza bilərsiniz b kimi bir default dəyəri 2 bərabərdir. Və sonra mən f FUNC edə bilər, Mən 4, 1 bu dəfə edəcəyik. 4 və 17 kvadrat plus 1, gözləyə bilər. Amma mən də ola bilər yalnız Func 4 bu zəng, Mən, çünki 18 almaq lazımdır Mən b daxil deyil. Belə ki, b 2 default dəyəri olur. OK, belə ki, indi əgər demo ilə birlikdə aşağıdakı, Sizin komanda bu xətt yazın təklif və nə qədər gəlir görürük. Əslində, bu, yoxdur. Bu yazın. Siz bu kimi bir şey almaq lazımdır. Mtcars Belə ki, bir data inşa Bu nümayiş üçün müəyyən ki, gəlir with-- gəlir məqsədləri Sizin r paylanması ilə default tərəfindən. Bu statistika tərtib edir Motor Trend jurnalının 1974 məsələ müxtəlif avtomobil modelləri bir sıra. Belə ki, gallon başına mil var, cylinders-- Mən nə disp is-- at unutmayın. Yəqin ki,. Yalnız Google MT avtomobil varsa, ilk nəticələr sonra bir olacaq rəsmi r sənədlər və izah edəcək Bütün bu məlumatlar sahələri. Belə ki, çəki wt is-- ton avtomobilin çəkisi. Q sec rüb mile vaxt. Belə ki, indi biz bəzi fun şeyi edə bilərsiniz MT avtomobil haqqında məlumat sahədir. Belə ki, biz şeyi edə bilərsiniz sıra adları, mt avtomobilləri kimi. Bu bütün satır siyahısı deyil avtomobil adları müəyyən məlumat. Biz colnames, mt avtomobil bunu edə bilərsiniz. Siz mt maşın varsa, 2 kimi sub-ədədi index. biz ikinci sütun almaq Bu, silindrlər olacaq. Auditoriya: Siz nə etdiniz? CONNER HARRIS: I tipli mt avtomobil, mötərizədə e, olan mənə ikinci verdi mt avtomobil həyata sütun. Biz bir sıra istəyirsinizsə, mən yazın mtcars məsələn, 2 vergül. Kimi digər dəyirmi 2 vergül. Və sizin sıra gedir. Burada yalnız verir ki, bir vektor kimi sütun, lakin sütun. Mən indi həyata I nümayiş unuttum istiqamətini haqqında bəzi sərin şey Siz göstəriciləri ilə edə bilərsiniz ki,. Belə ki, mənə indi bunu edək. Belə ki, c gets-- qoyulması edək 1 10 pause-- 2 dəfə bu. Belə ki, c, yalnız olacaq 20 vasitəsilə vektor 2. Mən C2, bu kimi elementləri bilər. Mən vektor keçə bilər bu kimi mənə imkan ace vec c kimi, c fərqli ad istifadə edin. Ümumiyyətlə, mən edirəm Bu belə ki, almaq deyil kimi C arasında qarışıq vektor tikinti funksiyası, və sonra dəyişən adı kimi c. Vec Mötərizədə c 4, 5, 7. Bu, beşinci dördüncü mənə almaq lazımdır və serialın yeddi elementləri. Mən mənfi qoymaq Vec edə bilərsiniz mənfi 4 kimi index. Ki, bu mənə olacaq dördüncü element qaldırıldı. Sonra mən dilim etmək istəyirdi, Mən 6 vasitəsilə vec 2 edə bilərsiniz. 2 colon 6 yalnız başqa 2 vektor, 3, 4, 5, 6. Ki, həyata spits. Belə ki, afərin geri mt avtomobil. Belə ki, bəzi regressions nə edək. Model edək gets-- deyirlər xətti Bilmirəm regress--. Birinci əlbəttə, mtcars əlavə edək. Belə ki, [işitilemez] model lm, bu tənəzzül edək tilde çəki gallon başına mil. Və sonra data çərçivəsində mtcars edir. Belə ki, xülasə model. OK, belə ki, bu bir az mürəkkəb görünür. Amma əsasən, görən kimi biz gallon başına mil ifadə etmək üçün cəhd edin çəki xətti funksiyası kimi, sonra biz burada bu xətt var, 37,28 at olan tutduğunu. 37,28 nəzəri mil olardı sıfır ağırlığında bir avtomobilin gallon başına. Və sonra hər əlavə ton, Siz gallon başına beş mil döymək ki, off. Bu əmsalların həm orada standart səhvlər edə bilərsiniz. Və onlar çox var anlamlı. Beləliklə, biz çox müəyyən ola bilər Mənfi 10 1 e 10. Mənfi Belə ki, 1 dəfə şey 10, bir ağır avtomobil etmək ki, Bu gallon başına pis mil olacaq. Yoxsa biz bəzi digər model test edə bilərsiniz. Əvəzinə kimi çəki bu regressing, , çəki log onu tənəzzül imkan bəlkə effektiv çəki çünki mileage elə xətti deyil. Bu, bizə 0,7528 kvadrat bir r verdi. Belə ki, bu cəhd edək. Bu dəfə bir imkan çox fərqli dəyişən. Model2. Belə ki, xülasə, model2. Bütün hüquqlar, belə ki, daha, Burada ən yaxşı uyğun xətti var. Bu sýrada bu, deyib əsasən hər zaman ağırlığını artırmaq e amil bir avtomobil Siz gallon başına bu çox mil itirirlər. Və bu dəfə qalıq standart həqiqətən, fərqi yoxdur pseudocode səhv. qalıq standart səhv əsasən yalnız standart səhv Siz sonra yazmayıblar ki, trend xətti üz tutur. Və burada kvadrat bizim r, 0,81 edir bir az daha yaxşı olan nə Biz 0.52 əvvəl idi. Və belə ki, indi bir əlavə edək Bu reqressiya müddəti. Belə ki, gallon başına mil tənəzzül imkan həm çəkilər Daxil və, bu, nə q mil edək, rüb mile vaxt. OK, bu the-- bütün sağ, qsec olmalıdır. Qsec. Həqiqətən Bağışlayın, nə? Oxşar bir şey zəng edək başqa model2 başqa. Oxşar model3 zəng edək. Və indi biz xülasə model3 edə bilərsiniz. Və yenə də, bu əsasən Siz gözləyə bilər nə. Əgər müsbət intercept var. artan effektiv çəki mənfi. Və effektiv artan rüb mile vaxt müsbət, lakin olsa çəki daha belə azdır. İndi daxilən, siz hissi edə bilərsiniz Bu idman avtomobil haqqında düşünmək deyərək. Bir çox sürətli sürətləndirilməsi var, Çox qısa bir rüb mile dəfə. Onlar həmçinin, daha çox qaz istifadə etmək olacaq daha həssas maşın gedir, halbuki yavaş sürətləndirilməsi üçün, yüksək rüb mile dəfə, və belə ,, az qaz istifadə gallon başına ali mil. Great. Və belə ki, indi vaxtıdır bu kimi bir şey sahəsi. Belə ki, belə çılpaq do-- imkan sümükləri biz plots-- edə bilərsiniz Bu data çərçivə əlavə etdik, çünki , əvvəl biz yalnız sahələri, wt mpg edə bilərsiniz. Bu bir az böyük etmək. Orada biz əsasən bir dağıtmaq sahəsi, amma bal Bu görmək cür çətindir. Mən fikirləşmədən nə xatırlamıram syntax sahəsi dəyişdirilməsi üçün. Mən bu olacaq danışarlar yaxşı vaxt, yetişdirmək üçün çox gözəl builtin help var xüsusiyyət yardım quotes adını fəaliyyət göstərir. Biz əsasən yetişdirmək lazımdır istədiyiniz bir şey. Mən, həqiqətən, bunu edəcəyik edirəm type xal sahələrinin p bərabərdir. Ki, bir şey dəyişdirmək mi? Və heç bir deyil, həqiqətən. Oldu. Nədənsə, bu nə zaman üçün bir müddət əvvəl öz kompüter, bütün dağıtmaq xal daha aydın idi. Afərin, görünən dağıtmaq cür? Orada bir var. A orada neçə, bir neçə var. Siz sort sağ, onları görmək olar? Beləliklə, biz bir ən yaxşı seçimdir xətt əlavə etmək istəyirsinizsə, bir az çılpaq burada bu sahəsi ilə bones-- mənə bir az gözəl edək. Main çəki qarşı bərabərdir. Gallon başına Miles. Yenə də, necə faydalı görə bilərsiniz isteğe dəlilləri də burada bir şeyi qoymaq olmayan klaviatura dəlilləri ilə müəyyən bir sifariş Siz sahələri, çünki zaman bu dəlilləri bir çox. Xlab çəki, ağırlıq, ton təşkil edir. Oldu. OK, Bəli, bu cihaz bir az annoying olunur. Lakin, sort orada görə bilərsiniz tərəfində bir grafik adı var. Burada there's-- altındakı ərzində burada ox yazıları var. Mən fikirləşmədən xatırlamıram nə əmrləri ars-- funksiyaları artırmaq üçün nə bu yazıları və adları ölçüsü, lakin onlar orada istəyirik. Və belə ki, biz istəyirsinizsə ən yaxşı seçimdir xətt əlavə, Biz bir şey kimi edə bilər var syntax burada yazılı. Belə ki, biz yalnız model əlavə xatırlayıram mpg, çəki, mtcars idi. Belə ki, və mən bir yaxşı uyğun əlavə etmək istəyirdi line, mən, b line model edə bilər. Və bumu, biz ən yaxşı seçimdir xətt var. Bu yenidən görmək cür çətindir. Mən çox təəssüf edirəm texnoloji çətinliklər. Amma bu, əsasən çalışır top alt sağ. Və miqyaslı olsaydı böyük, siz oldu intercept ki, nə siz xülasə statistika tapmaq Siz xülasə model yazın əgər. OK, belə ki, mən hər kəs olur ümid hissi bir şey nə R bunun üçün yaxşı nə var. Siz çox gözəl sahələri edə bilər öz vaxtında bu, isterseniz. Xarici funksiyası interfeysi belə. Bu adətən bir şeydir giriş mühazirələr əhatə r və ya giriş bir şey. Bu sizə lazım olacaq ehtimal deyil. Lakin, Mən faydalı aşkar keçmişdə öz layihələr. Və heç bir yaxşı var online üçün tutorial. Mən yalnız gedirəm Bu vasitəsilə bütün qamış və sonra tərk etmək pulsuz istəyirik. Və belə xarici funksiyası interface nədir Siz görmək üçün zəng etmək üçün istifadə edə bilərsiniz bir R. məcburi funksiyaları, C. R hesab yalnız R qurulur C 64-bit üzən point hesab, olan double [Işitilemez] yazın. Və nə edə bilərsiniz səbəblərdən bir dəstə bu. Bir üçün, R, bu təfsir Biz maşın kodu aşağı tərtib. Belə ki, yenidən yazmaq edə bilərsiniz almaq sonra C və daxili loops R. Like istifadə üstünlüyü Bu bir az daha rahat C. daha var Bu daha yaxşı şəkil var qurğuların və etajer. Və hələ də edə olarkən almaq üçün daxili loops həyata top sürəti, siz, həqiqətən, lazım deyil. Mövcud C kitabxana yeniden, ki, vacibdir. Kimi bəzi C kitabxana varsa, Mən Fourier çevirir bilmirəm, və ya çox Archean statistika proseduru istifadə yüksək enerji astrofizika və ya bir şey, mən bilmirəm. Yüksək enerji astrofizika belə bir düşüncə deyil, mən hesab edirəm. Amma olan əvəzinə bunu edə bilərsiniz Onların doğma R port yazmaq üçün. Və the-- və yenə sizin əgər kimi R default kitabxanaların ən baxmaq, daxili haqqında, daxili var xarici funksiyadan istifadə etmək niyyətindədir çox geniş interface. Onlar Fourier kimi şeylər olacaq çevirmə və ya korrelyasiya hesablama əmsallar C yazılı və onlar lazımdır yalnız onların ətrafında R sarmalayıcılarının var. interface bir az çətin. Mən düşünürəm onun çətinlik ilə şişirdilərək olunur siz tapa bilərsiniz təlimatlar var. Amma buna baxmayaraq, bu, bir az qarışıqdır. Mən edə deyil bunun üçün yaxşı tutorial tapmaq, bu indi edir. Yenə də, bu bütün seqment sonra sened üçün çoxdur. Çıxarmaq narahat etməyin İndi aşağı hər şey. Aşağıdakı təlimatları Belə ki, UNİX kimi sistemləri üçün, Linux, BSD, OS X Bilmirəm Bu Windows işləri necə, ancaq bunu etməyin sizin Windows yekun layihə. Siz, həqiqətən, istəmirəm. Unix daha yaxşı müəyyən edilir təsadüfi proqramlaşdırma üçün. Belə ki, əsasən xarici funksiyası interface. Bir C yazmaq istəyirsinizsə R ilə istifadə üçün funksiyası bütün almalıdır göstəricilərinə kimi dəlilləri. Belə ki, bir dəyərlər üçün, bu Bu dəyər işarə deməkdir. Diziler üçün, bu bir göstərici ilk element, olan array adları həqiqətən demək nə. Yenə də, bu olmalıdır bir şey deyil olduqca tamamilə p beş müəyyən sonra. Array adları yalnız göstəricilər var ilk element, üzən-point növü ikiqat edir. Və funksiyası etibarsız qayıtmaq üçün var. ola bilər ki, yalnız yol həqiqətən nə R demək R verdi yaddaş değiştirerek edir bu xarici funksiyası vasitəsilə interface. Mən bu yazdıq Burada, məsələn, bu istifadə hesablayır bir funksiyası iki istiqamətini dot məhsul. Bu, iki dəlilləri, vec1, vec2 edir olan istiqamətini özləri, və sonra n olan bir uzunluğu, yenə çünki, R tapmaq üçün [Işitilemez] inşa etmişdir istiqamətini uzunluğu, lakin C deyil. C, istiqamətini bir ixtiyari deyil yaddaş ayrılmış yığın. Belə ki, yol bilərsiniz dot məhsulları hesablamaq yalnız parametri bu müəyyən edilir sıfır və sonra vasitəsilə təkrarlamaq 1-dən, çünki n ulduz n uzunluğu bir göstərici var, yalnız bir şey əlavə bu parametr. Və yaxşı təcrübə ola bilər Siz nə etmək olacaq əgər Bu iki ayrı C funksiyaları yazmaq. Onlardan biri Onlardan biri yalnız has-- dəlilləri və növləri edir Onlar adətən C. olacağını Belə ki, bir sıra edir göstəricilərinə kimi dəlilləri. Amma n kimi bir dəyər dəlilləri, yalnız, surəti dəyərlər kimi görür göstəricilər olmadan. Və sonra bu deyil [Işitilemez] həyata göstərici. Və sonra ola bilər fərqli, əsasən, banderol funksiyası əsasən tələblərinə emal xarici funksiyası Sizin üçün interface. Siz R zəng yol dəfə deyil Sizin funksiyası C yazılı var Siz R cmd shlib, R yazın komanda paylaşılan kitabxana, foo dot c, və ya hər hansı Fayl adı, və OS R terminal deyil shell. Və bu yaradacaq foo adlı kitabxana belə nöqtə. Və sonra onu yükləyə bilər Bizim script və ya interaktiv command Dyn dot yük ilə. Sonra funksiyası var R dot c çağırıb. Bu var arqumentlər edir C funksiyası adı Siz zəng etmək istəyirəm ki. Və sonra bütün parametrləri ki funksiyası, Onlar müvafiq qaydada olmalıdır. Siz bu cür istifadə etmək lazımdır məcbur etmə funksiyaları tam kimi, ikiqat, xarakter, və məntiqi kimi. Və sonra qayıtdıqda daha yalnız siyahısı bir bağlı array parametri adları və dəyərlər sonra funksiyası run. Dot prod var, çünki bu halda belə arqumentlər n out, vec2 vec1 və n int. Biz dot prod var c nöqtə üçün, funksiyası adı biz vec1, vec2, növü coerce, zəng edirik. ya vektor uzunluğu, Mən yalnız vec1 özbaşına seçdi. Bu s demək daha möhkəm olardı vec1 of tam min uzunluğu uzunluğu vec2. Sonra ikiqat sıfır kimi, Biz, həqiqətən, yoxdur, çünki gider nə qayğı parametri həyata biz istəyirik, çünki onu qəbulu hər halda sıfıra. Və sonra nəticələr olacaq əsasən böyük bağlı array vec1, vec2 hər hansı nə edir. Amma biz ilgilendiğiniz out, belə ki, əldə edə bilərsiniz. Bu, daha çox toy nümunəsidir xarici funksiyası interfeys. Amma dot hesablamaq varsa loops kütləvi istiqamətini məhsulları, və ya nə varsa bir loop başqa bir şey, və R etibar etmək istəmirəm, olan yerüstü bir az var onu inşa, bu faydalı ola bilər. Yenə də, bu adətən deyil R. giriş mövzu Bu, çox yaxşı sənədləşdirilmiş deyil. Mən yalnız çünki o cümlədən alıram Mən keçmişdə faydalı tapılmadı. Belə ki, pis təcrübələri. Mən var ki, qeyd funksiyası loop üçün. Ümumiyyətlə Siz, olmamalıdır dil, onu istifadə etməyin. R iteration həyata necə əsasında məcburi, yavaş ola bilər. Onlar yalnız də çirkin baxmaq. R, belə ki, çox gözəl istiqamətini emal oftentimes siz onu istifadə etmək lazım deyil. Sonra adətən bilərsiniz tez-tez vektor əvəz yüksək adlanan bu funksiyaları ilə sifariş funksiyaları, Map, azaldır Tapmaq, və ya Filter. Mən yalnız bir verəcəyik nə bu nümunələr yoxdur. Map yüksək üçün funksiyası, çünki Bu bir arqument kimi bir funksiyası edir. Siz bir funksiyası verə bilər, belə ki, siz bir sıra verə bilər, və funksiyası müraciət edəcək serialın hər element və yeni array qayıtmaq. Əsasən vermək azaldır bu array, siz vermək iki dəlilləri edir ki, bir funksiyası. Bu ilk funksiyası tətbiq edəcək bir başlanğıc dəyəri ilə ilk dəlil. Sonra ikinci ki, nəticə üçün. Sonra üçüncü ki, nəticə üçün, sonra dördüncü ki, nəticə. Bu sonuna olur zaman və sonra qayıtmaq. Belə ki, məsələn, siz istəyirsinizsə bütün elementləri məbləği hesablamaq bir sıra, siz zəng edə bilər daha azaltmaq [Işitilemez] ilə əlavə azaltmaq funksiyası, Func kimi a, b, plus b qayıtmaq. Və sonra 0 dəyər başlayın. Və bütün bu, siz onları tapa bilərsiniz R sənədlərin təsvir hər hansı bir dərslik haqqında funksional proqramlaşdırma. Bu sinif də var adlı funksiyaları funksiyaları tətbiq, Mən onlar do not ağır bir az izah etmək ancaq baxmaq əgər [işitilemez] Əvvəldə qeyd ki, dolu, O olduqca yaxşı onlara izah R proqramlaşdırma onun əlavə. Təcrübələri haqqında daha çox istiqamətini üçün eklenmesi. Evet? Hesab edirəm ki, doğru olmalıdır deyə düşünürəm. Ki, ilk olaraq, vec arrow, ki arrow olmamalıdır. Siz vektor təyin edə bilərsiniz yenə onun uzunluğu plus 1 almaq və bəzi dəyəri təyin. Bu vektor uzatmaq, və ya ki, vec bərabər c, vec newvalue edə bilərsiniz. Yenə əgər C istifadə bir vektor kimi bir dəlil, nəticəsində iyerarxiya yastı olur. Belə ki, yalnız bir vektor almaq lazımdır ki, 1 ilə uzadıla var. Bunu heç vaxt. səbəbi sizə bu nə deyil. Bir vektor ayrılması, o, Bu yaddaş müəyyən bir yığın verir. Ki, vektor ölçüsünü artırmaq varsa, Bu vektor təkrar bölüşdürə var hardasa başqa yerdə. Və belə reallocation olduqca bahalı. Mən necə təfərrüata varmaq deyil yaddaş allocators həyata keçirilir əməliyyat sistemi səviyyədə, lakin bu zaman bir çox edir yaddaş yeni yığın tapmaq üçün. Və həmçinin, siz değilseniz yenidən bölüşdürülməsi çox və çox of tədricən daha böyük chunks, siz son adlı bir şey ilə yaddaş parçalanma, mövcud yaddaş az blokları çox bölünür baxış yaddaş allocators nöqtəsində. Və bu çətindir və bərk olur digər şeylər üçün yaddaş tapmaq üçün. Belə ki, əvəzinə, bunu etmək lazımdır, əgər, əgər Siz bir ucundan bir vektor inkişaf lazımdır növbəti ona eklenmesi yerinə daim siz əvvəlcədən ayrılması lazımdır. Vec arrow, vektor uzunluğu 1000, və ya hər hansı bərabərdir. Və sonra yalnız təyin edə bilər Vector-nin dəyərləri biri Siz bir dəfə ayrılan sonra bir müddət. Mən yenə də, bu mənim yay iş qaçdı Mən NRA diferensial yazırdı tənlik çözücü. Ədədi simvolik deyil. Ideyası bir dəfə ki, Sizin həlli üçün bir dəyəri, növbəti bir hesablamaq üçün istifadə. Sadəlövh Belə ki, mənim təbii meyl, OK demək idi mən bir vektor ilə başlamaq lazımdır ki, bir əhəmiyyətli dəyəri var. Növbəti dəyərindən hesablamaq ki, mənim həll vektor üzərində gedir və əlavə. Başqa bir şey yaratmaq ki, əlavə. Bu, çox, çox yavaş-yavaş getdi. Mən bu həyata bir dəfə və mən sistem dəyişdi Bu vektor eklenmesi olan 10,000 100,000 dəfə kimi, yalnız bir vektor əvvəlcədən bölüşdürülməsi və yalnız ilə çalışan. Mən 1000-dən çox qat sürətli qalxıb. Belə ki, bu bir çox ümumi R proqramlaşdırma üçün tələ. Bir vektor qurmaq lazımdır, əgər parça-parça, bu pre-ayırırlar. Bu gündəmə digər ümumi səfər mənim son slide, səhv rəftar deyil worry-- yoxdur. R, səmimi olmaq, deyil Həqiqətən çox yaxşı bunu. Bir çox vardır qədər məhsul bilər problemləri. Məsələn, bir sıra almaq əgər və ya bir funksiyası həyata vektor Bir gözləyirdik ki, dəyəri əksinə gəlir, və ya, və bir funksiyası daxil keçir ki, Bir dəyər gözləyirik yazdı, ki, bir problem ola bilər. Bəzi funksiyaları kimi, demək, null qayıtmaq bir oxu siyahısı mövcud düyməsini basın. Amma null C kimi deyil burada oxumaq üçün cəhd köhnə göstərici olan, [işitilemez] göstərici null, yalnız çatışmazlıqlar seg və sizin ayıklama əgər bu Siz harada dəqiq deyir. Funksiyaları do-- yerinə, null gözlənilməz şeylər edəcəyik onlar əlli null əgər. Siz max null təqdim edirsinizsə kimi, bu mənfi daimi verəcəyik. Belə ki, Bəli. Və bu baş Mənə mən bir zaman sahələrdə bir dəstə dəyişdi mənim siyahısı strukturunda bir dəfə başqa onları dəyişmədən zaman onlardan oxuyurdum. Və sonra mən təsadüfi bütün növ var infinity nəticələri qədər əkin və mən heç bir fikir onlar gəlib burada. Və təəssüf ki, var heç bir real R ciddi rejimi burada bir şey varsa demək olar Bu bir səhv ola bilər kimi, görünür, Mən ola bilər, belə ki, yalnız orada dayandırmaq intizamlı və düzeltmek. Lakin bir şey var stop əgər çağırıb. Bu, C təsdiqi bərabərdir Bu barədə söhbət etdik, əgər. Mən C iddia düşünmürəm mühazirə mövzu, ancaq bölmə lideri o artıq getdi ola bilər. Əsasən hər hansı bir götürür, əgər dayandırmaq xəbər, belə ki, hər hansı bir bəyanat ki, doğru və ya yalan ola bilər. Bu yalan varsa, onun proqram dayanır. Bu xətti dəqiq nə sizə deyir idi və nə vəziyyətdə bilmədi. Bu çox faydalı, misal üçün, ağlı başında olma yoxlanılması funksiyası giriş. Siz bir funksiyası varsa və, demək, gözləyirik Mənə bir tarix vermək lazımdır, mən istəyirəm tarixləri uzunluğu 1 yalnız bir vektor olmaq və yerdə 1 və 31 arasında. Və əgər, mən bilirəm bir şey yanlış getdi. Mən əvvəl orada dayandırmaq üçün seçin kodu ilə təsiri təsadüfi knock var çətindir ki, vasitəsilə iz. Belə ki, mümkün biri stop üçün istifadə əgər. OK, afərin. Belə ki, sonu var. Gələn üçün çox təşəkkür edirik. Mən bu bir rütbə həvəskar deyiləm. So sorry Siz cansıxıcı edirsinizsə və ya qarışıq və ya nə var. Mən e-poçt suallar almaq üçün xoşbəxtəm connorharris@college.harvard.edu at. Bu hər kəs üçün də gedir Bu sonra yaşamaq və ya izləyir. Həmçinin, baxmayaraq ki mən deyiləm bir TF, mən də çox am qeyri-rəsmi olaraq xidmət etmək istəyən hər kəs üçün məsləhətçisi son layihə R istifadə edərək. Ki, istəyirsinizsə, sonra yalnız TF danışmaq və sonra mənə bir e-poçt yazmaq Mən sizə çalışırıq nə və mən görüş qurmaq bilər Sizinlə dəfə istəyirsinizsə. Belə ki, yenə, çox təşəkkür edirəm. Mən onu həzz ümid edirik. Auditoriya: [işitilemez]. CONNER HARRIS: Əlbəttə. Auditoriya: bir layihənin hansı Bir CS tələbə üçün R istifadə edir? CONNER HARRIS: Siz deyilik Belə ki sırf data mining bir şey, Məsələn, orada şeyi çox var Siz data ilə ilə edə bilər dağ-mədən və maşın təlim. Siz R istifadə edə bilərsiniz bir şey bir komponenti. Mən ilk nümunə tərbiyə Bir web yazılı etdiyiniz əgər və avtomatlaşdırılmış almaq istəyirsinizsə server statistik təhlili Müəyyən bir zaman hər gün logs, ki, bir şey ola bilər yalnız bir qısa etmək çox asandır Siz cədvəli bilər R script Məsələn, hər gecə çalıştırmak üçün. Mən əgər əminəm heç bir səbəb orada istədiyiniz var statistika və ya şəkil imkanları istəyirəm və avtomatik olaraq yerinə bu run var bir qarşılıqlı olan Excel şeyi ilə, Məsələn, bir şey var Siz R istifadə edə bilərsiniz. Mən əvvəl hər hansı bir çox suallar tərk edirsiniz? Yox? Bütün hüquqlar, yaxşı, yenə edirəm gələn üçün çox.