1 R i RStudio

R je programski jezik i okruženje za statističku obradu i vizualizaciju podataka. Često se upotrebljava zbog toga što sadrži već ugrađene pakete za statističku analizu podataka. R sadrži (William N. Venables, Smith, and Team 2009):

  • napredne alate za upravljanje podacima i njihovu pohranu,
  • niz operatora specijaliziranih za izvođenje matematičkih operacija nad nizovima i matricama,
  • sveobuhvatnu i povezanu skupinu alata za srednje naprednu analizu podataka,
  • grafičke opcije za analizu i prikaz podataka, bilo izravno na računalu ili u tiskanom obliku,
  • dobro razvijen, jednostavan za korištenje i efikasan programski jezik, koji obuhvaća uvjetne izjave, petlje, funkcije koje definira korisnik te opcije za unos i ispis podataka. Također, moguće je nadograđivati pakete, ali i samostalno kreirati vlastite funkcije i objekte, pa čak i pakete.

U nastavku ovog poglavlja, upoznat ćete se s osnovnim mogućnostima i prednostima upotrebe R-a i RStudija u praksi, za koje vjerujemo da će motivirati daljnje čitanje. Poglavlje se nastavlja na pobliže objašnjavanje što treba naučito o R-u i RStudiju, kroz potpoglavlja o razumijevanju R-a, statističkoj obradi i grafičkim prikazima u R-u te naprednim tehnikama i rješavanju problema. Posljednja potpoglavlja odnose se na izvore dodatne pomoći i resursa te općenite savjete.

1.1 Upotreba R-a i RStudija u praksi

R i RStudio koriste se u raznim industrijama za analizu i upravljanje podacima te vizualizaciju. Ovi alati nude sveobuhvatan skup funkcija koje zadovoljavaju potrebe znanstvenika, analitičara i menadžera. Budući da je R programski jezik otvorenog koda, omiljen je zbog svoje opsežne biblioteke statističkih i grafičkih tehnika, dok RStudio pruža integrirano razvojno okruženje koje poboljšava korisničko iskustvo.

1.1.1 Upravljanje podacima i manipulacija

U praksi, R se koristi za upravljanje strukturama podataka i manipuliranje skupovima podataka. To uključuje spajanje i kombiniranje podatala te izdvajanje podskupova podataka, kao i rukovanje varijablama datuma i vremena (Horton and Kleinman 2015).

Paket tidyverse u R-u posebno je popularan za upravljanje podacima, omogućujući korisnicima učinkovito čišćenje i transformaciju podataka (Dayal 2015).

1.1.2 Analiza podataka

R pruža široku lepezu statističkih funkcija, uključujući distribucije vjerojatnosti, generiranje slučajnih brojeva i matrične operacije. Podržava uobičajene statističke postupke kao što su deskriptivna statistika, bivarijatna statistika i tablice kontingencije (Horton and Kleinman 2015). Napredne statističke metode kao što su linearna regresija, ANOVA, generalizirani linearni modeli i analiza preživljavanja također su implementirane u R, što ga čini moćnim alatom za složenu analizu podataka (Horton and Kleinman 2015).

Osim toga, dodatnu širinu stvara dostupnost metoda poput Bayezijanske statistike, strojnog učenja, sentiment analize te metoda poput linearnog i nelinearnog programiranja, dinamičkog programiranja i višekriterijskog odlučivanja. Iako je R u početku bio korišten gotovo isključivo za statističku analizu te upravljanje podacima (čišćenje i transformaciju), danas omogućuje gotovo svaki tip kvantitativne i kvalitativne analize.

1.1.3 Vizualizacija

R nudi robusne grafičke mogućnosti, omogućujući stvaranje jednovarijantnih, dvovarijantnih i multivarijantnih grafikona. Također su mogući grafikoni posebne namjene i interaktivne vizualizacije, čime se poboljšava interpretabilnost podataka (Horton and Kleinman 2015). RStudio olakšava stvaranje i upravljanje tim vizualizacijama, pružajući korisničko sučelje za spremanje i konfiguriranje grafičkih izlaza (Horton and Kleinman 2015). Takva korisnička sučelja nazivaju se engl. dashboards.

