Internetas. Kompiuteris. Pagalba. Patarimas. Remontas

R paketų diegimas ir tvarkymas Noriu žinoti viską: R kalbos rym – duomenų įkėlimas iš Yandex.Metrica API

Norėčiau pakalbėti apie nemokamos statistinės analizės aplinkos R naudojimą. Manau, kad tai alternatyva statistiniams paketams, tokiems kaip SPSS Statistics. Mano giliai apgailestauju, tai visiškai nežinoma mūsų Tėvynės platybėse, bet veltui. Manau, kad galimybė rašyti papildomas statistinės analizės procedūras S daro R naudingu duomenų analizės įrankiu.

2010 m. pavasario semestrą turėjau galimybę skaityti paskaitas ir vesti praktinius užsiėmimus kurse „Statistinių duomenų analizė“ Rusijos valstybinio humanitarinio universiteto Intelektinių sistemų katedros studentams.

Mano studentai anksčiau išklausė semestro trukmės tikimybių teorijos kursą, apimantį diskrečiųjų tikimybių erdvių pagrindus, sąlygines tikimybes, Bayeso teoremą, didelių skaičių dėsnį, kai kuriuos įprasto dėsnio pagrindus ir centrinės ribos teoremą.

Maždaug prieš penkerius metus jau dėsčiau pamokas (tuo metu kombinuotame) semestro kurse „Tikimybių teorijos ir matematinės statistikos pagrindai“, todėl išplėčiau savo pastabas (išduodamas studentams prieš kiekvieną pamoką) apie statistiką. Dabar, kai Rusijos valstybinis humanitarinis universitetas turi katedros studentų serverį isdwiki.rsuh.ru, vienu metu įkeliu juos į FTP.

Iškilo klausimas: kokia programa turėčiau vesti praktinius užsiėmimus kompiuterių klasėje? Dažnai naudojama „Microsoft Excel“ buvo atmesta ir dėl to, kad ji buvo patentuota, ir dėl to, kad neteisingai įgyvendino kai kurias statistines procedūras. Apie tai galite perskaityti, pavyzdžiui, A. A. Makarovo ir Yu. N. knygoje „Statistinė duomenų analizė kompiuteryje“. Calc skaičiuoklės iš nemokamo biuro paketo Openoffice.org buvo rusifikuotos taip, kad vargiai randu reikiamą funkciją (jų pavadinimai irgi bjauriai sutrumpinti).

Dažniausiai naudojamas paketas yra SPSS Statistics. SPSS dabar įsigijo IBM. Tarp IBM SPSS Statistics privalumų norėčiau pabrėžti:

  • Patogus įvairių formatų duomenų įkėlimas (Excel, SAS, per OLE DB, per ODBC Direct Driver);
  • Galimybė naudotis komandų kalba ir plačia meniu sistema, skirta tiesioginei prieigai prie įvairių statistinės analizės procedūrų;
  • Grafinės rezultatų rodymo priemonės;
  • Integruotas Statistics Coach modulis, kuris interaktyviai siūlo tinkamą analizės metodą.
Mano nuomone, IBM SPSS Statistics trūkumai yra šie:
  • Mokėjimas net studentams;
  • Poreikis įsigyti (papildomai mokamus) modulius su specialiomis procedūromis;
  • Palaiko tik 32 bitų Linux operacines sistemas, nors Windows palaiko ir 32 bitų, ir 64 bitų.
Kaip alternatyvą pasirinkau . Ši sistema buvo pradėta kurti Roberto Gentlemano ir Rosso Ihako pastangomis Melburno universiteto Statistikos departamente 1995 m. Pirmosios autorių vardų raidės nulėmė jos pavadinimą. Vėliau į šios sistemos kūrimą ir plėtrą įsitraukė pagrindiniai statistikos specialistai.

Svarstau aptariamos sistemos privalumus:

  • Programos platinimas pagal GNU viešąją licenciją;
  • Tiek šaltinio kodo, tiek dvejetainių modulių prieinamumas plačiame CRAN (The Comprehensive R Archive Network) saugyklų tinkle. Rusijai tai serveris cran.gis-lab.info;
  • „Windows“ diegimo paketo prieinamumas (veikia ir 32, ir 64 bitų Vista). Atsitiktinai paaiškėjo, kad įdiegimui nereikia administratoriaus teisių naudojant „Windows XP“;
  • Galimybė įdiegti iš saugyklos Linux sistemoje (man veikia 64 bitų Ubuntu 9.10 versijoje);
  • Galimybė turėti savo programavimo kalbą statistinėms procedūroms R, kuri iš tikrųjų tapo standartu. Ją, pavyzdžiui, visiškai palaiko naujasis IBM SPSS Statistics Developer;
  • Ši kalba yra „Bell Labs“ sukurtos S kalbos, kuri šiuo metu yra komercinės S-PLUS sistemos pagrindas, plėtinys. Dauguma programų, parašytų S-PLUS, gali būti lengvai vykdomos R aplinkoje;
  • Galimybė keistis duomenimis su skaičiuoklėmis;
  • Galimybė išsaugoti visą skaičiavimo istoriją dokumentacijos tikslais.
Pirmajai pamokai buvo paruošti kompaktiniai diskai, kuriuose įrašyti instaliaciniai failai, dokumentacija, žinynai. Apie pastarąjį papasakosiu plačiau. CRAN pateikia išsamius vartotojo vadovus apie diegimą, R kalbą (ir jos poaibį S), papildomų statistinių procedūrų rašymą ir duomenų eksportavimą bei importavimą. Skiltyje „Pateikta dokumentacija“ yra daugybė statistikos mokytojų, naudojančių šį paketą ugdymo procese, publikacijų. Deja, rusiškai nieko nėra, nors, pavyzdžiui, lenkiškai yra net vienas. Iš knygų anglų kalba norėčiau paminėti Niujorko miesto universiteto profesoriaus Johno Verzani knygos „R naudojimas įvadinei statistikai“ ir Tarptautinio universiteto profesoriaus Rossiterio (Olandija) „Įvadas į R projektą statistiniam skaičiavimui“. Geoinformatikos ir Žemės stebėjimų institutas.

