Valoda r wiki. R programmēšanas valoda un tās vieta starp statistikas programmām

Programmēšana R. 1. līmenī. Pamati

R valoda ir pasaulē populārākais statistikas datu analīzes rīks. Tajā ir plašs datu analīzes, vizualizācijas un dokumentu un tīmekļa lietojumprogrammu izveides iespēju klāsts. Vai vēlaties apgūt šo jaudīgo valodu pieredzējuša mentora vadībā? Aicinām uz kursu "Programmēšana R valodā. 1. līmenis. Pamatzināšanas".

Šis kurss ir paredzēts plašam speciālistu lokam, kuriem nepieciešams meklēt modeļus lielos datu apjomos, tos vizualizēt un veidot statistiski pareizus secinājumus: sociologiem, klīnisko pētījumu vadītājiem/farmakologiem, pētniekiem (astronomija, fizika, bioloģija, ģenētika, medicīna, utt.), IT analītiķi, biznesa analītiķi, finanšu analītiķi, mārketinga speciālisti. Kurss patiks arī speciālistiem, kuri nav apmierināti ar funkcionalitāti (vai maksu) / .

Nodarbību laikā iegūsi pamatiemaņas datu analīzē un vizualizācijā vidē R. Lielākā daļa laika tiek veltīta praktiskiem uzdevumiem un darbam ar reālām datu kopām. Apgūsiet visus jaunos rīkus darbam ar datiem un uzzināsiet, kā tos pielietot savā darbā.

Pēc kursa pabeigšanas tiek izsniegts centra kvalifikācijas paaugstināšanas sertifikāts.

Daudzi piemēri un raksti šajā vietnē aktīvi izmanto “R” programmēšanas valodu.

R for Linux parasti var instalēt, izmantojot jūsu izplatīšanas repozitorijus. Es izmantoju uz Debian balstītus izplatījumus, kuros standarta R instalēšanas komanda izskatās šādi:

Sudo apt instalēt r-base

Jums tas jāievada terminālī.

R skaistums ir šāds:

  1. Šī programma ir bezmaksas (izplatīta saskaņā ar GPL licenci),
  2. Šai programmai ir izstrādātas daudzas pakotnes, lai atrisinātu dažādas problēmas. Tās visas ir arī bezmaksas.
  3. Programma ir ļoti elastīga: jebkuru vektoru un matricu izmērus var mainīt pēc lietotāja pieprasījuma, datiem nav stingras struktūras. Šis īpašums izrādās ārkārtīgi noderīgs prognozēšanas gadījumā, kad pētniekam ir jāsniedz prognoze patvaļīgam periodam.

Pēdējā īpašība ir īpaši svarīga, jo citās statistikas pakotnēs (piemēram, SPSS, Eviews, Stata) tiek pieņemts, ka mēs varam būt ieinteresēti analizēt tikai datus, kuriem ir noteikta struktūra (piemēram, visiem datiem darba failā ir jābūt ar vienādu periodiskumu ar vienādiem sākuma datumiem un beigām).

Tomēr R nav tā draudzīgākā programma. Strādājot ar to, aizmirstiet par peli - gandrīz visas svarīgākās darbības tajā tiek veiktas, izmantojot komandrindu. Tomēr, lai padarītu dzīvi nedaudz vienkāršāku un pašu programmu nedaudz viesmīlīgāku, ir priekšgala programma ar nosaukumu RStudio. Jūs varat to lejupielādēt no šejienes. Tas tiek instalēts pēc tam, kad pats R jau ir instalēts, RStudio ir daudz ērtu rīku un jauks interfeiss, tomēr analīze un prognozēšana tajā joprojām tiek veikta, izmantojot komandrindu.

Mēģināsim apskatīt šo brīnišķīgo programmu.

Iepazīšanās ar RStudio

RStudio interfeiss izskatās šādi:

RStudio augšējā labajā stūrī ir norādīts projekta nosaukums (kura pašlaik mums ir “Nav” - tas ir, tā trūkst). Ja mēs noklikšķināsim uz šī uzraksta un atlasīsim “Jauns projekts” (jauns projekts), mums tiks piedāvāts izveidot projektu. Pamata prognozēšanas nolūkos vienkārši atlasiet “Jauns direktorijs” (jauna mape projektam), “Tukšs projekts” (tukšs projekts) un pēc tam ievadiet projekta nosaukumu un atlasiet direktoriju, kurā to saglabāt. Liec lietā iztēli un mēģini pats izdomāt nosaukumu :).

Strādājot ar vienu projektu, jūs vienmēr varat piekļūt tajā saglabātajiem datiem, komandām un skriptiem.

RStudio loga kreisajā pusē ir konsole. Šeit mēs ievadīsim dažādas komandas. Piemēram, uzrakstīsim sekojošo:

Šī komanda ģenerēs 100 nejaušus mainīgos no normāla sadalījuma ar nulles cerībām un vienības dispersiju, pēc tam izveidos vektoru ar nosaukumu "x" un ierakstīs tajā iegūtās 100 vērtības. Simbols "<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->”, lai gan mūsu mainīgajam šajā gadījumā jābūt labajā pusē. Piemēram, šāds kods izveidos objektu "y", kas ir absolūti identisks objektam "x":

Šie vektori tagad parādās ekrāna augšējā labajā daļā zem cilnes, kuras nosaukums ir “Vide”:

Izmaiņas cilnē "Vide".

