R Proqramlaşdırmanın Əsasları R Statistik Hesablama Mühiti: Tədris Təcrübəsi Yeni Başlayanlar üçün R Proqramlaşdırma Dili

Kurs haqqında
Bu kursda biz R-yə xüsusi alqoritmlərin tətbiqi üçün alət kimi deyil, ilk növbədə proqramlaşdırma dili kimi baxacağıq. Proqram əsas məlumat növlərini və universal semantik qaydaları təqdim edir, həmçinin bəzilərinə toxunur çətin mövzular məlumatların işlənməsi və təhlili zamanı yaranan tipik vəzifələrlə əlaqələndirilir.

Keçmək üçün nə lazımdır
Əslində, R dili (versiya 3.2.0 və ya daha yeni). Video dərsləri inkişaf mühiti kimi RStudio-dan istifadə edəcək. Bununla belə, istəsəniz, hər hansı digər IDE və ya sevdiyiniz redaktorda işləyə bilərsiniz.

Sertifikat
Sertifikat almaq üçün keçid balı - 70 100 bal. Fəxri fərman üçün - 92 .

Bu kurs kimin üçündür

Məlumatların təhlili sahəsində çalışan bakalavr və magistr tələbələri, tədqiqatçılar, analitiklər və tədqiqatçılar

Kurs R və ya digər proqramlaşdırma dillərini bilmək tələb etmir. Bununla belə, verilənlərin emalı sahəsində təcrübəyə malik olmaq və ya proqramlaşdırmanın əsas prinsiplərini bilmək dərsləri izləməyi asanlaşdıracaq. Bu kurs "R-də məlumatların təhlili" kursuna yaxşı uyğun gəlir. Bu kurslar müstəqildir və istənilən qaydada keçirilə bilər

Statistik təhlil elmi tədqiqatın tərkib hissəsidir. Məlumatların yüksək keyfiyyətli emalı nüfuzlu jurnalda məqalə dərc etmək və tədqiqatı beynəlxalq səviyyəyə çıxarmaq şansını artırır. Yüksək keyfiyyətli təhlil təmin edə bilən bir çox proqram var, lakin onların əksəriyyəti ödənişlidir və tez-tez lisenziya bir neçə yüz dollar və ya daha çox başa gəlir. Ancaq bu gün biz pul ödəməli olmayan statistik mühitdən danışacağıq və onun etibarlılığı və populyarlığı ən yaxşı kommersiya statistikası ilə rəqabət aparır. paketlər: biz R ilə tanış olacağıq!

R nədir?

Aydın tərif verməzdən əvvəl qeyd etmək lazımdır ki, R sadəcə bir proqram deyil: bu mühit, dil və hətta bir hərəkətdir! R-yə müxtəlif bucaqlardan baxacağıq.

R hesablama mühitidir, verilənlərin emalı, riyazi modelləşdirmə və qrafika üçün alimlər tərəfindən hazırlanmışdır. R sadə kalkulyator kimi istifadə edilə bilər, sadə statistik təhlillər edə bilərsiniz (məsələn, ANOVA və ya reqressiya təhlili) və daha mürəkkəb uzun hesablamalar, hipotezləri sınamaq, vektor qrafikləri və xəritələr qurmaq. Bu, bu mühitdə edilə biləcəklərin tam siyahısı deyil. Qeyd etmək lazımdır ki, o, pulsuz paylanır və həm Windows, həm də UNIX sinifli əməliyyat sistemlərində (Linux və MacOS X) quraşdırıla bilər. Başqa sözlə, R pulsuz və çarpaz platformadır.

R proqramlaşdırma dilidir, beləliklə, öz proqramlarınızı yaza bilərsiniz ( skriptlər) ilə və xüsusi genişlənmələrdən istifadə edin və yaradın ( paketlər). Paket yardım məlumatı və nümunələri olan, bir arxivdə toplanmış fayllar toplusudur. R əsasında əlavə genişləndirmələr kimi istifadə edildiyi üçün mühüm rol oynayır. Hər bir paket adətən konkret mövzuya həsr olunur, məsələn: “ggplot2” paketi müəyyən dizaynın gözəl vektor planlarını yaratmaq üçün istifadə olunur, “qtl” isə paket genetik xəritəçəkmə üçün idealdır. R kitabxanasında təxminən 2 belə paket var. Bu an 7000-dən çox! Onların hamısı səhvlər üçün yoxlanılır və ictimai sahədədir.


R icma/hərəkət deməkdir.
R pulsuz və açıq mənbəli məhsul olduğundan, o, muzdlu işçi heyəti olan ayrı bir şirkət tərəfindən deyil, istifadəçilərin özləri tərəfindən inkişaf etdirilir, sınaqdan keçirilir və sazlanır. İyirmi ildir ki, tərtibatçıların və həvəskarların nüvəsindən nəhəng bir cəmiyyət formalaşıb. Son məlumatlara görə, 2 milyondan çox insan sənədlərin tərcüməsindən, təlim kurslarının yaradılmasından tutmuş elm və sənaye üçün yeni tətbiqlərin hazırlanmasına qədər bu və ya digər şəkildə R-nin inkişafına və təşviqinə kömək etmək üçün könüllü olub. İnternetdə R ilə əlaqəli əksər suallara cavab tapa biləcəyiniz çox sayda forum var.

R mühiti nə kimi görünür?

R üçün bir çox sarğı var, görünüş və funksionallığı çox fərqli ola bilər. Lakin biz ən populyar seçimlərdən yalnız üçünə qısaca nəzər salacağıq: Linux/UNIX terminalında komanda xətti kimi işləyən Rgui, Rstudio və R.


Statistik proqramlar dünyasında R dili