1.1.4 Reprodukcija istraživanja i simulacija

R i RStudio podržavaju ponovljivu analizu kroz značajke skriptiranja i upravljanja projektima. To osigurava da se analize mogu lako replicirati i dijeliti (Hair et al. 2021). Izračuni performansi modela temeljeni na simulaciji i generiranje podataka također su uobičajene primjene koje praktičarima omogućuju učinkovito modeliranje i predviđanje ishoda (Horton and Kleinman 2015).

1.1.5 Praktične primjene u različitim sektorima

R i RStudio naširoko se koriste u raznim industrijama za statističke analize, operacijska istraživanja, rudarenje podataka i aplikacije znanosti o podacima. Profesionalci i stručnjaci koriste R i RStudio kako bi poboljšali procese donošenja odluka vođene podacima. U nastavku su neki specifični načini na koje se ti alati koriste u različitim industrijama:

  • R se intenzivno koristi u financijama za zadatke poput upravljanja rizikom, optimizacije portfelja i financijskog modeliranja. Njegova sposobnost rukovanja složenim statističkim izračunima i vizualizacijama čini ga vrijednim alatom u ovom sektoru (Allen 2017).

  • U znanosti o odlučivanju, R se koristi za analizu podataka i modeliranje, čime se pružaju uvidi u velike skupine podataka što pruža potporu procesima strateškog odlučivanja (Allen 2017).

  • R je moćan alat za rudarenje podataka koji se koristi u industrijama kao što su osiguranje i medicina, pa čak i u javnom sektoru. Podržava različite tehnike rudarenja podataka, pomažući stručnjacima dobivanje vrijednih uvida iz podataka (Zhao and Cen 2013).

  • Studije slučaja iz stvarnog svijeta pokazuju primjenu R-a u rješavanju problema specifičnih za različite industrije, pokazujući njegovu prilagodljivost i učinkovitost u različitim okruženjima (Zhao and Cen 2013).

  • R je kamen temeljac u podatkovnoj znanosti, kombinirajući tradicionalnu statistiku sa strojnim učenjem za analizu velikih podataka. Koristi se u bioinformatici, optimizaciji opskrbnog lanca, zdravstvu i marketingu, ali i šire (Miller 2017).

  • RStudio poboljšava mogućnosti R-a pružajući integrirano razvojno okruženje koje pojednostavljuje upravljanje podacima, izgradnju modela i prezentaciju rezultata (Van der Loo 2012).

  • RStudio je popularno integrirano razvojno okruženje, IDE (engl. Integrated Development Environment) koje olakšava razvoj i primjenu R-a, olakšavajući analitičarima provođenje statističke analize i izvještavanja. Podržava replikativna ili ponovljiva istraživanja, kao i stvaranje prilagođenih paketa (Van der Loo 2012).

  • Funkcionalnost IDE-a olakšava upravljanje i istraživanje skupova podataka, što je ključno za provođenje sveobuhvatnih projekata znanosti o podacima (Miller 2017).