Pirmoji pamoka buvo skirta paketo įdiegimui ir mokymuisi naudotis, kaip testinė užduotis buvo supažindinimas su R kalbos sintakse. Pateikiame r.v tikimybės apskaičiavimo pavyzdį. Eksponentinio skirstinio su 3 parametru reikšmė yra mažesnė nei 0,5 (10 000 yra bandymų skaičius).
> 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*ilgis(u)/10000

Pirmosiose dviejose eilutėse nurodomas tolygus taškų pasiskirstymas stačiakampyje x, tada pasirenkami tie taškai, kurie patenka į eksponentinį tankio grafiką 3*exp(-3*x), grafiko funkcija rodo taškus grafiniame išvesties lange ir galiausiai apskaičiuojamas reikalingas integralas.
Antroji pamoka buvo skirta aprašomosios statistikos (kvantilių, medianos, vidurkio, dispersijos, koreliacijos ir kovariacijos) skaičiavimui ir grafikų (histogramų, langelių ir ūsų) sudarymui.
Vėlesnėse klasėse buvo naudojama Rcmdr biblioteka. Tai grafinė vartotojo sąsaja (GUI), skirta R aplinkai. Biblioteka sukurta profesoriaus Johno Foxo iš Kanados McMaster universiteto pastangomis.

Šios bibliotekos diegimas vykdomas vykdant komandą install.packages("Rcmdr", dependencies=TRUE) R aplinkoje. Jei pati aplinka yra R kalbos interpretatorius, tai "Rcmdr" priedas yra papildomas langas įrengta meniu sistema, kurioje yra daug komandų, atitinkančių standartines statistines procedūras. Tai ypač patogu kursuose, kur pagrindinis dalykas yra išmokyti studentą spausti mygtukus (gaila, dabar jie tampa vis dažnesni).

Seminaro pastabos iš ankstesnio kurso buvo išplėstos. Jie taip pat pasiekiami per FTP iš svetainės isdwiki.rsuh.ru. Šiose pastabose buvo kritinių verčių lentelės, kurios buvo naudojamos skaičiavimams lentoje. Šiais metais studentai buvo skatinami spręsti šias problemas kompiuteriu, taip pat patikrinti lenteles naudojant (įprastus) apytikslius skaičiavimus, taip pat pateiktus pastabose.

Taip pat buvo keletas mano klaidų. Pavyzdžiui, per vėlai supratau, kad Rcmdr leidžia importuoti duomenis iš atsisiųstų paketų, todėl santykinai dideli mėginiai buvo apdorojami tik regresinės analizės klasėse. Pateikdami neparametrinius testus, mokiniai duomenis įvedė ranka naudodami mano užrašus. Kitas trūkumas, kaip dabar suprantu, buvo nepakankamas namų darbų skaičius, norint parašyti gana sudėtingas programas R kalba.

Pažymėtina, kad keli vyresniųjų klasių mokiniai lankė mano pamokas, kai kurie atsisiuntė medžiagą iš paskaitų ir seminarų. Rusijos valstybinio humanitarinio universiteto Išmaniųjų sistemų katedros studentai gauna pagrindinius matematikos ir programavimo mokymus, todėl R aplinkos naudojimas (vietoj skaičiuoklių ir statistinių paketų su fiksuotomis statistinėmis procedūromis) man atrodo labai naudingas.

Jei susiduriate su užduotimi studijuoti statistiką, o ypač rašyti nestandartines statistinių duomenų apdorojimo procedūras, rekomenduoju atkreipti dėmesį į R paketą.

1993 m. rugpjūtį du jauni Naujosios Zelandijos mokslininkai iš Oklando universiteto paskelbė apie savo naują plėtrą, kurią pavadino R. Pasak kūrėjų Roberto Gentlemano ir Rosso Ihakos, tai turėjo būti naujas S kalbos įgyvendinimas, kitoks nei S-PLUS su kai kuriomis detalėmis, pavyzdžiui, globalių ir vietinių kintamųjų tvarkymu, taip pat darbu su atmintimi. Tiesą sakant, jie sukūrė ne pilną S-PLUS analogą, o naują „šaką“ ant „S medžio“. Daugelis dalykų, skiriančių R nuo S-PLUS, yra susiję su Scheme kalbos (funkcinės programavimo kalbos, vienos iš populiariausių Lisp kalbos dialektų) įtaka.

Iki 2016 m. vidurio R pasivijo SAS ir SPSS (kurie yra mokami) ir tapo viena iš trijų labiausiai paplitusių statistinės informacijos apdorojimo sistemų. Taip pat reikėtų pažymėti, kad R yra viena iš 10 bendrosios paskirties programavimo kalbų.

Galimybės

R aplinkoje diegiama daug statistinių metodų: tiesiniai ir netiesiniai modeliai, statistinių hipotezių tikrinimas, laiko eilučių analizė, klasifikavimas, klasterizavimas, grafinė vizualizacija. R kalba leidžia nustatyti savo funkcijas. Daugelis R funkcijų yra parašytos pačiame R kalba. Patyrę vartotojai gali tiesiogiai pasiekti R objektus iš C kodo. R yra griežtesnė į objektus orientuota kalba nei dauguma statistinio skaičiavimo kalbų. Grafikos funkcijos leidžia kurti geros spausdinimo kokybės grafikus su galimybe įtraukti matematinius simbolius. Jis turi savo į LaTeX panašų dokumentacijos formatą.

Nors R dažniausiai naudojamas statistiniam skaičiavimui, jis taip pat gali būti naudojamas kaip matricos skaičiavimo įrankis. Kaip ir MATLAB, R traktuoja bet kurios skaičių operacijos rezultatą kaip vieneto ilgio vektorių. Paprastai tariant, R skalierių nėra.

Scenarijai

Paprasčiausias R seanso atidarymas ir komandų įvedimas į programos langą vieną po kitos yra tik vienas iš galimų darbo būdų. Daug produktyvesnis metodas, kuris taip pat yra didelis R privalumas, yra scenarijų (programų), kurie vėliau įkeliami į R ir interpretuojami, kūrimas. Nuo pat darbo pradžios turėtumėte kurti scenarijus, net ir toms užduotims, kurios atrodo nereikšmingos – tai žymiai sutaupys laiko ateityje. Scenarijų kūrimas dėl bet kokios priežasties ir net be ypatingos priežasties yra vienas iš R darbo kultūros pamatų.