Hazırda onlarla yüksək keyfiyyətli statistik paketlər mövcuddur ki, onların arasında SPSS, SAS və MatLab aydın liderdir. Bununla belə, 2013-cü ildə yüksək rəqabətə baxmayaraq, R elmi nəşrlərdə statistik təhlil üçün ən çox istifadə olunan proqram məhsulu oldu (http://r4stats.com/articles/popularity/). Bundan əlavə, son on ildə R biznes sektorunda getdikcə daha çox tələb olunur: Google, Facebook, Ford və New York Times kimi nəhəng şirkətlər ondan məlumatları toplamaq, təhlil etmək və vizuallaşdırmaq üçün fəal şəkildə istifadə edirlər (http://www .revolutionanalytics .com/companies-using-r). R dilinin artan populyarlığının səbəblərini anlamaq üçün onun digər statistik məhsullardan oxşar və fərqli cəhətlərinə nəzər salaq.

Ümumiyyətlə, əksər statistik vasitələri üç növə bölmək olar:

  1. GUI proqramları, "bura, bura klikləyin və hazır nəticəni əldə edin" prinsipinə əsaslanaraq;
  1. statistik proqramlaşdırma dilləri, əsas proqramlaşdırma bacarıqlarını tələb edən;
  1. "qarışıq", onun da qrafik interfeysi var ( GUI) və skript proqramları yaratmaq imkanı (məsələn: SAS, STATA, Rcmdr).

GUI ilə proqramların xüsusiyyətləri

Qrafik interfeysə malik proqramlar adi istifadəçiyə tanış görünür və öyrənmək asandır. Lakin onlar qeyri-ciddi vəzifələri həll etmək üçün uyğun deyillər, çünki onların məhdud statistikası var. üsulları və onlara öz alqoritmlərinizi yazmaq mümkün deyil. qarışıq tip GUI qabığının rahatlığını proqramlaşdırma dillərinin gücü ilə birləşdirir. Bununla belə, statistik imkanların SAS və STATA proqramlaşdırma dilləri ilə ətraflı müqayisəsi zamanı həm R, həm də MatLab itirirlər (R, MatLab, STATA, SAS, SPSS statistik metodlarının müqayisəsi). Bundan əlavə, bu proqramlar üçün lisenziya üçün layiqli miqdarda pul ayırmalı olacaqsınız və yeganə pulsuz alternativ Rcmdr-dir: GUI (Rcommander) ilə R üçün sarğı.

R-nin MatLab, Python və Julia proqramlaşdırma dilləri ilə müqayisəsi

Statistik hesablamalarda istifadə olunan proqramlaşdırma dilləri arasında lider mövqeləri R və Matlab tutur. Onlar həm görünüş, həm də funksionallıq baxımından bir-birinə bənzəyirlər; lakin onların spesifikliyini müəyyən edən müxtəlif istifadəçi lobbiləri var. Tarixən MatLab mühəndislik ixtisaslarının tətbiqi elmlərinə fokuslanıb, ona görə də riyaziyyat onun gücüdür. modelləşdirmə və hesablamalar, üstəlik R!-dən daha sürətli! Lakin R statistik məlumatların işlənməsi üçün dar profilli bir dil kimi işlənib hazırlandığından, bir çox eksperimental stat. üsullar meydana çıxdı və onda sabitləşdi. Bu fakt və sıfır qiymət R-ni əsas elmlərdə istifadə olunan yeni paketlərin hazırlanması və istifadəsi üçün ideal platformaya çevirdi.

Digər "rəqabət edən" dillər Python və Juliadır. Mənim fikrimcə, Python, varlıq universal dil proqramlaşdırma, statistik təhlil və vizuallaşdırmadan daha çox veb texnologiyalarından istifadə edərək məlumatların emalı və məlumatların toplanması üçün daha uyğundur (R və Python arasındakı əsas fərqlər yaxşı təsvir edilmişdir). Lakin Julia statistik dili olduqca gənc və iddialı bir layihədir. Bu dilin əsas xüsusiyyəti hesablamaların sürətidir, bəzi testlərdə R-dən 100 dəfə artıqdır! Hələ ki, Julia inkişafının ilk mərhələsindədir və bir neçə əlavə paketi və izləyicisi var, lakin uzunmüddətli perspektivdə Julia R.-nin bəlkə də yeganə potensial rəqibidir.

Nəticə

Beləliklə, R dili hazırda dünyada aparıcı statistik vasitələrdən biridir. Genetika, molekulyar biologiya və bioinformatika, elmlərdə fəal şəkildə istifadə olunur mühit(ekologiya, meteorologiya) və kənd təsərrüfatı fənləri. R tibbi məlumatların işlənməsi zamanı getdikcə daha çox istifadə olunur, SAS və SPSS kimi kommersiya paketlərini bazardan kənara itələyir.

R mühitinin üstünlükləri:

  • pulsuz və çarpaz platforma;
  • zəngin stat arsenalı. üsullar;
  • yüksək keyfiyyətli vektor qrafikası;
  • 7000-dən çox sınaqdan keçirilmiş paket;
  • istifadədə çevik:
    - skriptlər və paketlər yaratmağa/redaktə etməyə imkan verir,
    - C, Java və Python kimi digər dillərlə qarşılıqlı əlaqə qurur,
    - SAS, SPSS və STATA üçün məlumat formatları ilə işləyə bilər;
  • istifadəçilərin və tərtibatçıların aktiv icması;
  • müntəzəm yeniləmələr, yaxşı sənədlər və texnologiya. dəstək.

Qüsurlar:

  • rus dilində az miqdarda məlumat (son beş ildə bir neçə təlim kursları və maraqlı kitablar çıxsa da);
  • proqramlaşdırma dilləri ilə tanış olmayan istifadəçi üçün istifadədə nisbi çətinlik. Qismən bunu yuxarıda yazdığım Rcmdr GUI qabığında işləməklə düzəltmək olar, lakin qeyri-standart həllər üçün hələ də əmr satırından istifadə etməlisiniz.

Faydalı mənbələrin siyahısı

  1. Rəsmi sayt: http://www.r-project.org/
  2. Başlayanlar üçün sayt: http://www.statmethods.net/
  3. Ən yaxşı istinad kitablarından biri: The R Book, Michael J. Crawley tərəfindən 2-ci nəşr, 2012
  4. Rus dilində mövcud ədəbiyyatların siyahısı + yaxşı blog

]. "Əqli əməyin proletarı". Təhsili ilə fizik. Mən 30+ ildir ki, tibbi və bioloji məlumatların emalı sahəsində çalışıram.
Mən Matlab ilə 15 illik sıx əməkdaşlıqdan sonra R-də düz 10 il işləyirəm. Başqa bir iş platformasına köçməyimin əsas səbəbi Yeni Zelandiyanın Oklend şəhərində Yerin o biri tərəfinə öz fiziki miqrasiyam idi. Burada ilk günlərdən həyat məni hələ də peşman olmamış R-nin qucağına itələdi.