Knjiga Data Mining Applications with R (Dayal 2015) je izvrsna kolekcija praktičnih primjena R-a. Evo nekliko zanimljivih slučajeva.

  • Na primjer, analiza podataka električne mreže objašnjava kako se R i Hadoop zajedno koriste za analizu ogromnih skupova podataka sa senzora u električnoj mreži. S ovom postavkom, analitičari mogu brzo uočiti probleme ili događaje u elektroenergetskom sustavu čišćenjem i sortiranjem podataka, što pomaže u otkrivanju problema izravno iz stvarnih podataka umjesto da se oslanja samo na predviđanja.

  • Na antropološkoj konferenciji, R je korišten za analizu podataka preuzetih s Twittera. Proučavajući tweetove, istraživači su mogli uočiti glavne teme o kojima se raspravljalo, identificirati članove zajednice i vidjeti kako su se ljudi povezali. Ovaj slučaj pokazuje kako R pomaže u pronalaženju popularnih tema i identificira online zajednice sa zajedničkim interesima.

  • R se može primijeniti i na digitalne knjižnice s ciljem organiziranja i pronalaženja uzoraka u velikim zbirkama istraživačkih radova. To uključuje prepoznavanje glavnih tema, grupiranje sličnih tema i pronalaženje poveznica između autora ili radova. Pomaže da velike biblioteke informacija budu lakše pretražive i upravljive.

  • Primjer Recommender Systems pokazuje kako se R može koristiti za kreiranje sustava preporuka, poput onih koji se koriste na stranicama za kupovinu, za predlaganje proizvoda. Za pronalaženje najboljih preporuka za korisnike koriste se različite metode, uspoređujući tehnike na temelju čimbenika kao što su točnost i iznenađenje. Pomaže programerima odabrati pravi pristup za izradu personaliziranih prijedloga.

  • U sportu, R se koristi za analizu učinka igrača i tima. Prikupljanjem podataka o rezultatima, statistikama igrača i ishodima utakmica, analiza provedena uz pomoć R-a može pomoći trenerima i analitičarima da donesu bolje odluke o strategiji, treningu, pa čak i odabiru igrača.

  • Poduzeća koriste R za predviđanje buduće prodaje proučavanjem povijesnih podataka o prodaji. U konkretnom primjeru, analizira se kako osiguravajuće društvo može koristiti podatke o svojim trenutnim klijentima za modeliranje ciljanih profila kupaca usmjerenih na unakrsnu prodaju polica kampera, kao i ciljanje novih kupaca. Postojeći podaci o kupcima se pregledavaju i prethodno obrađuju, nakon čega slijedi preliminarna analiza (kao što je linearna regresijska analiza) kako bi se steklo razumijevanje prirode podataka. Razmotrene su različite metode modeliranja prije nego što je odlučeno da se razviju modeli klasifikatora profila ciljnih kupaca. Prikazani su modeli izvedeni s četiri različite metode klasifikatora s usporednim rezultatima njihove sposobnosti objašnjavanja i predviđanja, kao i računalne učinkovitosti. Naposljetku, kritički se ocjenjuju rezultati data mininga i rezultirajući modeli, kao i moguća poboljšanja u procesu izgradnje modela, uz zaključke kako rezultati mogu pružiti smjernice za ciljanu marketinšku strategiju.

  • Preferencije kupaca često su temelj za podršku strateškom planiranju i donošenju odluka u poduzećima. Jedan od načina analiziranja preferencija je modeliranje višekriterijskih odluka (MCDM) kupaca. Međutim, to zahtijeva istovremeno razmatranje više kriterija, što je za mnoge tradicionalne metode nedostatno. Autori primjenjuju tehniku agregacije (Choquet Integral) i predstavljaju novorazvijeni okvir, nazvan Rfmtool, za analizu preferencija. Pomoću studije slučaja singapurske hotelske industrije, demonstrira se kako se ovaj skup alata može koristiti za otkrivanje preferencija koje utječu na hotelske odabire putnika. Očekuje se da će predstavljena tehnika i razvijeni alati koristiti istraživačima i menadžerima diljem svijeta u izvođenju učinkovitijeg poslovnog upravljanja.

  • Jedna se studija fokusira na korištenje R-a za analizu i optimizaciju DNS (engl. Domain Name System) prometa. Kako DNS promet brzo raste svake godine, uz dodatne sigurnosne protokole (DNSSEC), poslužiteljima je potrebno više resursa poput CPU snage i memorije. Kako bi unaprijedili taj proces, autori koriste R za rudarenje podataka, kao što su klasteriranje i smanjenje dimenzionalnosti, za grupiranje i upravljanje prometom učinkovitije na temelju naziva domena (FQDN) umjesto IP adresa. R-ove funkcije i paketi podržavaju metode poput K-means klasteriranja, linearnog programiranja i heurističkih pristupa koje omogućuju modeliranje i unaprijeđenje procesa kroz uravnoteženje opterećenja poslužitelja. Testirajući ih na DNS prometu u stvarnom svijetu, modelom je postignuto značajno smanjenje resursa CPU-a (oko 30%) s minimalnim razlikama u opterećenju između poslužitelja, čime su DNS platforme radile glatko i učinkovitije.