Paketai

Kitas svarbus R pranašumas yra daugybė jo plėtinių ar paketų. Kai kurie pagrindiniai paketai yra iš karto įdiegus R kompiuteryje, be jų sistema tiesiog neveikia (pavyzdžiui, paketas, vadinamas baze, arba paketas grDevices, kuris valdo grafikų išvestį), taip pat „rekomenduojami“ paketai (paketas specializuotam klasterių analizės klasteriui, netiesinių modelių analizės paketas nlme ir kt.). Be to, galite įdiegti bet kurį iš beveik aštuonių tūkstančių (2016 m. vidurio) paketų, prieinamų CRAN. Jei turite prieigą prie interneto, tai galite padaryti tiesiai iš R, naudodami komandą install.packages().

Nuorodos

  • CRAN (Comprehensive R Archive Network) yra centrinė R ir jo paketų saugojimo ir platinimo sistema.

Parašyti šį straipsnį mane paskatino ši tema: Idealaus įrašo paieška arba Habro mįslė. Faktas yra tas, kad susipažinęs su R kalba labai kreivai žiūriu į bet kokius bandymus ką nors apskaičiuoti „Excel“. Bet turiu prisipažinti, kad su R susipažinau tik prieš savaitę.

Tikslas: rinkti duomenis iš mėgstamo HabraHabr naudojant R kalbą ir iš tikrųjų atlikti tai, kam R kalba buvo sukurta, būtent: statistinę analizę.

Taigi, perskaitę šią temą, sužinosite:

  • Kaip galite naudoti R norėdami išgauti duomenis iš žiniatinklio išteklių?
  • Kaip transformuoti duomenis vėlesnei analizei
  • Kokius šaltinius labai rekomenduojama perskaityti tiems, kurie nori geriau pažinti R?

Tikimasi, kad skaitytojas bus pakankamai nepriklausomas, kad susipažintų su pagrindinėmis kalbos konstrukcijomis. Tam geriausiai tinka straipsnio pabaigoje pateiktos nuorodos.

Paruošimas

Mums reikės šių išteklių:

Įdiegę turėtumėte pamatyti kažką panašaus:

Apatinėje dešinėje srityje, skirtuke Paketai, galite rasti įdiegtų paketų sąrašą. Papildomai turėsime įdiegti:

  • Rcurl - darbui su tinklu. Kiekvienas, dirbęs su CURL, iškart supras visas atsiveriančias galimybes.
  • XML – paketas, skirtas darbui su XML dokumento DOM medžiu. Mums reikia funkcijų, kad galėtume rasti elementus naudojant xpath
Spustelėkite „Įdiegti paketus“, pasirinkite tuos, kurių jums reikia, tada pažymėkite juos varnele, kad jie būtų įkelti į esamą aplinką.

Duomenų gavimas

Norėdami gauti iš interneto gauto dokumento DOM objektą, tiesiog vykdykite šias eilutes:
url<-"http://habrahabr.ru/feed/posts/habred/page10/" cookie<-"Мои сверхсекретные печеньки" html<-getURL(url, cookie=cookie) doc<-htmlParse(html)
Atkreipkite dėmesį į siunčiamus slapukus. Jei norite pakartoti eksperimentą, turėsite pakeisti savo slapukus, kuriuos jūsų naršyklė gauna prisijungusi prie svetainės. Tada turime gauti mus dominančius duomenis, būtent:
  • Kai buvo paskelbtas įrašas
  • Kiek buvo peržiūrų?
  • Kiek žmonių įtraukė šį įrašą į mėgstamiausius?
  • Kiek buvo paspaudimų +1 ir -1 (iš viso)
  • Kiek buvo +1 paspaudimų?
  • Kiek -1
  • Dabartinis įvertinimas
  • Komentarų skaičius
Per daug nesileisdamas į detales, tiesiog duosiu kodą:
paskelbta<-xpathSApply(doc, "//div[@class="published"]", xmlValue) pageviews<-xpathSApply(doc, "//div[@class="pageviews"]", xmlValue) favs<-xpathSApply(doc, "//div[@class="favs_count"]", xmlValue) scoredetailes<-xpathSApply(doc, "//span[@class="score"]", xmlGetAttr, "title") scores<-xpathSApply(doc, "//span[@class="score"]", xmlValue) comments<-xpathSApply(doc, "//span[@class="all"]", xmlValue) hrefs<-xpathSApply(doc, "//a[@class="post_title"]", xmlGetAttr, "href")
Čia naudojome xpath paiešką elementams ir atributams.
Toliau labai rekomenduojama iš gautų duomenų sukurti data.frame – tai duomenų bazių lentelių analogas. Bus galima teikti įvairaus sudėtingumo užklausas. Kartais nustembate, kaip elegantiškai galite padaryti tą ar tą dalyką R.
pranešimų<-data.frame(hrefs, published, scoredetailes, scores, pageviews, favs, comments)
Sugeneravus data.frame, reikės pataisyti gautus duomenis: konvertuoti eilutes į skaičius, gauti tikrą datą įprastu formatu ir t.t. Mes tai darome taip:

Posts$comments<-as.numeric(as.character(posts$comments)) posts$scores<-as.numeric(as.character(posts$scores)) posts$favs<-as.numeric(as.character(posts$favs)) posts$pageviews<-as.numeric(as.character(posts$pageviews)) posts$published<-sub(" декабря в ","/12/2012 ",as.character(posts$published)) posts$published<-sub(" ноября в ","/11/2012 ",posts$published) posts$published<-sub(" октября в ","/10/2012 ",posts$published) posts$published<-sub(" сентября в ","/09/2012 ",posts$published) posts$published<-sub("^ ","",posts$published) posts$publishedDate<-as.Date(posts$published, format="%d/%m/%Y %H:%M")