Peşəkar ru.net-də R-yə marağın getdikcə artdığını görürəm. Yaxşı, onun haqqında məqalələr bu hörmətli resursda görünür. Bundan əlavə, R dilini rus dilində təqdim etməyə ilk cəhdim üç il əvvəl İova Dövlət Universitetinin Heyvan Elmləri Fakültəsindən həmkarlarım üçün etdiyim təqdimatın ilk (şifahi) hissəsidir.
(tərəfə: amma belə çıxır ki, özünüzü tərcümə etmək çətindir ...)


Bu yazıda

  • R nədir
  • O, haradan gəldi
  • Mən onu niyə sevirəm
  • Miflər və həqiqət

R

Hər şeydən əvvəl R proqramlaşdırma dilindən istifadə edərək statistik və digər elmi hesablamalar üçün sistemdir S .

S- dildə yazılmışdır statistiklər üçün statistiklər. müəllif John Chambers tərəfindən müəyyən edildiyi kimi. Dil yarandığı gündən bəri çox seçici statistik nəsillər tərəfindən çox yaxşı qəbul edilmiş və sınaqdan keçirilmişdir. Hesab etmək olar ki, dünya statistika ictimaiyyətində geniş şəkildə tanınır və qəbul edilir. Dildə S bir sıra kritik epidemioloji, ətraf mühit və maliyyə modelləri dünya miqyasında və bir çox sənaye sahələrində həyata keçirilmiş və hələ də fəaliyyətdədir. Mənim nöqteyi-nəzərdən dil kimi, bir “yazıçı” kimi S dilə çox gözəl alternativdir SAS .

Öz təcrübəmdən - Tanışlıq və ilk dərslər S Mən özüm 90-cı illərin əvvəllərində o dövrün elmi tədqiqatlarında yolları kəsişdiyim ÜST statistiklərindən almışam.

Bir çox hesablamalara görə, R (hər ikisi mənim fikrimcə - və çox da şişirdilmiş deyil) GNU lisenziya standartlarına uyğun olaraq bütün dünyada onlarla güzgüdən sərbəst şəkildə yayılan ən uğurlu açıq mənbə layihələrindən biridir.
Müəlliflər layihənin kommersiyalaşdırılması ilə bağlı bütün təkliflərə qəti imtina ilə cavab verirlər, baxmayaraq ki, bu gün dünyada R-nin quraşdırılmış nüsxələrinin sayının ümumi nüsxələrin sayından çox olduğuna inanmaq üçün əsas var. hamısı statistik təhlilin digər sistemləri.

Əvvəldən və bu günə qədər layihə mənə sabitliyə, istifadəçi dəstəyinə, kod uyğunluğuna və s. mədəniyyət.
Ancaq son cümlə, daha doğrusu, sonrakı alt bölmələr üçün.

Haradan gəldi S və bunun R ilə nə əlaqəsi var?

Şübhəsiz ki, vikipediya sizə daha çox məktublar verəcəkdir.
Mən yalnız S və R-nin bu dünyada bu həyatdakı yerini anlamaq üçün vacib hesab etdiklərimi qeyd edəcəyəm.

Bell Laboratories (aka Bell Labs, AT&T Bell Laboratories) elm və texnologiya tarixində kifayət qədər məşhurdur, xüsusən də IT Co. Statistik tədqiqat həmişə çox ciddi şəkildə qurulmuş və bütün mövcud kompüter vasitələri tərəfindən ciddi şəkildə dəstəklənmişdir (oxumaq - tonlarla Fortran və Lisp kodu).

Sonradan S dilinə çevrilən dil 70-ci illərdə Con Çembersin (John Chambers) təşəbbüsü və rəhbərliyi altında məlumatların Fortran koduna “yedirilməsini” asanlaşdıran skriptlər dəsti kimi yaranmışdır. Bunlar. Ön planda məlumatların interaktiv manipulyasiyası, yığcamlıq, yazıda xoşluq və kodun oxunaqlılığı və müxtəlif cədvəl və qrafik cihazlarında layiqli nəticə əldə etmək vəzifəsi durur.

Dilin sintaksisi demək olar ki, özbaşına mürəkkəb məlumat strukturlarının qurulmasını, konkret statistik tapşırıqları və obyektləri təsvir etmək üçün vasitələr - stat. testlər, modellər və s.

1984-cü ildən bu dil öz adını, öz “İncil”ini aldı (Çambers və Bekers tərəfindən nəşr olunan kitab: S: Məlumatların Təhlili və Qrafikası üçün İnteraktiv Mühit), demək olar ki, tam "centlmen dəsti" statistika və "ehtimal" - paylamalar, təsadüfi ədədlər generatorları, statistik testlər, bir çox standart statistik təhlillər, matrislərlə iş və s. qrafika. Ən əsası isə o, çox münasib qiymətə bütün dünyada istifadəçilər üçün əlçatan oldu.

1988-ci ildə (başqa bir kitab nəşr olundu Yeni S Dili) - OOP istifadə edərək dəyişdirildi, hər şey çox ağlabatan standart dəyərlərə, modifikasiya üçün əlçatanlığa, özünü şərh edən elementlərə və s.

Eyni zamanda, laboratoriyalar mənbə kodları və "Bell Lab" S tələbələr üçün və elmi istifadə üçün pulsuz oldu. Bütün bunlar nədənsə AT&T-nin "mülkiyyətsizliyi" ilə bağlı idi, amma bu detallar məni çox maraqlandırmırdı.