Šajā ekrāna daļā tiks parādīti visi objekti, ko saglabājam sesijas laikā. Piemēram, ja mēs izveidojam šādu matricu:

\(A = \begin(pmatrix) 1 & 1 \\ 0 & 1 \end(pmatrix) \)

ar šo komandu:

tad tas tiks parādīts cilnē “Vide”:

Jebkurai funkcijai, kuru mēs izmantojam, noteiktiem parametriem ir jāpiešķir dažas vērtības. Matricas() funkcijai ir šādi parametri:

  • dati – vektors ar datiem, kas jāieraksta matricā,
  • nrow – rindu skaits matricā,
  • ncol – kolonnu skaits matricā,
  • byrow - loģiskais parametrs. Ja “TRUE” (true), tad matrica tiks aizpildīta rindās (no kreisās uz labo, rinda pēc rindas). Pēc noklusējuma šis parametrs ir iestatīts uz FALSE.
  • dimnames - lapa ar rindu un kolonnu nosaukumiem.

Dažiem no šiem parametriem ir noklusējuma vērtības (piemēram, byrow=FALSE ), savukārt citus var izlaist (piemēram, dimnames ).

Viens no “R” trikiem ir tāds, ka jebkurai funkcijai (piemēram, mūsu matricai () ) var piekļūt, tieši norādot vērtības:

Vai arī varat to izdarīt tā, kā mēs to darījām iepriekš - ievērojot secību un izlaižot parametru nosaukumus.

Lai redzētu jebkura objekta saturu, kas atrodas cilnē “Vide”, vienkārši izdrukājiet tā nosaukumu konsolē:

Vēl viena iespēja ir noklikšķināt uz objekta nosaukuma cilnē "Vide".

kur matrica ir mūs interesējošās funkcijas nosaukums. Šādā gadījumā RStudio atvērs īpaši jums paredzēto paneli “Palīdzība” ar aprakstu:

Varat arī atrast palīdzību par funkciju, ierakstot funkcijas nosaukumu “meklēšanas” logā (ikonā ar objektīvu) cilnē “Palīdzība”.

Ja precīzi neatceraties, kā rakstīt funkcijas nosaukumu vai kādi parametri tajā tiek izmantoti, vienkārši sāciet rakstīt tās nosaukumu konsolē un nospiediet pogu “Tab”:

Papildus tam visam varat rakstīt skriptus programmā RStudio. Tie var būt nepieciešami, ja jums ir jāraksta programma vai jāizsauc funkciju secība. Skripti tiek izveidoti, izmantojot pogu ar plus zīmi augšējā kreisajā stūrī (nolaižamajā izvēlnē jāizvēlas “R Script”). Pēc tam atvērtajā logā varat rakstīt jebkuras funkcijas un komentārus. Piemēram, ja mēs vēlamies uzzīmēt līniju grafiku virs sērijas x, mēs to varam izdarīt šādi:

Uzzīmēt(x) līnijas(x)

Pirmā funkcija veido vienkāršu izkliedes diagrammu, bet otrā funkcija pievieno līnijas virs punktiem, kas savieno punktus virknē. Ja atlasīsit šīs divas komandas un nospiedīsit “Ctrl+Enter”, tās tiks izpildītas, kā rezultātā RStudio apakšējā labajā stūrī atvērs cilni “Plot” un tajā parādīs uzzīmēto sižetu.

Ja mums nākotnē joprojām ir vajadzīgas visas drukātās komandas, tad šo skriptu var saglabāt (disketes augšējā kreisajā stūrī).

Ja jums ir jāatsaucas uz komandu, kuru jau kādreiz esat ievadījis, ekrāna augšējā labajā stūrī ir cilne "Vēsture". Tajā varat atrast un atlasīt jebkuru jūs interesējošo komandu un veikt dubultklikšķi, lai to ielīmētu konsolē. Pašā konsolē varat piekļūt iepriekšējām komandām, izmantojot tastatūras pogas Augšup un Uz leju. Taustiņu kombinācija “Ctrl+Up” ļauj parādīt visu neseno komandu sarakstu konsolē.

Kopumā RStudio ir daudz noderīgu īsinājumtaustiņu, kas ievērojami atvieglo darbu ar programmu. Jūs varat lasīt vairāk par tiem.

Kā jau minēju iepriekš, R ir daudz iepakojumu. Visi no tiem atrodas CRAN serverī, un, lai instalētu kādu no tiem, jums jāzina tā nosaukums. Pakešu instalēšana un atjaunināšana tiek veikta, izmantojot cilni “Pakotnes”. Dodoties uz to un noklikšķinot uz pogas “Instalēt”, mēs redzēsim kaut ko līdzīgu šādai izvēlnei:

Atvērtajā logā ierakstīsim: prognoze ir Roba J. Haindmena sarakstīta pakotne, kas satur virkni mums noderīgu funkciju. Noklikšķiniet uz pogas "Instalēt", pēc kuras tiks instalēta "prognozes" pakotne.

Alternatīvi, mēs varam instalēt jebkuru pakotni, zinot tās nosaukumu, izmantojot komandu konsolē:

Install.packages("smooth")

ar nosacījumu, ka tas, protams, atrodas CRAN repozitorijā. smooth ir pakete, kuras funkcijas es izstrādāju un uzturu.

Dažas pakotnes ir pieejamas tikai avota kodā tādās vietnēs kā github.com, un tās vispirms ir jāizveido. Lai izveidotu pakotnes operētājsistēmā Windows, jums var būt nepieciešama programma Rtools.