Taip pat naudinga pridėti papildomų laukų, kurie skaičiuojami iš jau gautų:
balai padalinti<-sapply(strsplit(as.character(posts$scoredetailes), "\\D+", perl=TRUE),unlist) if(class(scoressplitted)=="matrix" && dim(scoressplitted)==4) { scoressplitted<-t(scoressplitted) posts$actions<-as.numeric(as.character(scoressplitted[,1])) posts$plusactions<-as.numeric(as.character(scoressplitted[,2])) posts$minusactions<-as.numeric(as.character(scoressplitted[,3])) } posts$weekDay<-format(posts$publishedDate, "%A")
Čia gerai žinomus pranešimus formos „Iš viso 35: 29 ir ↓6“ konvertavome į duomenų masyvą, kiek buvo atlikta veiksmų, kiek buvo pliusų ir kiek buvo minusų.

Šiuo metu galime pasakyti, kad visi duomenys buvo gauti ir konvertuoti į analizei paruoštą formatą. Aukščiau pateiktą kodą suformatavau kaip paruoštą naudoti funkciją. Straipsnio pabaigoje rasite nuorodą į šaltinį.

Tačiau dėmesingas skaitytojas jau pastebėjo, kad tokiu būdu gaudavome duomenis tik vienam puslapiui, kad gautume juos visai serijai. Norint gauti viso puslapių sąrašo duomenis, buvo parašyta ši funkcija:

GetPostsForPages<-function(pages, cookie, sleep=0) { urls<-paste("http://habrahabr.ru/feed/posts/habred/page", pages, "/", sep="") ret<-data.frame() for(url in urls) { ret<-rbind(ret, getPosts(url, cookie)) Sys.sleep(sleep) } return(ret) }
Čia mes naudojame sistemos funkciją Sys.sleep, kad netyčia nesukeltume habra efekto pačiam habrui :)
Šią funkciją siūloma naudoti taip:
pranešimų<-getPostsForPages(10:100, cookie,5)
Taigi, mes atsisiunčiame visus puslapius nuo 10 iki 100 su 5 sekundžių pertrauka. Puslapiai iki 10 mūsų nedomina, nes ten kol kas reitingų nematyti. Po kelių minučių laukimo visi mūsų duomenys yra įrašų kintamajame. Rekomenduoju juos iš karto išsaugoti, kad kiekvieną kartą netrukdytumėte centrui! Tai daroma tokiu būdu:
write.csv(posts, file="posts.csv")
Ir mes jį skaitome taip:
pranešimų<-read.csv("posts.csv")

Sveika! Sužinojome, kaip gauti statistinius duomenis iš Habr ir išsaugoti juos vietoje kitai analizei!

Duomenų analizė

Paliksiu šią dalį nepasakyta. Kviečiu skaitytoją pačiam žaisti su duomenimis ir pasidaryti ilgaamžes išvadas. Pavyzdžiui, pabandykite išanalizuoti pliuso ir minuso žmonių nuotaikos priklausomybę nuo savaitės dienos. Pateiksiu tik 2 įdomias išvadas, kurias padariau.
„Habr“ vartotojai daug labiau nori balsuoti „už“ nei „prieš“.
Tai matyti iš toliau pateikto grafiko. Atkreipkite dėmesį, kiek vienodesnis ir platesnis minusų „debesis“ nei pliusų sklaida. Koreliacija tarp privalumų ir peržiūrų skaičiaus yra daug stipresnė nei tarp minusų. Kitaip tariant: pridedame negalvodami, bet atimame už veiksmą!
(Atsiprašau už užrašus diagramose: dar nesugalvojau, kaip teisingai juos atvaizduoti rusiškai)

Iš tiesų yra keletas pranešimų klasių
Šis teiginys minėtame įraše buvo naudojamas kaip duotybė, tačiau norėjau tuo įsitikinti realybėje. Norėdami tai padaryti, pakanka apskaičiuoti vidutinę pliusų dalį bendram veiksmų skaičiui, tiek pat minusams, o antrąją padalinti iš pirmojo. Jei viskas būtų vienalytė, tada histogramoje neturėtume stebėti daug vietinių smailių, tačiau jos yra.


Kaip matote, yra ryškių smailių apie 0,1, 0,2 ir 0,25. Kviečiu skaitytoją pačiam susirasti ir „įvardyti“ šias klases.
Norėčiau pastebėti, kad R gausu duomenų grupavimo, aproksimacijos, hipotezių tikrinimo ir kt. algoritmų.

Naudingi ištekliai

Jei tikrai norite pasinerti į R pasaulį, rekomenduoju šias nuorodas. Komentaruose pasidalinkite savo įdomiais tinklaraščiais ir svetainėmis R tema.

Sveiki visi, jei užsiimate internetine rinkodara, tikriausiai kasdien tenka susidurti su daugybe reklamos paslaugų ir bent viena žiniatinklio analizės platforma, jei reikia bent kartą per mėnesį rankiniu būdu apibendrinti išlaidų duomenis ir kitus statistinius duomenis, o gal net kartą per savaitę informacija iš visų šaltinių, tai yra ne tik daug laiko, bet ir klaidų tikimybė konsoliduojant duomenis iš kelių šaltinių rankiniu būdu. Šiame straipsnyje pasiūlysiu paruoštus plėtinius (paketus) R kalbai, su kuriais galėsite automatizuoti duomenų rinkimo iš populiariausių reklamos sistemų ir žiniatinklio analizės platformų procesą.

Turinys

  1. Kokios programinės įrangos mums reikia?
  2. CRAN arba GitHub
    • Rvkstat paketo ypatybės
    • Kodo pavyzdys darbui su rvkstat paketu
  3. rmytarget – duomenų įkėlimas iš „MyTarget“ API
    • rmytarget paketo funkcijos
    • Kodo pavyzdys darbui su rmytarget
    • Pagrindinės „rym“ paketo savybės
    • Darbo su rym paketu pavyzdys
  4. Išvada

Kokios programinės įrangos mums reikia?

Nes Šiame straipsnyje mes kalbame apie R kalbą, tada jums reikės jos ir RStudio kūrimo aplinkos.