Dilin kommersiya tətbiqləri olub və yəqin ki, hələ də mövcuddur S. qarşılaşdım S PlusS2000. Onlar müxtəlif vaxtlarda müxtəlif şirkətlər tərəfindən dəstəklənirdilər, əsasən, daha əvvəl yaradılanların dəstəyi ilə yaşayırdılar (yaşadılar?) S tətbiqlər. Bu post-Bell versiyalarında S OOP mühərrikinin yeni versiyası var idi, lakin təmiz bir istifadəçi üçün tarixi kod uyğunluğu baxımından demək olar ki, qansız oldu.

R- dilin yeganə qeyri-kommersiya tamamilə müstəqil (orijinal Bell-dən) tətbiqi S.

Və bizim dövrümüzdə nadir bir razılaşma ilə, mənim üçün bir şəkildə təsəvvür edilə bilməz, reklamın cari versiyalarının tərtibatçıları S və qeyri-kommersiya R onların demək olar ki, tam uyğunluğunu və davamlılığını qoruyur.

İndi isə R

Bu həyatda hər hansı bir əhəmiyyətli hadisənin arxasında bir növ xarizmatik şəxsiyyət dayanır. Bununla belə, bu baş verə bilər və fenomenin əhəmiyyətinin tərifidir.

R vəziyyətində üç belə adam var.
Mən artıq Con Çembersin adını çəkmişəm.

Tələbə, sonra isə Oklend Universitetinin Statistika Departamentinin elmi işçisi olan Ross İhaka dissertasiyasının mövzusunu seçdi (bu mövzu ABŞ-da MİT-də aparılıb). virtual maşın(VM) statistik proqramlaşdırma dilləri üçün. aralıq dili kimi seçilmişdir. Lisp (Ümumi Lisp, CL) və onun üzərində kiçik alt çoxluqları "anlayaraq" VM prototipi həyata keçirilir SASS.
Ross dissertasiyasını tamamlamaq üçün Oklendə qayıtdı və orada tezliklə Robert Gentlemanla tanış oldu və R layihəsi ilə maraqlandı.
Ross heç vaxt dissertasiya müdafiə etməyib, amma artıq müdafiə edib dərəcə bir neçə universitetdən "ümumi ləyaqətinə görə". Keçən il bu ada layiq görülüb və doğma universitetində dosent (dosent) vəzifəsini alıb.

Əslən Kanadadan olan, proqramlaşdırmaya həvəsi olan başqa bir statistik Robert Gentleman, Oklend Universitetində təcrübə keçərkən (o zaman Avstraliyada işləyirdi) Rossa “bir növ dil yazmağı” təklif etdi.
Mənim özüm də bu "qurucu atalardan" eşitdiyim əfsanəyə görə, bir aydan çox müddət ərzində dəli bir həvəs içində yenidən yazdılar. CL demək olar ki, bütün komandalar S, o cümlədən güclü xətti modelləşdirmə kitabxanası.

Hesablama mühərriki R, prototip ənənələrinə riayət edərək, tanınmış, ümumi tanınan və pulsuz BLAS kitabxanası seçildi (eyni interfeys ilə ATLAS və s. istifadə etmək imkanı ilə).
Rossun ən yaxın dostlarından biri və eyni zamanda Oakland Universitetinin əməkdaşı olan Paul Murrel sıfırdan bir qrafik mühərriki (C dilində, deyəsən) yazmaq üçün əlindən gələni etdi. S.

Nəticə dərhal yer alan pulsuz tam xüsusiyyətli paket oldu təhsil prosesi Olanle Universiteti, Chambers-in çox ətraflı və yüksək keyfiyyətli kitablarındakı təsvirlərə tam uyğundur, ənənəvi olaraq kağız nüsxələrdə və orta keyfiyyətli çapda nəşr olunurdu, lakin ucuz və əlçatan idi.
GNU (məsələn, GIS) hərəkatındakı bir neçə fəal qrup R-i elmi hesablamalar üçün platforma kimi qəbul etmişdir.

Amma həqiqətən ən geniş şöhrət R o zaman Affimmetrix şirkətinin işində iştirak edən "atalardan" biri Robert Gentleman, şirkətin kommersiya proqram təminatının bütün funksiyalarını təkrarlayanda və açıq mənbə layihəsini işə saldıqda (yaxşı, bir deyil) bioinformatikada əldə etdi. Biokeçirici. Hal-hazırda Biokeçirici bütün "-omika" (genomika, proteomika, metabolomika və s.) üçün açıq mənbə bioinformatikasının şəksiz lideridir.

Ümumi dil Bu bioinformatika fantaziyaları üçün interfeys, əlbəttə ki, R.

Dilin yaradıcısı təqaüdçü Odalar tamamlandığında çember tamamlandı S, aktiv tərtibatçılar qrupunun tamhüquqlu üzvü oldu R.

Onu niyə sevirəm (siyahı)

  1. İnteraktivlik, "Məlumatla proqramlaşdırma" mənim sevimli iş tərzimdir
  2. Eleqant (həvəskar üçün) dil - Siyahıları, məlumat çərçivələrini, funksional proqramlaşdırmanı və lambda funksiyalarını (a-la) yu İfadə azadlığı: eyni problemi on yolla həll etmək olar (rutin hissini yumşaldır)
  3. "O, bu dünyaya ayıq nəzər salır" - nadir hallarda bir ip "düşür" və ya "asılır", çatışmayan məlumatlarla məntiqi əməliyyatlar, iş vaxtında səhvlərin idarə edilməsi (sınaq səhvi), standart I / səviyyəsində sistemlə asan mübadilə. O və s.
  4. İstifadəyə hazır statistik prosedurların tam dəsti
  5. Yaxşı sənədləşdirilmiş və yaxşı saxlanılmışdır - uyğunluq, davamlılıq və s.
  6. Ətrafına insani xoş bir peşəkar icma topladı (forumlar, istifadəçi konfransları və s.)
  7. Xarici kitabxanalar üçün yaxşı sənədləşdirilmiş interfeys və hər hansı bir funksiyada - Fortran, C, Java. Beləliklə, elmin demək olar ki, bütün sahələrində statistika və məlumatların emalının bütün aspektləri üzrə yaxşı sənədləşdirilmiş kitabxanalar dənizi, lakin əsas diqqət bioinformatika/biostatistikaya yönəlmişdir; hər şey müntəzəm və düzgün yenilənir, əgər müəllifin iradəsi varsa
  8. "Əsas konfiqurasiyada" məcburi GUI olmaması - Yaxşı, mən "siçan" adamı deyiləm!