Lai izmantotu kādu no instalētajām pakotnēm, tā ir jāiespējo. Lai to izdarītu, jums tas jāatrod sarakstā un jāatzīmē vai jāizmanto komanda konsolē:

Bibliotēka (prognoze)

Operētājsistēmā Windows var parādīties viena nepatīkama problēma: dažas pakotnes ir viegli lejupielādējamas un saliekamas, taču tās nekādā veidā netiek instalētas. R šajā gadījumā raksta kaut ko līdzīgu: "Brīdinājums: nevar pārvietot pagaidu instalāciju...". Viss, kas jums jādara šajā gadījumā, ir jāpievieno mape ar R izņēmumiem jūsu antivīrusā (vai jāizslēdz to pakotņu instalēšanas laikā).

Pēc pakotnes lejupielādes mums būs pieejamas visas tajā iekļautās funkcijas. Piemēram, funkcija tsdisplay(), ko var izmantot šādi:

Tsdisplay(x)

Viņa mums izveidos trīs grafikus, par kuriem mēs runāsim sadaļā “Forecaster Toolkit”.

Papildus prognožu pakotnei diezgan bieži dažādiem piemēriem izmantoju Mcomp pakotni. Tajā ir datu sērijas no M-Competition datu bāzes. Tāpēc es iesaku to instalēt arī jums.

Ļoti bieži mums būs vajadzīgas ne tikai datu kopas, bet arī “ts” klases (laikrindas) dati. Lai izveidotu laika rindu no jebkura mainīgā, jums ir jāpalaiž šāda komanda:

Šeit sākuma parametrs ļauj mums norādīt datumu, no kura sākas mūsu laikrindas, un frekvence norāda datu biežumu. Cipars 12 mūsu piemērā norāda, ka mums ir darīšana ar mēneša datiem. Šīs komandas izpildes rezultātā mēs pārveidojam vektoru “x” par ikmēneša datu laikrindu, sākot no 1984. gada janvāra.

Šie ir R un RStudio pamatelementi, kas mums būs nepieciešami.

P.P.S. Diezgan labu R ceļvedi QSAR4U vietnē publicējis Pāvels Poliščuks.

P.P.P.S. Daudz informācijas par R ir sniegta oficiālajā tīmekļa vietnē.

Patstāvīgs darbs

Šeit ir daži uzdevumi, kas jums jāveic pašam programmā R. Izpildiet tālāk norādītās komandas, skatiet, kas notiek, un mēģiniet saprast, kāpēc tas notika:

(41/3 + 78/4)*2 2^3+4 1/0 0/0 maks.(1,min(-2,5),maks.(2,pi)) sqrt(3^2+4^2) exp (2)+3i log(1024) log(1024, bāze=2) c(1:3) c(1:5)*2 + 4 x

]. "Garīgā darba proletārietis." Pēc izglītības fiziķis. Medicīnas un bioloģiskās informācijas apstrādes jomā strādāju jau 30+ gadus.
Es strādāju R tieši 10 gadus, pēc 15 gadu ciešas sadarbības ar Matlab uz to pārgāju. Galvenais iemesls pārejai uz citu darba platformu bija mana fiziskā migrācija uz Zemes pretējo galu Oklendā, Jaunzēlandē. Šeit dzīve no pirmajām dienām iespieda mani R rokās, ko man vēl nav nācies nožēlot.

Arvien biežāk profesionālajā tīklā redzu intereses uzliesmojumus par R. Nu, šajā cienītajā resursā parādās raksti par viņu. Tālāk zem griezuma ir mans pirmais mēģinājums krievu valodā iepazīstināt ar R — tā ir pirmā (verbālā) prezentācijas daļa, ko pirms trim gadiem veicu kolēģiem no Aiovas Valsts universitātes Dzīvnieku zinātnes fakultātes.
(uz sāniem: bet izrādās, ka pašam ir grūti iztulkot...)


Šajā amatā

  • Kas ir R
  • No kurienes viņš nāca
  • Kāpēc es viņu mīlu
  • Mīti un patiesība

Kas notika R

Pirmkārt R ir sistēma statistikas un citu zinātnisku aprēķinu veikšanai, izmantojot programmēšanas valodu S .

S- rakstītā valoda ko statistiķi statistiķiem. kā to definējis autors Džons Čemberss. Kopš tās ieviešanas valoda ir ļoti labi uzņemta, un to ir pārbaudījušas ļoti izveicīgu statistikas lietotāju paaudzes. Var uzskatīt, ka tas ir diezgan plaši pazīstams un pieņemts pasaules statistikas sabiedrībā. Uz mēles S Visā pasaulē un daudzās nozarēs ir ieviesti un joprojām darbojas vairāki kritiski epidemioloģiski, vides un finanšu modeļi. Kā valoda ir no manis, kā “rakstošā lietotāja” viedokļa, S ir ļoti patīkama alternatīva valodai SAS .

No savas pieredzes - Ievads un pirmās nodarbības S Es pats to saņēmu 90. gadu sākumā no PVO statistikas ekspertiem, ar kuriem tolaik sadarbojos ar zinātniskiem pētījumiem.

Pēc daudzām aplēsēm, R (gan man, gan ne īpaši pārspīlēti) ir viens no veiksmīgākajiem atvērtā pirmkoda projektiem, kas tiek brīvi izplatīts no desmitiem spoguļu visā pasaulē saskaņā ar GNU licences standartiem.
Autori kategoriski atsakās no visiem priekšlikumiem komercializēt projektu, lai gan šodien ir pamats pieņemt, ka instalēto R kopiju skaits pasaulē pārsniedz kopējo kopiju skaitu visi citas statistiskās analīzes sistēmas.