Ir R kalba, ir RStudio yra nemokama programinė įranga, todėl galite jas laisvai atsisiųsti iš oficialių svetainių.

Kaip pradėti naudoti R paketus

Nėra nieko sudėtingo pradėti naudoti R paketus, tai daroma taip:

  1. Paketo diegimas, paprastai naudojant pagrindinę komandą install.packages;
  2. Prijungiant paketą, kiekvieną kartą, kai pradedate naują sesiją su R, šią operaciją galima atlikti naudojant biblioteką arba reikalauti komandos.

Vienintelis skirtumas tarp bibliotekos ir reikalavimo yra tas, kad biblioteka parodys klaidą, jei bandysite įtraukti paketą, kurio neįdiegėte, o reikalauti tuo pačiu atveju tiesiog parodys įspėjimą, o scenarijaus vykdymas bus tęsiamas.


Norėdami įdiegti šiame straipsnyje išvardytus paketus iš GitHub, pirmiausia turite įdiegti devtools paketą, kad tai padarytumėte, paleiskite komandą install.packages("devtools") .

CRAN arba GitHub

Skaitant šį straipsnį gali kilti klausimas, iš kurios saugyklos geriau diegti tą ar kitą paketą. jie turi visas naujas funkcijas, kurių gali nebūti paketo versijoje, kuri yra CRAN, tačiau atitinkamai dev versija gali būti nepakankamai patikrinta atsisiuntimo metu ir gali būti klaidų.


Prieš atsisiunčiant CRAN versiją atidžiai patikrina specialistų komanda ir ji turi atitikti visus šios saugyklos politikos reikalavimus. Jei atsisiųsite paketą iš CRAN, galite būti tikri, kad jis nepakenks jūsų duomenims būdu ir nesukurs jokių nesuprantamų failų jūsų kompiuteryje be jūsų leidimo ir pan.

Kokių įgūdžių reikia norint dirbti su R paketais?

Tiesą sakant, jums reikia tik suprasti interneto rinkodaros dalyką, šiuo atveju nereikia jokių programavimo įgūdžių, nes Kalbėsime apie paruoštus paketus, naudodami funkcijas, iš kurių galėsite automatizuoti varginančią savo darbo dalį.


Straipsnyje nebus detalaus aprašymo, kaip dirbti su kiekviena nagrinėjamų paketų funkcija, nes toks straipsnis būtų per ilgas, bet aprašysiu kiekvieno paketo galimybes, pateiksiu pagrindinių jums reikalingų funkcijų sąrašą, taip pat pateiksiu nuorodą į oficialią dokumentaciją, kurios pagalba galėsite suprasti daugiau išsamiai aprašomos visos konkrečiame pakete prieinamos funkcijos. Be to, kiekvienam paketui pateiksiu nedidelį kodo pavyzdį, kad galėtumėte aiškiau suprasti sintaksę.

ryandexdirect - duomenų atsisiuntimas iš Yandex.Direct

Paketo diegimas iš CRAN: install.packages("ryandexdirect")
Paketo diegimas iš „GitHub“: devtools::install_github("selesnow/ryandexdirect")
Oficiali dokumentacija: nuoroda


Šis paketas skirtas dirbti su vienos populiariausių reklamos platformų NVS – Yandex.Direct – API.

Ryandexdirect paketo ypatybės

  1. Autorizacija „Yandex“ API;
  2. Reklaminių kampanijų, raktinių žodžių, skelbimų sąrašo įkėlimas;
  3. Statistinių duomenų atsisiuntimas iš Yandex.Direct paskyrų naudojant ataskaitų paslaugą.
  4. Pristabdykite ir atnaujinkite skelbimų teikimą kampanijos, raktinio žodžio ir skelbimo lygiu.
  5. Prašymas dėl likučio ir kitų bendrosios sąskaitos parametrų.
  6. Įkeliama informacinė informacija (valiutų kursai, laikraštis ir kt.)

Pagrindinės funkcijos

Pagrindinės „ryandexdirect“ funkcijos, kurių gali prireikti dirbant su „Yandex.Direct“ API:

  • yadirAuth – prieigos teisė API;
  • yadirGetAds, yadirGetCampaignList, yadirGetKeyWords – įkeliamas skelbimų, reklaminių kampanijų, raktinių žodžių sąrašas;
  • yadirStartAds, yadirStartCampaigns, yadirStartKeyWords –

Statistikos atsisiuntimo naudojant ryandexdirect paketą pavyzdys

bibliotekos (ryandexdirect) stat<- yadirGetReport(ReportType = "ACCOUNT_PERFORMANCE_REPORT", DateRangeType = "CUSTOM_DATE", DateFrom = "2018-01-01", DateTo = "2018-05-10", FieldNames = c("AdNetworkType", "Impressions", "Clicks", "Cost"), FilterList = c("CampaignId IN 123456 ,987654","Clicks GREATER_THAN 100"), IncludeVAT = "YES", IncludeDiscount = "NO", Login = "ваш логин", TokenPath = "C:/token_yandex")

RAdwords – duomenų atsisiuntimas iš Google Ads (ex Google AdWords)

Paketo diegimas iš CRAN: install.packages("RAdwords")
Paketo diegimas iš GitHub: devtools::install_github("jburkhardt/RAdwords")
Oficiali dokumentacija: nuoroda

RAdwords paketo ypatybės

Pagrindinės RAdwords paketo savybės

Tiesą sakant, pakuotėje iš principo nėra labai daug funkcijų, bet aš visą laiką naudojau tik tris:

  • doAuth – autorizacija;
  • pareiškimas - API užklausos turinio formavimas;

Darbo su RAdwords paketu pavyzdys

biblioteka(RAdwords) # prieigos rakto užklausa adw_token<- doAyth() # формирование запроса body <- statement(select=c("AccountDescriptiveName", "ExternalCustomerId", "AccountCurrencyCode", "AdNetworkType1", "RegionCriteriaId", "CountryCriteriaId", "CityCriteriaId", "Device", "Month", "Year", "Impressions", "Clicks", "Interactions", "VideoViews", "Cost", "Conversions"), report="GEO_PERFORMANCE_REPORT", start="2018-09-01", end="2018-09-20") my_data <- getData(clientCustomerId = "000-000-0000", google_auth = adw_token , statement = body, transformation = T)