Siyahıdan kənar: Mən əsas iş alətimin... ruhuna malik olduğumdan məmnunam.
Mən, əslində, məqaləmdə nəyi göstərməyə çalışıram.

Niyə və necə istifadə edirəm (nümunələr)

Bu bölmədə yazmağa başladım, amma dayandım.
Yoxsa heç vaxt bitirməzdim.
Oh, bəlkə sonra.

Miflər və həqiqət

R yavaş
R nazikdir, hesablamalar üçün blas/lapack/atlas kitabxanalarından istifadə edir, köhnə Fortran (tez-tez) iş atlarından daha sürətli bir şey yazmağa çalışın. Bütün kritik funksiyalar, bir qayda olaraq, vektor əməliyyatlarından istifadə edir və həyata keçirilir FROM.
R hesablama resurslarından, xüsusən də yaddaşdan sui-istifadə edir
Bəli, tərtibatçılar belə bir günahı tanıyırlar. Amma iş vaxtı bir mütəxəssis indi aparatdan daha bahalıdır. Oyuncaqları müasir işləyən kompüterdən boşaltın və ən real məlumat dəstləri ilə R ilə heç bir probleminiz olmayacaq.
Pulsuz proqram etibarlı ola bilməz
Ola bilər: Fortran, Linux, C, Lisp, Java və s.
Epiloq əvəzinə
Yuxarıda qeyd edildiyi kimi, aşağıdakı yazı əslində kifayət qədər konkret hədəf auditoriyası üçün təqdimatımın tərcüməsidir və mən həmin auditoriyanı qısaca təsvir edəcəyəm.

Bir çox "təmiz" IT Co. belə insanlarla görüşməli olacaq, çünki qida sənayesi kapital toplamaq və mənfəət əldə etmək üçün uzun müddətdir neft və digər enerji mənbələri ilə rəqabət aparır. Tibbdə və farmakologiyada bioinformatika bazarının imkanları nə demək olarsa, məhduddur.

Beləliklə, mənim auditoriyam genetika və heyvandarlıq, baytarlıq, daha az biologiya (əsasən molekulyar) üzrə əsas təhsili olan insanlardır. Dayılar və xalalar (sonuncular daha çoxdur), 20-30 yaş ... proqramlaşdırma (!) On FORTRAN və ya VB, məşhur şəkildə 100k sətir/sütunlu excel cədvəllərini idarə edir və vaxtaşırı öz vəzifələrini (və onların proqramlaşdırmasını) 12 TB paylaşılan yaddaşa malik Linux hesablama 500+ əsas klasteri ilə və vaxtaşırı disk yaddaşının daha on terabayt genişləndirilməsini tələb edərək, "atır".

Metodoloji baza, maksimum ehtimal metodu, "beyin əritməsi" Bayes şəbəkələri və s.

Məlumatlar - vahidlərdən on minlərlə sətirə qədər məlumat cədvəlləri, bəzən fenotipləri olan 1-5 sütun, lakin daha tez-tez - bir-biri ilə və fenotiplərlə zəif əlaqəli dəyişənlərin onlarla və ya yüzlərlə "Ka" sütunları.

Bəli, hələ də var yaxşı ənənə» hər şeyi ailə bağları aspektində (genetik, axırda) nəzərə almaq. Əlaqələr ənənəvi olaraq ölçüləri, məsələn, 40.000 x 40.000 (bu, 40.000 heyvandırsa) olan "qohumluq əlaqələri" (damazlıq) matrisi şəklində təqdim olunur. Yaxşı, ya da (indiyə qədər, xoşbəxtlikdən, yalnız layihədə) 20.000.000 x 20.000.000 - bu, verilənlər bazasında mövcud olan 20 milyon tarixi heyvanın hamısını bir model ilə "örtmək" üçündür ( DB2, kimsə maraqlanırsa və hətta Cobol hələ hər yerdən "kəsilməyib" ...)

Ədəbiyyatla dolu masalarda (eyni zamanda) Fortran, Java, C#, Scala, Octavia, Dummies üçün Linux son bioinformatika məzunlarını tanıya bilərsiniz. Amma nədənsə onların çoxu elmi “kodlayıcılar” üçün tez tərk edirlər.

Bununla belə, mən tərs hərəkət halını da bilirəm. Belə ki R daha çoxu faydalı olacaq.

]. "Əqli əməyin proletarı". Təhsili ilə fizik. Mən 30+ ildir ki, tibbi və bioloji məlumatların emalı sahəsində çalışıram.
Mən Matlab ilə 15 illik sıx əməkdaşlıqdan sonra R-də düz 10 il işləyirəm. Başqa bir iş platformasına köçməyimin əsas səbəbi Yeni Zelandiyanın Oklend şəhərində Yerin o biri tərəfinə öz fiziki miqrasiyam idi. Burada ilk günlərdən həyat məni hələ də peşman olmamış R-nin qucağına itələdi.

Peşəkar ru.net-də R-yə marağın getdikcə artdığını görürəm. Yaxşı, onun haqqında məqalələr bu hörmətli resursda görünür. Bundan əlavə, R dilini rus dilində təqdim etməyə ilk cəhdim üç il əvvəl İova Dövlət Universitetinin Heyvan Elmləri Fakültəsindən həmkarlarım üçün etdiyim təqdimatın ilk (şifahi) hissəsidir.
(tərəfə: amma belə çıxır ki, özünüzü tərcümə etmək çətindir ...)


Bu yazıda

  • R nədir
  • O, haradan gəldi
  • Mən onu niyə sevirəm
  • Miflər və həqiqət

R

Hər şeydən əvvəl R proqramlaşdırma dilindən istifadə edərək statistik və digər elmi hesablamalar üçün sistemdir S .