Projekts no paša sākuma līdz pat šai dienai manī izraisa visdziļāko cieņu (uz apbrīnas robežas) par stabilitāti, lietotāju atbalstu, kodu savietojamību utt., ko es apvienotu koncepcijā kultūra.
Tomēr pēdējais teikums drīzāk ir paredzēts nākamajām apakšsadaļām.

No kurienes tas radās? S un kāds tam sakars ar R

Neapšaubāmi, Wikipedia jums dos daudz vairāk burtu.
Atzīmēšu tikai to, ko uzskatu par svarīgu, lai saprastu S un R vietu šajā dzīvē šajā pasaulē.

Bell Laboratories (pazīstams arī kā Bell Labs, AT&T Bell Labaratories) ir diezgan slavenas zinātnes un tehnoloģiju vēsturē, un jo īpaši IT. Statistiskie pētījumi tur vienmēr tika veikti ļoti nopietni, un tos nopietni atbalstīja arī visi pieejamie datorrīki (lasi - Fortran un Lisp koda tonnām).

Kas vēlāk kļuva par S valodu, radās 1970. gados pēc Džona Čembersa iniciatīvas un vadībā kā skriptu kopa, kas atviegloja datu “ievadīšanu” Fortran kodā. Tie. Galvenā uzmanība tika pievērsta interaktīvām datu manipulācijām, kompaktumam, koda rakstīšanas vienkāršībai un lasāmībai, kā arī pienācīgas izvades iegūšanai dažādās ierīcēs, tabulās un grafikos.

Valodas sintakse paredz gandrīz patvaļīgi sarežģītu datu struktūru konstruēšanu, rīkus konkrētu statistikas uzdevumu un objektu - statistikas - aprakstīšanai. testi, modeļi utt.

Kopš 1984. gada valoda ir ieguvusi nosaukumu, savu “Bībeli” (tika izdota Čembersa un Bekera grāmata: S: Interaktīva vide datu analīzei un grafikai), pēc noklusējuma sāka ietvert gandrīz pilnīgu statistikas un "varbūtības zinātnieku" "džentlmeņu kopu" - sadalījumus, nejaušo skaitļu ģeneratorus, statistiskos testus, daudzas standarta statistiskās analīzes, darbu ar matricām utt., nemaz nerunājot par izstrādāto sistēmu zinātniskā grafika. Vissvarīgākais ir tas, ka tas ir kļuvis pieejams lietotājiem visā pasaulē par ļoti saprātīgu cenu.

1988. gadā (publicēta vēl viena grāmata Jaunā S valoda) - pārveidots, izmantojot OOP, viss kļuva par objektiem ar ļoti saprātīgām noklusējuma vērtībām, modifikācijas pieejamību, pašdokumentācijas elementiem utt., utt.

Tajā pašā laikā laboratorijas publicēja pirmkodu un “Bell Lab” S kļuva par brīvu studentiem un zinātniskai lietošanai. Tas viss kaut kādā veidā bija saistīts ar AT&T “dekulakizāciju”, taču šīs detaļas mani vairs īpaši neinteresēja.

Bija un, iespējams, joprojām ir valodas komerciālas ieviešanas S. Es saskāros S-Plus Un S2000. Viņus dažādos laikos atbalstīja dažādi uzņēmumi, galvenokārt dzīvojot (dzīvojot?) iepriekš izveidotā atbalsta dēļ S lietojumprogrammas. Šajās versijās pēc Zvana S parādījās jauna OOP dzinēja versija, bet tīram lietotājam tā bija gandrīz bez asinīm vēsturiskā koda saderības ziņā.

R- vienīgā nekomerciālā, pilnīgi neatkarīgā (no oriģinālā Bell) valodas realizācija S.

Un mūsdienās retā, kaut kādā veidā neiedomājamā veidā, reklāmas pašreizējo versiju izstrādātāji S un bezpeļņas R atbalsta to gandrīz pilnīgu saderību un nepārtrauktību.

Un tagad R

Aiz jebkuras nozīmīgas parādības šajā dzīvē slēpjas sava veida harizmātiska personība. Tomēr tas var notikt, un tā ir parādības nozīmīguma definīcija.

R gadījumā šādi cilvēki ir trīs.
Es jau minēju Džonu Čembersu.

Ross Ihaka, students un pēc tam Oklendas Universitātes Statistikas departamenta pētnieks, izvēlējās sava disertācijas tēmu (kas tika veikta MIT, ASV), lai izpētītu iespēju izveidot virtuālo mašīnu (VM) statistikas vajadzībām. programmēšanas valodas. Izvēlētā starpvaloda bija Lisp (Common Lisp, CL) un ievieš VM prototipu, kas “saprot” nelielas apakškopas SAS Un S.
Ross atgriezās Oklendā, lai pabeigtu disertāciju, kur drīz vien satika Robertu Džentlmenu un sāka interesēties par R projektu.
Ross nekad nav aizstāvējis savu disertāciju, taču viņam jau ir akadēmiskais grāds vairākās universitātēs, "pamatojoties uz apvienotiem nopelniem". Pagājušajā gadā viņam tika piešķirts tituls un viņš savā dzimtajā universitātē ieguva asociētā profesora (docenta) amatu.