„Google Ads“ API pasiekiamų ataskaitų ir laukų sąrašą rasite spustelėję nuorodą oficialiame žinyne.

adwordsR – naujesnis ir funkcionalesnis paketas duomenims iš „Google Ads“ įkelti (ex Google AdWords)

Paketo diegimas iš CRAN: install.packages("adwordsR")
Paketo diegimas iš „GitHub“: devtools::install_github("cran/adwordsR")


adwordsR paketas savo koncepcija yra panašus į RAdwords, tačiau jis yra naujesnis ir turi daug didesnį funkcijų rinkinį.

adwordsR paketo ypatybės

Be anksčiau aprašytų RAdwords paketo funkcijų, adwordsR suteikia daug galimybių dirbti su TargetingIdeaService – paslauga, leidžiančia gauti taikymo parinktis tiesiai iš įrankio ar platformos, kuri padeda automatizuoti paskyros optimizavimą.

Pagrindinės adwordsR paketo savybės

  • generAdwordsToken – prašyti prieigos rakto darbui su Google Ads API;
  • loadAdwordsToken – įkeliamas prašomas ir anksčiau išsaugotas prieigos raktas;
  • getReportData – atsisiųskite statistiką iš „Google Ads“ paskyros.

Darbo su adwordsR paketu pavyzdys

library(adwordsR) # Ženklo užklausa adw_token<- generateAdwordsToken(saveNewToken = TRUE, addGitignore = FALSE) # Загрузка ранее сохранённого токена adw_token <- loadAdwordsToken() # Запрос данных AdWordsData <- getReportData(reportType = "CAMPAIGN_PERFORMANCE_REPORT", startDate = "2018-08-01", endDate = "2018-08-15", clientCustomerId = "000-000-0000", credentials = adw_token, attributes = "CampaignName,CampaignStatus", segment = "Date,AdNetworkType1", metrics = "AverageCost,Clicks,Conversions", includeZeroImpressions = TRUE, useRequestedHeaders = FALSE)

rfacebookstat – duomenų atsisiuntimas iš Facebook reklaminių paskyrų

Paketo diegimas iš CRAN: install.packages("rfacebookstat")
Paketo diegimas iš „GitHub“: devtools::install_github("selesnow/rfacebookstat")
Oficiali dokumentacija: nuoroda

Rfacebookstat paketo ypatybės

  1. Prisijunkite prie Facebook API
  2. Įkeliamas jums prieinamų verslo vadybininkų sąrašas;
  3. Įkeliamas reklaminių kampanijų, skelbimų grupių, skelbimų sąrašas.
  4. Atsisiųskite statistiką skelbimų paskyros, reklamos kampanijos, skelbimų grupės ir skelbimo lygiu.
  5. Įkeliamas vartotojų, turinčių prieigą prie reklamavimo paskyros, sąrašas.
  6. Prieigos prie reklamos paskyrų valdymas.

Pagrindinės rfacebookstat paketo funkcijos

Kodo pavyzdys darbui su rfacebookstat

bibliotekos (rfacebookstat) prieigos raktas<- fbGetToken(app_id = 00000000000000) fb_data <- fbGetMarketingStat(accounts_id = "act_00000000000000", level = "campaign", fields = "campaign_name,actions", action_breakdowns = "action_link_click_destination", date_start = "2017-11-01", date_stop = "2017-11-20", interval = "day", access_token = token)

rvkstat - duomenų įkėlimas iš VKontakte API

Paketo diegimas iš „GitHub“: devtools::install_github("selesnow/rvkstat")
Oficiali dokumentacija: nuoroda


Gana galingas ir daugiafunkcis paketas, skirtas darbui su „Vkontakte“ socialinio tinklo API.

Rvkstat paketo ypatybės

  1. Autorizacija VKontakte API;
  2. Duomenų įkėlimas iš VKontakte reklamos paskyrų;
  3. Atsisiųskite informacinę informaciją iš „VKontakte“;
  4. Įkeliama šiek tiek informacijos apie „VKontakte“ vartotoją;
  5. Statistikos atsisiuntimas iš „VKontakte“ reklamos paskyros;
  6. Atsisiunčiama statistika apie apsilankymus VKontakte bendruomenėse.

Pagrindinės rvkstat paketo funkcijos

Rašymo metu „rvkstat“ pakete yra daugiau nei 30 funkcijų, čia yra naudingiausios iš jų:

  • vkAuth – įgaliojimas;
  • vkGetAdStatistics – atsisiųskite statistiką iš reklamos paskyros;
  • vkGetAdCampaigns, vkGetAds – Reklaminių kampanijų ir skelbimų sąrašo įkėlimas;
  • vkGetGroupStat – atsisiųskite statistiką apie apsilankymus „Vkontakte“ grupėse ir bendruomenėse.

Kodo pavyzdys darbui su rvkstat paketu

rmytarget paketo funkcijos

  1. Autorizacija MyTarget API pagal Code Grant schemą;
  2. Įkeliamas reklaminių kampanijų, anonsų sąrašas.
  3. Įkeliama statistika reklaminių kampanijų ir skelbimų lygiu.

Pagrindinės rmytarget paketo funkcijos

  • myTarAuth – įgaliojimas;
  • myTarGetAdList , myTarGetCampaignList – Skelbimų ir reklaminių kampanijų sąrašo įkėlimas;
  • myTarGetStats – atsisiųskite skelbimų ir reklaminių kampanijų statistiką.

Kodo pavyzdys darbui su rmytarget

library(mytarget) # prašykite skelbimų sąrašo<- myTarGetAdList(login = "ваш логин") # запрос статистики по объявлениям a_stat <- myTarGetStats(date_from = "2016-08-01", date_to = "2016-08-10", object_type = "banners", object_id = Ads$id, stat_type = "day", login = "ваш логин")

rym - duomenų įkėlimas iš Yandex.Metrica API

Paketo diegimas iš CRAN: install.packages("rym")
Paketo diegimas iš „GitHub“: devtools::install_github("selesnow/rym")
Oficiali dokumentacija: nuoroda