S- dildə yazılmışdır statistiklər üçün statistiklər. müəllif John Chambers tərəfindən müəyyən edildiyi kimi. Dil yarandığı gündən bəri çox seçici statistik nəsillər tərəfindən çox yaxşı qəbul edilmiş və sınaqdan keçirilmişdir. Hesab etmək olar ki, dünya statistika ictimaiyyətində geniş şəkildə tanınır və qəbul edilir. Dildə S bir sıra kritik epidemioloji, ətraf mühit və maliyyə modelləri dünya miqyasında və bir çox sənaye sahələrində həyata keçirilmiş və hələ də fəaliyyətdədir. Mənim nöqteyi-nəzərdən dil kimi, bir “yazıçı” kimi S dilə çox gözəl alternativdir SAS .

Öz təcrübəmdən - Tanışlıq və ilk dərslər S Mən özüm 90-cı illərin əvvəllərində o dövrün elmi tədqiqatlarında yolları kəsişdiyim ÜST statistiklərindən almışam.

Bir çox hesablamalara görə, R (hər ikisi mənim fikrimcə - və çox da şişirdilmiş deyil) GNU lisenziya standartlarına uyğun olaraq bütün dünyada onlarla güzgüdən sərbəst şəkildə yayılan ən uğurlu açıq mənbə layihələrindən biridir.
Müəlliflər layihənin kommersiyalaşdırılması ilə bağlı bütün təkliflərə qəti imtina ilə cavab verirlər, baxmayaraq ki, bu gün dünyada R-nin quraşdırılmış nüsxələrinin sayının ümumi nüsxələrin sayından çox olduğuna inanmaq üçün əsas var. hamısı statistik təhlilin digər sistemləri.

Əvvəldən və bu günə qədər layihə mənə sabitliyə, istifadəçi dəstəyinə, kod uyğunluğuna və s. mədəniyyət.
Ancaq son cümlə, daha doğrusu, sonrakı alt bölmələr üçün.

Haradan gəldi S və bunun R ilə nə əlaqəsi var?

Şübhəsiz ki, vikipediya sizə daha çox məktublar verəcəkdir.
Mən yalnız S və R-nin bu dünyada bu həyatdakı yerini anlamaq üçün vacib hesab etdiklərimi qeyd edəcəyəm.

Bell Laboratories (aka Bell Labs, AT&T Bell Laboratories) elm və texnologiya tarixində kifayət qədər məşhurdur, xüsusən də IT Co. Orada statistik tədqiqatlar həmişə çox ciddi olub və bütün mövcud kompüter alətləri (oxumaq - tonlarla Fortran və Lisp kodu) tərəfindən ciddi şəkildə dəstəklənib.

Sonradan S dilinə çevrilən dil 70-ci illərdə Con Çembersin (John Chambers) təşəbbüsü və rəhbərliyi altında məlumatların Fortran koduna “yedirilməsini” asanlaşdıran skriptlər dəsti kimi yaranmışdır. Bunlar. Ön planda məlumatların interaktiv manipulyasiyası, yığcamlıq, yazıda xoşluq və kodun oxunaqlılığı və müxtəlif cədvəl və qrafik cihazlarında layiqli nəticə əldə etmək vəzifəsi durur.

Dilin sintaksisi demək olar ki, özbaşına mürəkkəb məlumat strukturlarının qurulmasını, konkret statistik tapşırıqları və obyektləri təsvir etmək üçün vasitələr - stat. testlər, modellər və s.

1984-cü ildən bu dil öz adını, öz “İncil”ini aldı (Çambers və Bekers tərəfindən nəşr olunan kitab: S: Məlumatların Təhlili və Qrafikası üçün İnteraktiv Mühit), demək olar ki, tam "centlmen dəsti" statistika və "ehtimal" - paylamalar, təsadüfi ədədlər generatorları, statistik testlər, bir çox standart statistik təhlillər, matrislərlə iş və s. qrafika. Ən əsası isə o, çox münasib qiymətə bütün dünyada istifadəçilər üçün əlçatan oldu.

1988-ci ildə (başqa bir kitab nəşr olundu Yeni S Dili) - OOP istifadə edərək dəyişdirildi, hər şey çox ağlabatan standart dəyərlərə, modifikasiya üçün əlçatanlığa, özünü şərh edən elementlərə və s.

Eyni zamanda, laboratoriyalar mənbə kodları və "Bell Lab" S tələbələr üçün və elmi istifadə üçün pulsuz oldu. Bütün bunlar nədənsə AT&T-nin "mülkiyyətsizliyi" ilə bağlı idi, amma bu detallar məni çox maraqlandırmırdı.

Dilin kommersiya tətbiqləri olub və yəqin ki, hələ də mövcuddur S. qarşılaşdım S PlusS2000. Onlar müxtəlif vaxtlarda müxtəlif şirkətlər tərəfindən dəstəklənirdilər, əsasən, daha əvvəl yaradılanların dəstəyi ilə yaşayırdılar (yaşadılar?) S tətbiqlər. Bu post-Bell versiyalarında S OOP mühərrikinin yeni versiyası var idi, lakin təmiz bir istifadəçi üçün tarixi kod uyğunluğu baxımından demək olar ki, qansız oldu.

R- dilin yeganə qeyri-kommersiya tamamilə müstəqil (orijinal Bell-dən) tətbiqi S.

Və bizim dövrümüzdə nadir bir razılaşma ilə, mənim üçün bir şəkildə təsəvvür edilə bilməz, reklamın cari versiyalarının tərtibatçıları S və qeyri-kommersiya R onların demək olar ki, tam uyğunluğunu və davamlılığını qoruyur.

İndi isə R

Bu həyatda hər hansı bir əhəmiyyətli hadisənin arxasında bir növ xarizmatik şəxsiyyət dayanır. Bununla belə, bu baş verə bilər və fenomenin əhəmiyyətinin tərifidir.

R vəziyyətində üç belə adam var.
Mən artıq Con Çembersin adını çəkmişəm.