Roberts Džentlmens, vēl viens statistiķis, kurš aizraujas ar programmēšanu, sākotnēji no Kanādas, stažējoties Oklendas Universitātē (toreiz viņš strādāja Austrālijā), ieteica Rosam “rakstīt kādu valodu”.
Saskaņā ar leģendu, ko es pats dzirdēju no šiem “tēviem-dibinātājiem”, gandrīz mēneša laikā viņi ārprātīgā entuziasma lēkmē pārrakstīja C.L. gandrīz visas komandas S, tostarp jaudīga lineārā modelēšanas bibliotēka.

Skaitļošanas dzinējs R, ievērojot prototipa tradīcijas, tika izvēlēta labi zināmā, vispārpieņemtā un bezmaksas BLAS bibliotēka (ar iespēju izmantot ATLAS u.c. ar tādu pašu interfeisu).
Pols Murrels, viens no Rosa tuvākajiem draugiem un arī Oklendas universitātes darbinieks, izgāja no sava ceļa un uzrakstīja (šķiet, ka C valodā) no nulles grafikas dzinēju, kas pilnībā atveido tā funkcionalitāti. S.

Rezultātā tika iegūta bezmaksas, pilnībā funkcionāla pakete, kas acumirklī ieguva vietu Oklendas universitātes izglītības procesā, pilnībā atbilstot aprakstiem Čembersa ļoti detalizētajās un kvalitatīvajās grāmatās, kuras tradicionāli tika izdotas mīkstos vākos un ar vidējo drukas kvalitāti, taču bija lēti un pieejami.
Vairākas aktīvistu grupas GNU (piemēram, GIS) kustībā ir pieņēmušas R kā zinātniskās skaitļošanas platformu.

Bet patiesi visplašākā slava R ieguva bioinformātikā, kad viens no “tēviem” Roberts Džentlmens, kurš tajā laikā bija iesaistīts uzņēmuma Affimmetrix darbā, dublēja visu uzņēmuma komerciālās programmatūras funkcionalitāti un palaida (nu, protams, vairāk nekā vienu) atvērto. avota projekts Bioconductor. Šobrīd Biovadītājs ir neapstrīdams līderis bioinformātikas atvērtā koda jomā visai "omikai" (genomika, proteomika, metabolomika utt.).

Protams, šī bioinformātikas fantāzijas sacelšanās ir kļuvusi par vienoto saskarnes valodu R.

Aplis nonāca pilnā aplī, kad pensionētais Čemberss, valodas radītājs S, kļuva par pilntiesīgu aktīvo izstrādātāju grupas dalībnieku R.

Kāpēc es viņu mīlu (saraksts)

  1. Interaktivitāte, “Programmēšana ar datiem” – mans mīļākais darba stils
  2. Eleganta (amatieru) valoda - man patīk saraksti, datu rāmji, funkcionālā programmēšana un lambda funkcijas (a-la) Vārda brīvība: vienu un to pašu problēmu var atrisināt desmit veidos (mazina rutīnas sajūtu)
  3. “Raugoties uz šo pasauli prātīgi” - reti “avarē” vai “aptur” kādu, loģiskas darbības ar trūkstošiem datiem, kļūdu apstrāde izpildes laikā (try-error), vienkārša apmaiņa ar sistēmu standarta I/O līmenī utt.
  4. Pilns lietošanai gatavu statistikas procedūru komplekts
  5. Labi dokumentēts un labi uzturēts - savietojamība, nepārtrauktība utt.
  6. Ap mani pulcējās cilvēciski patīkama profesionāla kopiena (forumi, lietotāju konferences utt.)
  7. Labi dokumentēts interfeiss ārējām bibliotēkām un funkcijām jebko - Fortran, C, Java. Līdz ar to ir labi dokumentētu bibliotēku jūra par visiem statistikas un datu zinātnes aspektiem gandrīz visās zinātnes jomās, bet galvenokārt koncentrējoties uz bioinformātiku/biostatistiku; viss tiek regulāri un pareizi atjaunināts, ja ir autora griba
  8. Obligāta GUI trūkums “pamata konfigurācijā” - Nu, es neesmu “peles” cilvēks!
No saraksta: esmu tikai gandarīts, ka manam galvenajam darba instrumentam ir... dvēsele.
Tas ir tas, ko es patiesībā cenšos parādīt savā rakstā.

Kāpēc un kā es to lietoju (piemēri)

Es sāku rakstīt šajā sadaļā, bet pārtraucu.
Citādi es nekad nebūtu pabeidzis.
Ak, droši vien kādreiz vēlāk.

Mīti un patiesība

R lēns
R ir “plāns”, aprēķiniem izmanto blas/lapack/atlas bibliotēkas, mēģini uzrakstīt kaut ko ātrāk par šiem vecajiem labajiem Fortran (bieži vien) “darba zirgiem”. Visas kritiskās funkcijas, kā likums, izmanto vektora operācijas un tiek ieviestas AR.
R neracionāli izmanto skaitļošanas resursus, jo īpaši atmiņu
Jā, izstrādātāji atzīst šo grēku. Taču speciālista darba laiks tagad ir daudz dārgāks nekā aparatūra. Izlādējiet rotaļlietas no moderna darba datora, un jums nebūs problēmu ar R ar lielāko daļu reālo datu kopu.
Bezmaksas programmatūra var nebūt uzticama
Var būt: Fortran, Linux, C, Lisp, Java utt.
Epiloga vietā
Kā minēts iepriekš, zemāk esošais ieraksts patiesībā ir manas prezentācijas tulkojums diezgan specifiskai mērķauditorijai, un es īsi aprakstīšu šo auditoriju.