Pagrindinės „rym“ paketo savybės

Rym paketas leidžia dirbti su visomis API sąsajomis, pasiekiamomis Yandex.Metrica:

  1. Autorizacija naudojant oAuth2 protokolą;
  2. Darbas su valdymo API;
  3. Darbas su ataskaitų API;
  4. Darbas su API, suderinama su Core API Google Analytics v3;
  5. Darbas su Logs API.

Pagrindinės „rym“ paketo savybės

  • rym_auth – įgaliojimas;
  • rym_get_counters – įkeliamas Yandex.Metrica skaitiklių sąrašas;
  • rym_get_ga – duomenų įkėlimas iš API, suderinamos su Google Analytics Core API;

Darbo su rym paketu pavyzdys

reporting.api.stat<- rym_get_data(counters = "00000000,111111111", date.from = "2018-08-01", date.to = "yesterday", dimensions = "ym:s:date,ym:s:lastTrafficSource", metrics = "ym:s:visits,ym:s:pageviews,ym:s:users", filters = "ym:s:trafficSourceName=="Переходы из поисковых систем" AND ym:s:isNewUser=="Yes"", sort = "-ym:s:date", accuracy = "full", login = "ваш логин", token.path = "metrica_token", lang = "ru")

Išvada

Taigi, naudodami šiame straipsnyje pateiktus paketus, galite lengvai automatizuoti duomenų rinkimą iš tokių šaltinių kaip „Yandex.Direct“, „Google Ads“, „Facebook“, „VKontakte“, „MyTarget“ ir „Yandex.Metrica“. Žinoma, tai toli gražu nėra baigtinis paslaugų, kuriomis naudojasi interneto rinkodaros specialistai, sąrašas, tačiau sutalpinti visas priemones į vieną straipsnį yra gana problematiška, todėl jei šis straipsnis sulauks teigiamų atsiliepimų, rašysiu tęsinį.



Jei savo arsenale taip pat turite įdomių paketų, kurie gali padėti automatizuoti duomenų rinkimą iš reklamos šaltinių ar žiniatinklio analizės platformų, palikite juos šio straipsnio komentaruose.

Statistinė analizė yra neatsiejama mokslinių tyrimų dalis. Aukštos kokybės duomenų apdorojimas padidina tikimybę publikuoti straipsnį patikimame žurnale ir iškelti tyrimus į tarptautinį lygį. Yra daug programų, kurios gali pateikti kokybišką analizę, tačiau dauguma jų yra mokamos, o dažnai licencija kainuoja kelis šimtus ar daugiau dolerių. Tačiau šiandien kalbėsime apie statistinę aplinką, už kurią nereikia mokėti ir kurios patikimumas bei populiarumas konkuruoja su geriausia komercine statistika. paketai: supažindinsime su R!

Kas yra R?

Prieš pateikiant aiškų apibrėžimą, reikia pažymėti, kad R yra daugiau nei tik programa: tai struktūra, kalba ir net judėjimas! Pažiūrėsime į R iš skirtingų kampų.

R yra kompiuterinė aplinka, sukurta mokslininkų duomenų apdorojimui, matematiniam modeliavimui ir grafikai. R gali būti naudojamas kaip paprastas skaičiuotuvas, galite atlikti paprastas statistines analizes (pavyzdžiui, ANOVA arba regresinę analizę) ir sudėtingesnius daug laiko reikalaujančius skaičiavimus, patikrinti hipotezes, kurti vektorinius grafikus ir žemėlapius. Tai nėra visas sąrašas, ką galima padaryti šioje aplinkoje. Verta paminėti, kad jis platinamas nemokamai ir gali būti įdiegtas tiek Windows, tiek UNIX klasės operacinėse sistemose (Linux ir MacOS X). Kitaip tariant, R yra nemokama ir įvairiose platformose.

R yra programavimo kalba, kurios dėka galite rašyti savo programas ( scenarijus) naudojant , taip pat naudoti ir kurti specializuotus plėtinius ( paketus). Paketas yra rinkinys failų su informacine informacija ir pavyzdžiais, surinktų kartu į vieną archyvą. vaidina svarbų vaidmenį, nes jie naudojami kaip papildomi plėtiniai, pagrįsti R. Kiekvienas paketas paprastai yra skirtas konkrečiai temai, pavyzdžiui: paketas "ggplot2" naudojamas gražiems tam tikro dizaino vektoriniams brėžiniams sukurti, o "qtl" paketas idealiai tinka genetiniam kartografavimui. Šiuo metu R bibliotekoje yra daugiau nei 7000 tokių paketų! Visi jie buvo patikrinti, ar nėra klaidų, ir yra viešai prieinami.


R skirtas bendruomenei/judėjimui.
Kadangi R yra nemokamas ir atviro kodo produktas, jo kūrimą, testavimą ir derinimą atlieka ne atskira įmonė su samdomu personalu, o patys vartotojai. Per du dešimtmečius iš kūrėjų ir entuziastų branduolio susiformavo didžiulė bendruomenė. Naujausiais duomenimis, daugiau nei 2 milijonai žmonių vienaip ar kitaip savanoriškai padėjo kurti ir reklamuoti R – pradedant dokumentų vertimu, mokymo kursų kūrimu ir baigiant naujų taikomųjų programų kūrimu mokslui ir pramonei. Internete yra daugybė forumų, kuriuose galite rasti atsakymus į daugumą klausimų, susijusių su R.

Kaip atrodo R aplinka?

Yra daug R „apvalkalų“, kurių išvaizda ir funkcionalumas gali labai skirtis. Tačiau trumpai apžvelgsime tik tris populiariausias parinktis: Rgui, Rstudio ir R, paleistas Linux/UNIX terminale kaip komandinė eilutė.


R kalba statistikos programų pasaulyje