Iako je najistaknutija primjena u znanosti o podacima i poslovnoj analitici, primjeri s preferencijama potrošača i optimizacijom DNS prometa pokazuju kako se programski jezik R koristi i u operacijskim istraživanjima. R pruža osnovne i napredne alate za rješavanje problema optimizacije i stvaranje modela koji rješavaju složena pitanja, kao što su optimizacije sustava, procesa i odluka. Integracija R-a u operacijska istraživanja olakšava analizu i modeliranje sustava, čineći ga vrijednim resursom za studente, stručnjake i istraživače u tom području (González-Pérez, López, and Sampedro 2014).

Dakle, R i RStudio su vrlo učinkoviti u mnogim industrijama, ali nisu jedini dostupan analitički alat, odnosno programski jezik. Na primjer, Python, nudi slične mogućnosti i ima vlastite prednosti, poput jednostavnosti integracije s web aplikacijama i širim bibliotekama strojnog učenja. Bez obzira na to, snažna statistička osnova R-a i opsežan ekosustav paketa i dalje ga čine preferiranim izborom za mnoge stručnjake koji se bave analizom podataka, modeliranjem i optimizacijom.

R i RStudio su moćni alati za analizu podataka, ali zahtijevaju određenu razinu znanja programiranja. Preciznost potrebna u sintaksi naredbi i rukovanju objektima može predstavljati izazov za početnike. Međutim, dostupnost opsežne dokumentacije i podrške zajednice pomaže u ublažavanju ovih izazova, čineći R i RStudio dostupnima široj publici (Dayal 2015).

1.2 Razumijevanje R-a i osnova rada u R-u

Osnove rada u R-u podrazumijevaju učenje instalacije, postavljanja radnog okruženja (poput RStudio) i osnovnih koncepta kao što su varijable, tipovi podataka i osnovne funkcije. Nakon toga, potrebno je upoznati se sa strukturama podataka u R-u, uključujući vektore, liste, matrice i podatkovne okvire (engl. data frames). Također, važno je naučiti kako učitavati, pregledavati, čistiti i transformirati podatke.

1.3 Statistika i grafički prikaz u R-u

Nakon savladavanja osnova, korisno je upoznati se s osnovama statističke analize u R-u, uključujući opisnu statistiku, testiranje hipoteza i linearnu regresiju. Osim toga, izuzetno je korisno naučiti kako stvoriti i prilagoditi grafičke prikaze u R-u, kreirajući različite vrste grafikona.

1.4 Napredne tehnike i rješavanje problema

Nakon savladavanja osnova koje nudi ovaj priručnik, studenti će imati dostatni temelj za daljnje razvijanje vještine programiranja u R-u, uključujući upotrebu petlji, uvjetnih izjava i funkcija. Naprednije tehnike obuhvaćat će i upravljanje složenim podacima, dok će se korisnici u radu naići i na potrebe za optimizacijom koda i rješavanja programskih grešaka.

1.5 Gdje pronaći pomoć i resurse

  • Stack Overflow: Za specifična pitanja i probleme.
  • R-bloggers: Za širok spektar blogova i članaka o R-u.
  • CRAN: Za službenu dokumentaciju R-a i paketa.
  • Knjige i časopisi: R for Data Science (Wickham, Çetinkaya-Rundel, and Grolemund 2023) i The R Journal za dublje razumijevanje.

Postoji više inačica uvoda u R i/ili RStudio, na primjer:

Nadalje, postoje i brojni online tečajevi za učenje R jezika, najčešće u kontekstu statističke analize, znanosti o podacima ili poslovne analitike. Među platformama koje nude takve programe su datacamp, codeacademy, coursera, udemy i druge.

1.6 Općeniti savjeti

  • Vježbajte kroz male projekte ili analize stvarnih podataka.
  • Budite strpljivi i ne bojte se grešaka; one su dio učenja.
  • Koristite kombinaciju različitih resursa za najbolje rezultate.
  • Ostanite u tijeku s najnovijim trendovima i paketima u R ekosustavu.