Ar šādiem cilvēkiem būs jāsatiekas daudziem “tīriem” IT uzņēmumiem, jo ​​pārtikas ražošana jau sen konkurē ar naftu un citiem energoresursiem, lai piesaistītu kapitālu un gūtu peļņu. Un bioinformātikas tirgus kapacitāte medicīnā un farmakoloģijā ir ierobežota, lai kā skatītos.

Tātad, mana auditorija ir cilvēki ar pamatizglītību ģenētikā un ciltsdarbā, veterinārmedicīnā un retāk bioloģijā (galvenokārt molekulārajā). Puiši un tantes (vairāk pēdējo), 20-30 gadus veci... programmēšana (!) uz FORTRANE vai VB, kas lieliski pārvalda Excel tabulas ar 100 000 rindu/kolonnu un periodiski “atlaižot” savus uzdevumus (un to programmēšanu) savā Linux skaitļošanas 500+ kodolu klasterī ar 12 TB koplietojamo atmiņu un laiku pa laikam pieprasot diska atmiņas paplašināšanu ar citu. desmit terabaiti.

Metodoloģiskā bāze ir sprādzienbīstams tik senu kā pasaule dispersijas analīžu maisījums ar jauktiem modeļiem, kas atrisināti tikai ar maksimālās varbūtības metodi, “smadzeņu kūstošiem” Bajesa tīkliem utt.

Dati - datu tabulas no vienībām līdz desmitiem tūkstošu rindu, dažreiz ietverot 1-5 kolonnas ar fenotipiem, bet arvien biežāk - desmitiem vai simtiem mainīgo “Ka” kolonnu, kas ir vāji korelētas savā starpā un ar fenotipiem.

Jā, viņiem ir arī “labas tradīcijas” uz visu raudzīties no ģimenes saitēm (galu galā ģenētikas). Radniecības saites tradicionāli tiek pasniegtas “radniecības saišu” (ciltsrakstu) matricas veidā ar izmēriem, piemēram, 40 000 x 40 000 (tas ir, ja ir 40 000 dzīvnieku). Nu, vai (pagaidām, par laimi, tikai projektā) 20 000 000 x 20 000 000 - tas ir, lai ar vienu modeli “noklātu” visus 20 miljonus vēsturisko dzīvnieku, kas pieejami datu bāzē ( DB2, ja kādam interesē, un pat Kobols vēl nav no visur “izgriezts”...)

Uz galdiem, kas nosēti ar literatūru par (tajā pašā laikā) Fortran, Java, C#, Scala, Octavia, Linux for Dummies var atpazīt nesen bioinformātikas absolventus. Bet kaut kā ātri daudzi no viņiem pamet zinātni, lai kļūtu par "kodētājiem".

Tomēr es zinu arī reversās kustības gadījumu. Tātad R noderēs vēl daudziem.

Vēlos runāt par bezmaksas statistiskās analīzes vides R izmantošanu. Uzskatu to par alternatīvu statistikas pakotnēm, piemēram, SPSS Statistics. Man par dziļu nožēlu tas ir pilnīgi nezināms mūsu Dzimtenes plašumos, bet velti. Es uzskatu, ka spēja rakstīt papildu statistiskās analīzes procedūras S padara R par noderīgu datu analīzes rīku.

2010. gada pavasara semestrī man bija iespēja lasīt lekcijas un vadīt praktiskās nodarbības Krievijas Valsts humanitāro zinātņu universitātes Inteliģento sistēmu katedras studentiem kursā “Statistisko datu analīze”.

Mani studenti iepriekš apguva semestra garu varbūtības teorijas kursu, kurā tika ietverti diskrētu varbūtību telpu pamati, nosacītās varbūtības, Beijesa teorēma, lielo skaitļu likums, pamatlikums parastajam likumam un centrālās robežas teorēma.

Apmēram pirms pieciem gadiem es jau pasniedzu nodarbības (toreiz apvienotajā) semestri ilgajā kursā “Varbūtību teorijas un matemātiskās statistikas pamati”, tāpēc paplašināju savas piezīmes (skolēniem pirms katras nodarbības) par statistiku. Tagad, kad Krievijas Valsts humanitāro zinātņu universitātē ir katedras studentu serveris isdwiki.rsuh.ru, es vienlaikus augšupielādēju tos FTP.

Radās jautājums: ar kādu programmu man vajadzētu vadīt praktiskās nodarbības datorklasē? Bieži lietotā Microsoft Excel tika noraidīta gan tāpēc, ka tā bija patentēta, gan tāpēc, ka tajā nepareizi tika ieviestas dažas statistikas procedūras. Par to varat lasīt, piemēram, A. A. Makarova un Yu.N. Calc izklājlapas no bezmaksas biroja komplekta Openoffice.org ir pārrusificētas tā, ka knapi varu atrast vajadzīgo funkciju (arī to nosaukumi ir pretīgi saīsināti).

Visbiežāk izmantotā pakotne ir SPSS statistika. SPSS tagad ir iegādājies IBM. Starp IBM SPSS statistikas priekšrocībām es vēlētos izcelt:

  • Ērta datu ielāde dažādos formātos (Excel, SAS, caur OLE DB, caur ODBC Direct Driver);
  • Gan komandu valodas, gan plašas izvēlņu sistēmas pieejamība tiešai piekļuvei dažādām statistiskās analīzes procedūrām;
  • Grafiski līdzekļi rezultātu attēlošanai;
  • Iebūvēts Statistics Coach modulis, kas interaktīvi iesaka piemērotu analīzes metodi.