Šiuo metu yra dešimtys aukštos kokybės statistikos paketų, tarp kurių aiškūs lyderiai yra SPSS, SAS ir MatLab. Tačiau 2013 m., nepaisant didelės konkurencijos, R tapo dažniausiai naudojamu programinės įrangos produktu statistinei analizei moksliniuose leidiniuose (http://r4stats.com/articles/popularity/). Be to, pastarąjį dešimtmetį R tapo vis populiaresnis verslo sektoriuje: tokios milžiniškos kompanijos kaip Google, Facebook, Ford ir New York Times aktyviai naudoja jį duomenims rinkti, analizuoti ir vizualizuoti (http://www.revolutionanalytics). .com/companies-using-r). Siekdami suprasti didėjančio R kalbos populiarumo priežastis, atkreipkime dėmesį į jos bendrus bruožus ir skirtumus nuo kitų statistikos produktų.

Apskritai daugumą statistikos priemonių galima suskirstyti į tris tipus:

  1. GUI programos, remiantis principu „spauskite čia, čia ir gaukite galutinį rezultatą“;
  1. statistinio programavimo kalbos, kurioms reikalingi pagrindiniai programavimo įgūdžiai;
  1. "mišrus", kurios taip pat turi grafinę sąsają ( GUI), ir galimybė kurti scenarijaus programas (pavyzdžiui: SAS, STATA, Rcmdr).

Programų su GUI ypatybės

Programos su grafine sąsaja paprastam vartotojui atrodo pažįstamos ir jas lengva išmokti. Tačiau jie netinka nereikšmingoms problemoms spręsti, nes turi ribotą statistikos rinkinį. metodus ir juose neįmanoma parašyti savo algoritmų. Mišrus tipas sujungia GUI apvalkalo patogumą ir programavimo kalbų galią. Tačiau detaliai palyginus statistines galimybes su programavimo kalbomis SAS ir STATA, tiek R, tiek MatLab yra prastesnės (statistinių metodų R, MatLab, STATA, SAS, SPSS palyginimas). Be to, norėdami licencijuoti šias programas, turėsite sumokėti nemažą pinigų sumą, o vienintelė nemokama alternatyva yra Rcmdr: apvalkalas R su GUI (Rcommander).

R palyginimas su MatLab, Python ir Julia programavimo kalbomis

Tarp statistiniuose skaičiavimuose naudojamų programavimo kalbų pirmaujančias pozicijas užima R ir Matlab. Jie yra panašūs vienas į kitą tiek išvaizda, tiek funkcionalumu; tačiau jie turi skirtingus vartotojų lobius, o tai lemia jų specifiką. Istoriškai „MatLab“ buvo orientuota į taikomuosius inžinerijos mokslus, todėl jos stipriosios pusės yra matematika. modeliavimas ir skaičiavimai, be to, tai daug greičiau nei R! Tačiau kadangi R buvo sukurta kaip siauro profilio kalba statistiniams duomenims apdoroti, daugelis eksperimentinių statistinių duomenų. joje atsirado ir buvo įtvirtinti metodai. Dėl šio fakto ir jo nulinės kainos R yra ideali platforma kuriant ir naudojant naujus pagrindiniuose moksluose naudojamus paketus.

Kitos „konkuruojančios“ kalbos yra Python ir Julia. Mano nuomone, Python, būdama bendrosios paskirties programavimo kalba, labiau tinka duomenų apdorojimui ir informacijos rinkimui naudojant žiniatinklio technologijas, o ne statistinei analizei ir vizualizacijai (gerai aprašyti pagrindiniai skirtumai tarp R ir Python). Tačiau statistinė kalba Julija – gana jaunas ir ambicingas projektas. Pagrindinis šios kalbos bruožas yra skaičiavimo greitis, kai kuriuose testuose R viršijantis 100 kartų! Nors Julia yra ankstyvoje vystymosi stadijoje ir turi keletą papildomų paketų bei įpėdinių, ilgainiui Julija yra bene vienintelė potenciali R. konkurentė.

Išvada

Taigi R kalba dabar yra viena iš pirmaujančių statistikos priemonių pasaulyje. Jis aktyviai naudojamas genetikos, molekulinės biologijos ir bioinformatikos, aplinkos mokslų (ekologijos, meteorologijos) ir žemės ūkio disciplinose. R taip pat vis dažniau naudojamas medicininių duomenų apdorojimui, išstumiant iš rinkos komercinius paketus, tokius kaip SAS ir SPSS.

R aplinkos pranašumai:

  • nemokama ir kelių platformų;
  • turtingas statistikos arsenalas. metodai;
  • aukštos kokybės vektorinė grafika;
  • daugiau nei 7000 patikrintų pakuočių;
  • lankstus naudoti:
    - leidžia kurti / redaguoti scenarijus ir paketus,
    - sąveikauja su kitomis kalbomis, tokiomis kaip: C, Java ir Python,
    - gali dirbti su SAS, SPSS ir STATA duomenų formatais;
  • aktyvi vartotojų ir kūrėjų bendruomenė;
  • reguliarūs atnaujinimai, gera dokumentacija ir techninė pagalba. parama.

Trūkumai:

  • nedidelis informacijos kiekis rusų kalba (nors per pastaruosius penkerius metus pasirodė keli mokymo kursai ir įdomios knygos);
  • santykinis sunkumas naudoti vartotojui, nepažįstančiam programavimo kalbų. Tai galima iš dalies išlyginti dirbant su Rcmdr GUI apvalkalu, apie kurį rašiau aukščiau, tačiau nestandartiniams sprendimams vis tiek reikia naudoti komandinę eilutę.

Naudingų šaltinių sąrašas

  1. Oficiali svetainė: http://www.r-project.org/
  2. Svetainė pradedantiesiems: http://www.statmethods.net/
  3. Viena geriausių žinynų: „The R Book“, 2-asis leidimas Michael J. Crawley, 2012 m.
  4. Turimos literatūros rusų kalba sąrašas + geras tinklaraštis
Ar jums patiko straipsnis? Pasidalinkite su draugais!
Ar šis straipsnis buvo naudingas?
Taip
Nr
Ačiū už jūsų atsiliepimus!
Kažkas nutiko ir jūsų balsas nebuvo įskaitytas.
Ačiū. Jūsų žinutė buvo išsiųsta
Radote klaidą tekste?
Pasirinkite jį, spustelėkite Ctrl + Enter ir mes viską sutvarkysime!