Oklend Universitetinin Statistika departamentinin tələbəsi, sonra isə elmi işçisi olan Ross İhaka dissertasiyasının mövzusu kimi statistik proqramlaşdırma dilləri üçün virtual maşının (VM) qurulması imkanlarının öyrənilməsini seçdi (bu, MIT, ABŞ). aralıq dili kimi seçilmişdir. Lisp (Ümumi Lisp, CL) və onun üzərində kiçik alt çoxluqları "anlayaraq" VM prototipi həyata keçirilir SASS.
Ross dissertasiyasını tamamlamaq üçün Oklendə qayıtdı və orada tezliklə Robert Gentlemanla tanış oldu və R layihəsi ilə maraqlandı.
Ross heç vaxt dissertasiya müdafiə etməyib, lakin artıq bir neçə universitetdə “ləyaqət əsasında” elmi dərəcəsi var. Keçən il bu ada layiq görülüb və doğma universitetində dosent (dosent) vəzifəsini alıb.

Əslən Kanadadan olan, proqramlaşdırmaya həvəsi olan başqa bir statistik Robert Gentleman, Oklend Universitetində təcrübə keçərkən (o zaman Avstraliyada işləyirdi) Rossa “bir növ dil yazmağı” təklif etdi.
Mənim özüm də bu "qurucu atalardan" eşitdiyim əfsanəyə görə, bir aydan çox müddət ərzində dəli bir həvəs içində yenidən yazdılar. CL demək olar ki, bütün komandalar S, o cümlədən güclü xətti modelləşdirmə kitabxanası.

Hesablama mühərriki R, prototip ənənələrinə riayət edərək, tanınmış, ümumi tanınan və pulsuz BLAS kitabxanası seçildi (eyni interfeys ilə ATLAS və s. istifadə etmək imkanı ilə).
Rossun ən yaxın dostlarından biri və eyni zamanda Oakland Universitetinin əməkdaşı olan Paul Murrel sıfırdan bir qrafik mühərriki (C dilində, deyəsən) yazmaq üçün əlindən gələni etdi. S.

Nəticə, Oaklanle Universitetinin tədris proqramında dərhal yer qazanan pulsuz, tam xüsusiyyətli paket oldu. Bu, Chambers-in ənənəvi olaraq kağız nüsxələrdə və orta keyfiyyətli çapda nəşr olunan çox ətraflı və yüksək keyfiyyətli kitablarındakı təsvirlərə tam uyğundur. ucuz və əlçatandır.
GNU (məsələn, GIS) hərəkatındakı bir neçə fəal qrup R-i elmi hesablamalar üçün platforma kimi qəbul etmişdir.

Amma həqiqətən ən geniş şöhrət R o zaman Affimmetrix şirkətinin işində iştirak edən "atalardan" biri Robert Gentleman, şirkətin kommersiya proqram təminatının bütün funksiyalarını təkrarlayanda və açıq mənbə layihəsini işə saldıqda (yaxşı, bir deyil) bioinformatikada əldə etdi. Biokeçirici. Hal-hazırda Biokeçirici bütün "-omika" (genomika, proteomika, metabolomika və s.) üçün açıq mənbə bioinformatikasının şəksiz lideridir.

Təbii ki, bioinformatika fantaziyalarının bu üsyanı üçün vahid interfeys dili oldu R.

Dilin yaradıcısı təqaüdçü Odalar tamamlandığında çember tamamlandı S, aktiv tərtibatçılar qrupunun tamhüquqlu üzvü oldu R.

Onu niyə sevirəm (siyahı)

  1. İnteraktivlik, "Məlumatla proqramlaşdırma" mənim sevimli iş tərzimdir
  2. Eleqant (həvəskar üçün) dil - Siyahıları, məlumat çərçivələrini, funksional proqramlaşdırmanı və lambda funksiyalarını (a-la) yu İfadə azadlığı: eyni problemi on yolla həll etmək olar (rutin hissini yumşaldır)
  3. "O, bu dünyaya ayıq nəzər salır" - nadir hallarda bir ip "düşür" və ya "asılır", çatışmayan məlumatlarla məntiqi əməliyyatlar, iş vaxtında səhvlərin idarə edilməsi (sınaq səhvi), standart I / səviyyəsində sistemlə asan mübadilə. O və s.
  4. İstifadəyə hazır statistik prosedurların tam dəsti
  5. Yaxşı sənədləşdirilmiş və yaxşı saxlanılmışdır - uyğunluq, davamlılıq və s.
  6. Ətrafına insani xoş bir peşəkar icma topladı (forumlar, istifadəçi konfransları və s.)
  7. Xarici kitabxanalar üçün yaxşı sənədləşdirilmiş interfeys və hər hansı bir funksiyada - Fortran, C, Java. Beləliklə, elmin demək olar ki, bütün sahələrində statistika və məlumatların emalının bütün aspektləri üzrə yaxşı sənədləşdirilmiş kitabxanalar dənizi, lakin əsas diqqət bioinformatika/biostatistikaya yönəlmişdir; hər şey müntəzəm və düzgün yenilənir, əgər müəllifin iradəsi varsa
  8. "Əsas konfiqurasiyada" məcburi GUI olmaması - Yaxşı, mən "siçan" adamı deyiləm!
Siyahıdan kənar: Mən əsas iş alətimin... ruhuna malik olduğumdan məmnunam.
Mən, əslində, məqaləmdə nəyi göstərməyə çalışıram.

Niyə və necə istifadə edirəm (nümunələr)

Bu bölmədə yazmağa başladım, amma dayandım.
Yoxsa heç vaxt bitirməzdim.
Oh, bəlkə sonra.

Miflər və həqiqət