Manuprāt, IBM SPSS statistikas trūkumi ir šādi:
  • Samaksa pat studentiem;
  • Nepieciešamība iegūt (papildus apmaksātus) moduļus, kas satur īpašas procedūras;
  • Atbalsta tikai 32 bitu Linux operētājsistēmas, lai gan Windows atbalsta gan 32 bitu, gan 64 bitu.
Kā alternatīvu es izvēlējos . Šo sistēmu sāka izstrādāt ar Roberta Džentlmena un Rosa Ihaka pūliņiem Melburnas Universitātes Statistikas departamentā 1995. gadā. Autoru vārdu pirmie burti noteica tā nosaukumu. Pēc tam šīs sistēmas izstrādē un paplašināšanā iesaistījās vadošie statistiķi.

Es apsveru apspriežamās sistēmas priekšrocības:

  • Programmas izplatīšana saskaņā ar GNU publisko licenci;
  • Gan pirmkoda, gan bināro moduļu pieejamība plašajā CRAN (The Comprehensive R Archive Network) repozitoriju tīklā. Krievijai tas ir serveris cran.gis-lab.info;
  • Windows instalācijas pakotnes pieejamība (darbojas gan ar 32, gan 64 bitu Vista). Nejauši izrādījās, ka Windows XP instalēšanai nav nepieciešamas administratora tiesības;
  • Iespēja instalēt no repozitorija operētājsistēmā Linux (man darbojas Ubuntu 9.10 64 bitu versijā);
  • Mūsu pašu programmēšanas valodas pieejamība statistikas procedūrām R, kas faktiski ir kļuvusi par standartu. To, piemēram, pilnībā atbalsta jaunais IBM SPSS Statistics Developer;
  • Šī valoda ir Bell Labs izstrādātās S valodas paplašinājums, kas pašlaik veido komerciālās S-PLUS sistēmas pamatu. Lielāko daļu programmu, kas rakstītas S-PLUS, var viegli izpildīt R vidē;
  • Iespēja apmainīties ar datiem ar izklājlapām;
  • Iespēja saglabāt visu aprēķinu vēsturi dokumentācijas vajadzībām.
Pirmajai nodarbībai tika sagatavoti kompaktdiski, uz kuriem tika ierakstīti instalācijas faili, dokumentācija un rokasgrāmatas. Es jums pastāstīšu vairāk par pēdējo. CRAN nodrošina detalizētas lietotāja rokasgrāmatas par instalēšanu, R valodu (un tās apakškopu S), papildu statistikas procedūru rakstīšanu un datu eksportēšanu un importēšanu. Ieguldītās dokumentācijas sadaļā ir liels skaits statistikas skolotāju publikāciju, kuri izmanto šo paketi izglītības procesā. Diemžēl krieviski nekā nav, lai gan, piemēram, poļu valodā pat ir. No grāmatām angļu valodā vēlos minēt Ņujorkas pilsētas universitātes profesora Džona Verzani grāmatas “R izmantošana ievada statistikai” un Starptautiskās universitātes profesora Rositera (Holande) “Ievads uz R projektu statistiskās skaitļošanas jomā”. Ģeoinformātikas un Zemes novērojumu institūts.

Pirmā nodarbība bija veltīta pakotnes instalēšanai un lietošanas apguvei, kā testa uzdevums tika izmantota iepazīšanās ar R valodas sintaksi. Šeit ir r.v varbūtības aprēķināšanas piemērs. ar eksponenciālu sadalījumu ar parametru 3, ņemiet vērtību, kas ir mazāka par 0,5 (10000 ir mēģinājumu skaits).
> x=runif(10000;0;0.5)
> y=runif(10000;0,3)
>t=y<3*exp(-3*x)
> u=x[t]
>v=y[t]
> plot(u,v)
> i=0,5*3*garums(u)/10000

Pirmās divas rindas norāda vienmērīgu punktu sadalījumu taisnstūrī x, pēc tam tiek atlasīti tie punkti, kas ietilpst eksponenciālā blīvuma diagrammā 3*exp(-3*x), diagrammas funkcija parāda punktus grafiskās izvades logā un beidzot tiek aprēķināts nepieciešamais integrālis.
Otrā nodarbība bija veltīta aprakstošās statistikas aprēķināšanai (kvantiles, mediāna, vidējā, dispersija, korelācija un kovariācija) un grafiku (histogrammas, rūtiņas un ūsas) veidošanai.
Nākamajās nodarbībās tika izmantota Rcmdr bibliotēka. Šī ir grafiskā lietotāja saskarne (GUI) R videi. Bibliotēka ir izveidota ar profesora Džona Foksa no Kanādas McMaster universitātes centieniem.

Šīs bibliotēkas instalēšana tiek veikta, izpildot komandu install.packages("Rcmdr", dependencies=TRUE) R vidē. Ja pati vide ir R valodas tulks, tad "Rcmdr" pievienojumprogramma ir papildu logs aprīkots ar izvēļņu sistēmu, kas satur lielu skaitu komandu, kas atbilst standarta statistikas procedūrām. Īpaši ērti tas ir kursos, kur galvenais ir iemācīt audzēknim spiest pogas (man žēl, tagad tādas kļūst arvien biežāk).