R yavaş
R nazikdir, hesablamalar üçün blas/lapack/atlas kitabxanalarından istifadə edir, köhnə Fortran (tez-tez) iş atlarından daha sürətli bir şey yazmağa çalışın. Bütün kritik funksiyalar, bir qayda olaraq, vektor əməliyyatlarından istifadə edir və həyata keçirilir FROM.
R hesablama resurslarından, xüsusən də yaddaşdan sui-istifadə edir
Bəli, tərtibatçılar belə bir günahı tanıyırlar. Ancaq bir mütəxəssisin iş vaxtı indi aparatdan daha bahadır. Oyuncaqları müasir işləyən kompüterdən boşaltın və ən real məlumat dəstləri ilə R ilə heç bir probleminiz olmayacaq.
Pulsuz proqram etibarlı ola bilməz
Ola bilər: Fortran, Linux, C, Lisp, Java və s.
Epiloq əvəzinə
Yuxarıda qeyd edildiyi kimi, aşağıdakı yazı əslində kifayət qədər konkret hədəf auditoriyası üçün təqdimatımın tərcüməsidir və mən həmin auditoriyanı qısaca təsvir edəcəyəm.

Bir çox "təmiz" IT Co. belə insanlarla görüşməli olacaq, çünki qida sənayesi kapital toplamaq və mənfəət əldə etmək üçün uzun müddətdir neft və digər enerji mənbələri ilə rəqabət aparır. Tibbdə və farmakologiyada bioinformatika bazarının imkanları nə demək olarsa, məhduddur.

Beləliklə, mənim auditoriyam genetika və heyvandarlıq, baytarlıq, daha az biologiya (əsasən molekulyar) üzrə əsas təhsili olan insanlardır. Dayılar və xalalar (sonuncular daha çoxdur), 20-30 yaş ... proqramlaşdırma (!) On FORTRAN və ya VB, məşhur şəkildə 100k sətir/sütunlu excel cədvəllərini idarə edir və vaxtaşırı öz vəzifələrini (və onların proqramlaşdırmasını) 12 TB paylaşılan yaddaşa malik Linux hesablama 500+ əsas klasteri ilə və vaxtaşırı disk yaddaşının daha on terabayt genişləndirilməsini tələb edərək, "atır".

Metodoloji baza, maksimum ehtimal metodu, "beyin əritməsi" Bayes şəbəkələri və s.

Məlumatlar - vahidlərdən on minlərlə sətirə qədər məlumat cədvəlləri, bəzən fenotipləri olan 1-5 sütun, lakin daha tez-tez - bir-biri ilə və fenotiplərlə zəif əlaqəli dəyişənlərin onlarla və ya yüzlərlə "Ka" sütunları.

Bəli, onların da hər şeyi ailə bağları (genetika, axır) baxımından nəzərdən keçirmək üçün "yaxşı ənənə" var. Əlaqələr ənənəvi olaraq ölçüləri, məsələn, 40.000 x 40.000 (bu, 40.000 heyvandırsa) olan "qohumluq əlaqələri" (damazlıq) matrisi şəklində təqdim olunur. Yaxşı, ya da (indiyə qədər, xoşbəxtlikdən, yalnız layihədə) 20.000.000 x 20.000.000 - bu, verilənlər bazasında mövcud olan 20 milyon tarixi heyvanın hamısını bir model ilə "örtmək" üçündür ( DB2, kimsə maraqlanırsa və hətta Cobol hələ hər yerdən "kəsilməyib" ...)

Ədəbiyyatla dolu masalarda (eyni zamanda) Fortran, Java, C#, Scala, Octavia, Dummies üçün Linux son bioinformatika məzunlarını tanıya bilərsiniz. Amma nədənsə onların çoxu elmi “kodlayıcılar” üçün tez tərk edirlər.

Bununla belə, mən tərs hərəkət halını da bilirəm. Belə ki R daha çoxu faydalı olacaq.

Gəlin bir az R adlı proqramlaşdırma dili haqqında danışaq. Bu yaxınlarda siz bizim bloqlarımızda statistika və qrafiklərlə işləmək üçün güclü bir dilə ehtiyacınız olan sahələr haqqında məqalələr oxuya bilərsiniz. Və R onlardan biridir. Proqramlaşdırma dünyasında yeni başlayanlar üçün buna inanmaq olduqca çətin olacaq, lakin bu gün R artıq SQL-dən daha populyardır, ondan fəal şəkildə istifadə olunur. kommersiya təşkilatları, tədqiqat və universitetlər.

Qaydaları, sintaksisi və xüsusi tətbiq sahələrini araşdırmadan, R dilini sıfırdan öyrənməyə kömək edəcək əsas kitablara və resurslara nəzər salaq.

R dili nədir, sizə nə üçün lazımdır və ondan necə ağıllı istifadə edə bilərsiniz, GeekWeek-2015 çərçivəsində bir ildən bir qədər az əvvəl keçirdiyi gözəl Ruslan Kuptsovdan öyrənə bilərsiniz.

Kitablar

İndi başda müəyyən bir nizam olduqda, ədəbiyyat oxumağa başlaya bilərsiniz, çünki bu, kifayət qədər çoxdur. Yerli müəlliflərdən başlayaq:


İnternet resursları

Hər hansı bir proqramlaşdırma dilini öyrənmək istəyən hər bir şəxs bilik axtarışında mütləq iki resursa baş çəkməlidir: onun tərtibatçılarının rəsmi veb-saytı və ən böyük onlayn icma. Yaxşı. R üçün istisna etməyək:

Amma yenə də olanlar üçün qayğı ilə doludur Ingilis dili Hələ onu öyrənməyə vaxtım olmayıb, amma R öyrənmək istəyirəm, bir neçə rus resursunu qeyd edim:

Bu arada, şəkli ingilisdilli, lakin daha az məlumatlandırıcı saytların kiçik bir siyahısı ilə tamamlayaq:

CRAN - əslində R inkişaf mühitini kompüterinizə yükləyə biləcəyiniz yer.Bundan əlavə, təlimatlar, nümunələr və digər faydalı oxunuşlar;

Quick-R - qısa və aydın statistika, onun emal üsulları və R dili haqqında;

Burns-Stat - çox sayda nümunə ilə R və onun sələfi S haqqında;

R for Data Science - Garrett Grolemunddan onlayn dərslik formatına tərcümə edilmiş başqa bir kitab;

Awesome R - sevimli GitHub-da yerləşdirilən rəsmi saytdan ən yaxşı kodun seçimi;

Mran - Microsoft-dan R dili;

Tutorial R rəsmi saytdan başqa bir təşkil edilmiş resursdur.



Oxşar yazılar