Semināra piezīmes no mana iepriekšējā kursa tika papildinātas. Tie ir pieejami arī, izmantojot FTP, vietnē isdwiki.rsuh.ru. Šajās piezīmēs bija ietvertas kritisko vērtību tabulas, kas tika izmantotas aprēķiniem valdē. Šogad skolēni tika mudināti šīs problēmas risināt datorā un arī pārbaudīt tabulas, izmantojot piezīmēs arī norādītos (normālos) tuvinājumus.

Bija arī dažas manas kļūdas. Piemēram, es pārāk vēlu sapratu, ka Rcmdr ļauj importēt datus no lejupielādētajām pakotnēm, tāpēc salīdzinoši lieli paraugi tika apstrādāti tikai regresijas analīzes klasēs. Prezentējot neparametriskos testus, studenti ievadīja datus ar roku, izmantojot manas piezīmes. Vēl viens trūkums, kā es tagad saprotu, bija nepietiekamais mājasdarbu skaits, lai rakstītu diezgan sarežģītas programmas R valodā.

Jāpiebilst, ka manas nodarbības apmeklēja vairāki vecāko klašu studenti, daži lejuplādēja materiālus no lekcijām un semināriem. Krievijas Valsts humanitāro zinātņu universitātes Inteliģento sistēmu katedras studenti saņem pamatapmācību matemātikā un programmēšanā, tāpēc R vides izmantošana (nevis izklājlapas un statistikas pakotnes ar fiksētām statistikas procedūrām) man šķiet ļoti noderīga.

Ja jūs saskaraties ar uzdevumu pētīt statistiku un īpaši rakstīt nestandarta procedūras statistikas datu apstrādei, tad iesaku pievērst uzmanību R pakotnei.

Nesen saskāros ar šādu fenomenu – daudzi ir dzirdējuši par R programmēšanas valodu. Bet ļoti maz cilvēku zina, kas tas ir.

Tā kā man šī valoda ir dzimtā valoda un mani interesē tās popularizēšana, tad šajā ierakstā mēģināšu šo tēmu nedaudz aptvert. Būs interesanti!

Plāns ir vienkāršs:

1) Kas ir R valoda

2) Popularitāte Krievijā

Kas ir R valoda

R (wiki) ir programmēšanas valoda statistikas datu apstrādei un grafikai, kā arī bezmaksas atvērtā koda skaitļošanas vide saskaņā ar GNU projektu.

Mūsuprāt: valoda ir ideāli piemērota tirgus modeļu meklēšanai. Bezmaksas, ātri un bez maksas.

Tas ļauj veikt statistikas pētījumus par visu, kas jums ir pieejams. Tās pastāvēšanas gadu laikā ir parādījušies desmitiem un simtiem paplašinājumu, kas atrisina gandrīz jebkuru lietojumprogrammu problēmu.

Šī ir vispopulārākā programmēšanas valoda algoritmiskajiem tirgotājiem Rietumos. Tas ir vismodernākais mašīnmācībā un statistikā pašlaik pieejamais.

Lai rakstītu programmas R, vienkārši lejupielādējiet R-Studio un viss



Pirms kāda laika valodas popularizēšanas ietvaros ierakstīju minikursu “R visiem”. Bezmaksas. Skatiet, cik viegli tas viss darbojas un cik ātri varat tajā rakstīt skriptus. Tas ir vienkārši lieliski!

Popularitāte Krievijā

Atstāj daudz ko vēlēties.

Ja Rietumos 90% no visiem pētījumiem tiek veikti, izmantojot šo valodu, tad Krievijā SmartLab paiet reta nedēļa, kurā var atrast vismaz vienu pieminējumu par to. Tie. cilvēku skaits, kas zina R, ir kritiski mazs.

Starp šīs situācijas iemesliem: rokasgrāmatu trūkums krievu valodā vēl nesen, apmācības kursu trūkums, tirgotāju zemā lasītprasme un daudz kas cits. Nerunāsim par šo.

Svarīgi ir tikai tas, ka šīs valodas popularitāte Krievijā un NVS valstīs nepārtraukti pieaug.

Krievijas lietotāji ir noguruši no bojātām API un dārgām tirdzniecības sistēmām. Brīvā R valoda tirdzniecības kontekstā ļoti drīz ieņems savu likumīgo vietu viņu rīku komplektā. Pievienojies mums!

Tas šodienai viss. Ceru, ka bija interesanti.

Noskatieties manu bezmaksas kursu, lai redzētu, cik viegli ir rakstīt kodu. Rakstiet robotus!

Jaunākie materiāli sadaļā:

Praktisks un grafisks darbs pie zīmēšanas b) Vienkāršas sadaļas
Praktisks un grafisks darbs pie zīmēšanas b) Vienkāršas sadaļas

Rīsi. 99. Uzdevumi grafiskajam darbam Nr.4 3) Vai detaļā ir caurumi? Ja jā, kāda ģeometriskā forma ir caurumam? 4) Atrodi...

Augstākā izglītība Augstākā izglītība
Augstākā izglītība Augstākā izglītība

Čehijas izglītības sistēma ir attīstījusies ilgu laiku. Obligātā izglītība tika ieviesta 1774. gadā. Šodien iekšā...

Zemes prezentācija, tās kā planētas attīstība Prezentācija par Zemes izcelsmi
Zemes prezentācija, tās kā planētas attīstība Prezentācija par Zemes izcelsmi

2. slaids Vienā galaktikā ir aptuveni 100 miljardi zvaigžņu, un kopumā mūsu Visumā, pēc zinātnieku domām, ir 100 miljardi...