R programski jezik: Intro u Posit (ex RStudio IDE)

Posit (aka RStudio) predstavlja besplatan, open source IDE (integrated development environment) za R programski jezik koji se fokusira na statističku analizu. Kompanija je osnovana 2008. godine sa sedištem u  Bostonu.

U okviru svoje ponude nudi besplatnu kao i komercijalnu verziju svog programa. Podržan je i radi na raznim operativnim sistemima (Windows, Mac, Linux) dok takođe može biti povezan na RStudio Server ili RStudio Server Pro (Debian/Ubintu, RedHat/CentOS, SUSE Linux).

Na njihovom zvaničnom blogu se mogu pročitati razne zanimljive teme koje obuhvataju reviziju najnovijih R biblioteka pa do predloga za poboljšanje produktivnost. Blog se nalazi na ovom linku dok bi takođe preporučio da zapratite i njihov Twitter nalog na kome su poprilično aktivni.

Kada se pogleda trend tokom poslednjih 5 godina na Googlu, interesovanje definitivno ne prestaje i evidentan je uzlazni trend sa kratkoročnim padovima tokom novogodišnjih praznika.

Kroz tekst u nastavku sam obuhvatio sledeće:

  1. Setup & instalacija
  2. Interfejs – objašnjenje panela
  3. Projekti
  4. Dostupne teme
  5. Dokumenti cheat sheet
  6. Posit (aka RStudio) & Github setup
  7. Addins
  8. Posit (aka RStudio) Cloud
  9. Shiny
  10. Community
  11. rstudio::conf

R & Posit (aka RStudio) instalacija

Prvenstveno je potrebno skinuti i instalirati R programski jezik i Posit (aka RStudio) program sa zvaničnog sajta. Linkovi za download se nalaze u nastavku:

Ako imate Windows OS kliknućete Download R for Windows. Klikom na base pojaviće vam se download link za poslednju stabilnu verziju koja je u trenutku pisanja 3.5.1.

Preporuka je svakako da instalirate 32-bit verziju ako koristite 32-bit Windows i naravno da instalirate 64-bit R verziju ako koristite Windows 64-bit.

Posit (aka RStudio) interfejs

Posit (aka RStudio) interfejs se deli na četri glavna panela.

r studio ide pane

Oni obuhvataju:

1. Editor R skripte / koda

U editoru je moguće kreiranje, otvaranje i editovanje fajlova koji sadrže R skripte. Ako na primer želite da kreirate novu R skriptu, selektujte File, New File, R Script ili jednostavnije klikom na ikonu dokumenta sa znakom plus lociranu direktno ispod glavnog menija (gornji levi ugao ispod File stavke menija).

2. R konzola

Prozor sa konzolom je mesto na kome upisujete šta želite R da uradi i u ovom delu se takođe  prikazuju rezultati vaših komandi. U njemu možete da vidite šta se upravo dešava nakon izvršenog koda.

Komade se mogu direktno napisati u konzoli ali se zaboravljaju kad se zatvori sesija. Predlog je da svakako upišete komande kroz Script Editor R koda i da uvek sačuvate skriptu (možete je podeliti, nastaviti kasnije itd).

Takođe, tokom rada i analize imaćete potrebu da proverite na primer strukturu objekta bez potrebe da sačuvate taj rezultat. Samim tim možete ukucati ove komande direktno u R konzolu i dobiti rezultat.

3. Environment / History / Connections / Git

Environment Tab podrazumeva listu svih aktivnih R objekata, vrednosti, funkcija ili svega ostalog što je kreirano tokom R sesije.

History Tab čuva istoriju svih vaših prethodnih komandi.

Connections Tab predstavlja konektor za vaše konekcije (ODBC i Spark).

Git Tab predstavlja sve opcije za komitovanje, pull, push sa statusima izmena. Ovaj Tab će se pojaviti ako ste uspešno povezali Git instalaciju (više o njoj i samom setupu u nastavku teksta).

4. Files / Plots / Packages / Help

Files Tab prikazuje fajlove u okviru radnog direktorijuma.

Plots Tab prikazuje sve vizualizacije koje su kreirane tokom R sesije, one se mogu po potrebi sačuvati kao JPEG ili u PDF formatu klikom na Export dugme.

Packages Tab prikazuje sve eksterne R biblioteke (packages) koje su instalirane na vašem lokalnom sistemu. Ako su biblioteke čekirane one su učitane međutim ako nisu one bi trebalo da budu učitane ako želite da ih koristite. Takođe moguće je i klikom na Packages/Install Packages instalirati željenu biblioteku.

Posit (aka RStudio) Projects

RStudio nudi korisnu opciju pod imenom Projects koja omogućava korisnicima da jednostavno i lako promene projekte u okviru njega. Svaki projekat ima drugačije radne foldera i fajlove. Korišćenje projekata se svakako preporučuje zbog bolje organizacija fajlova i skripti na kojima radite.

rstudio projects

Treba napomenuti da nakon svakog pokretanja, startuje se sa definisanim radnim direktorijumom. Ukucavanjem getwd() kroz Editor možete proveriti koji je trenutni radni direktorijum.

Kako budete sve više koristili sam program, kroz rad i analizu imaćete zasigurno dosta različitih projekata sa različitim fajlovima i skriptama samim tim ovaj radni default direktorijum možete promeniti kroz Session / Set Working Directory / Choose directory.

Posit (aka RStudio) themes

RStudio pruža podršku za tri globalne teme koje prilagođavaju sam vizuelni izgled interfejsa.

  1. Classic
  2. Modern (default)
  3. Sky
rstudio theme gif
Screenshots source: https://support.rstudio.com

Kroz meni možete promeniti temu klikom na Tools / Global Options / Appearance. Kroz padajući meni selektujte temu koja vam najviše odgovara.

RStudio & R Markdown

R Markdown (.rmd) predstavlja notebook koji sadrži vašu analizu u R kodu, sve vizualizacije koje ste tokom analize kreirali kao i komentare i uvide (insights) u vidu teksta. Sa njim je moguće generisanje kvalitetnih izveštaja koji se mogu brzo i lako podeliti sa drugim korisnicima ili kolegama, kako u vidu fajla tako i u vidu na primer PDF dokumenta.

rstudio r markdown

Biblioteka se može instalirati putem sledeće komande kroz R editor:

install.packages("rmarkdown")

R Markdown podržava preko deset statičkih i dinamičkih dokumenata koji vaš celokupan izveštaj (sa ili bez koda, vizualizacije i tekst) može pretvoriti u:

  • HTML
  • PDF
  • MS Word
  • Beamer
  • HTML5 slides
  • dashboards
  • Shiny applications
  • PowerPoint

RStudio IDE Cheat Sheet

RStudio cheat sheet pruža vodič kroz najkorisnije funkcionalnosti kao i opširnu listu prečica za tastaturu sa ciljem povećanja produktivnosti kroz sam program. Poslednji update ovog jako korisnog dokumenta je bio 01/2016.

Predlažem da ga pregledate, skinete i odštampate. Link se nalazi ovde.

r studio ide cheat sheet
Originalni izvor: www.rstudio.com/resources/cheatsheets/

RStudio & Github setup

GitHub predstavlja web servis koji omogućava skladištenje vaših repozitorijuma.

Git omogućava praćenje i deljenje koda, promene na vašim fajlovima i analize, takođe možete videti koje su promene napravljenje između dve verzije vašeg koda. Deljenje projekata je dosta olakšano, kolege ili drugi korisnici mogu da daju svoj doprinos na vašem projektu, možete pratiti prethodnu verziju koda u slučaju pojave problema ili greške.

UPDATE 01/2019: Početkom januara ove godine GitHub je objavio lansiranje besplatnih privatnih repozitorijuma do tri saradnika za sve GitHub korisnike. Jako lepa vest 🙂

Ovaj kratak tutorijal obuhvata sledeće:

  • Instalacija svih neophodnih programa
  • Dodatni RStudio Setup
  • Kreiranje RStudio projekta sa Git-om
  • Slanje lokalnih izmena u remote GitHub kroz RStudio

Instalacija svih neophodnih programa

Pre početka neophodno je da se instaliraju svih potrebni programi.

  1. Download Git
  2. Opciono: Download GitHub Desktop klijenta
  3. Download R (ako već nije instaliran)
  4. Download RStudio (ako već nije instaliran)
  5. Otvaranje besplatnog GitHub naloga

Dodatni RStudio setup

Potrebno je da otvorite RStudio, kroz meni selektujte Tools / Global Options / Git/SVG i čekirajte Enable version control interface for RStudio project.

Takođe potrebno je da se definiše putanja Git-a. Na istom ekranu sa prethodnog koraka u polju Git executable unesite tačnu putanju Git exe fajla.

Putanju ćete najlakše pronaći tako što ćete kroz RStudio meni otvoriti shell (Tools / Shell) i ukucati where git. Ako je Git instaliran kako treba dobićete putanju koja glasi C:/Program Files/Git/bin/git.exe

Nakon unosa kliknite Apply i restartujte RStudio.

rstudio ide git github

Kreiranje RStudio projekta sa Git-om

  1. Kreirajte novi GitHub repozitorijum i selektujte opciju uz kreiranje README.
  2. Nakon uspešnog kreiranja repozitorijuma potrebno je da kopirate njegov HTTPS link koji se nalazi nakon klika kod opcije Clone and Download.
  3. Kreirajte novi RStudio projekat klikom na Version Control (slika u nastavku).
  4. Selektujte Git i prekopirajte prethodno kopirani URL vašeg napravljenog repozitorijuma, upišite ime projekta i definišite folder za projekat.

rstudio ide version control github git

rstudio ide version control github git

rstudio ide version control github git

Slanje lokalnih izmena u GitHub kroz RStudio

  1. Otvorite README.md kroz RStudio, napravite izmenu (npr. unesite dodatni tekst) i sačuvajte fajl.
  2. Kroz panel u gornjem desnom uglu pod Git tabom selektujte Commit.
  3. Videćete izmenu koju ste napravili, upišite Commit poruku (npr. update) i kliknite na Commit.
  4. Kako bi poslali izmene u vaš remote GitHub repozitorijum kliknite na Push koji se nalazi takođe u gornjem desnom uglu. Kod ovog koraka biće neophodno da upišete vaš username i password koji ste definisali prilikom kreiranja GitHub naloga.
  5. Promene možete proveriti kroz vaš remote GitHub repozitorijum.

Korisni linkovi:

RStudio addins

Addins je moćna funkcionalnost koja je promovisana početkom 2016. godine i omogućava svakome ko piše R kod da prilagodi RStudio njegovom radu. Nakon uspešne instalacije konkretnog dodatka, otvorićete eksterni prozor klikom na Addinslist i pokrenuti prethodno instalirani dodatak.

rstudio ide addin list

Primer ggplot Theme Assistant dodatka:

rstudio ide addins ggplot assistant
https://github.com/calligross/ggthemeassist

U nastavku su neki od primera dodataka koje takođe imate na raspolaganju. Naravno aktiviraćete one koji ubrzavaju rad i poboljšavaju vašu produktivnost na konkretnom projektu.

  • Add Gifs – Pretraga GIF-ova kroz Giphy API i dodavanje u R Markdown dokumente.
  • BeautifyR – Formatira RMarkdown tabele.
  • Colour picker – Jednostavno selektovanje boja.
  • ggplot theme assist – Pruža GUI za editovanje ggplot2 tema.
  • Schedule R scripts on Windows – Korišćenje Windows task schedulera za zakazivanje R skripti u Windowsu.
  • Schedule R scripts (Linux/Unix) – Korišćenje crona za  zakazivanje R skripti za Linux/Unix.

RStudio Cloud

RStudio Cloud je u trenutku pisanja teksta u alpha fazi razvoja i još uvek mu se dodaju značajne funkcionalnosti uz konstantno poboljšavanje performansi i stabilnosti.

Trenutno je besplatan za korišćenje i kreiran je sa ciljem:

  • Instant analize – Kreiranje celog data science flowa i analize kroz RStudio koristeći samo vaš browser, bez potrebe za instaliranjem software-a i njegove konfiguracije.
  • Deljivost – Podrazumeva automatsko postavljanje okruženja bez potrebe za instalacijom potrebnih biblioteka i brige za transferom podataka.
  • Privatna kolaboracija – Deljenje na primer samo sa određenom grupom korisnika u privatnom prostoru. Upravljanje korisnicima i kontrolisanje ko može da pristupi tom cloud prostoru u kome se nalazi vaš projekat.

Obuhvata:

  • Projekte – R kod, biblioteke i fajlove.
  • Workspace – Svaki RStudio Cloud korisnik dobija personal workspace u okviru koga kreira svoje projekte. Samo inicijalni korisnik može da radi u okviru njih dok može da izabere opciju da ostali mogu samo da pogledaju ili podele projekat sa ostalim RStudio Cloud korisnicima.
  • Private spaces (privatni prostor) – Podrazumeva prostor gde grupa korisnika sarađuje zajedno i samo oni mogu pristupiti sadržaju i projektu.
  • Members – Mogućnost za dodavanjem novih korisnika u okviru svog workspace-a.
  • Roles – Svakom korisniku je dodeljena jedna rola koja određuje šta sve može da uradi u okviru tog prostora. Role se dele na Admin, Moderator, Contributor, Viewer.
  • Project Access – Dodeljivanje pristupa projektu.

Primer korišćenja:

Na univerzitetima studenti koriste RStudio Cloud sa ciljem učenja R programiranja. Benifit korišćenja programa u Cloudu je taj što npr. profesori nemaju potrebu da troše vreme na nameštanje servera dok je za studente benefit taj što nemaju potrebu za instalacijom software-a.

RStudio Shiny

Shiny predstavlja paket od strane RStudio koji kreira interaktivne web aplikacije.

Karakteristike:

  • Jednostavno pravljenje korisnih web aplikacija uz par linija koda (bez JavaScript).
  • Shiny interfejs može u potpunosti da bude napisan u R programskom jeziku, takođe može biti zapisan direktno u HTML, CSS, JavaScript radi veće fleksibilnosti.
  • Atraktivan UI koji je baziran na Bootstrapu.
  • Widgeti koji su dostupni za prikazivanje grafikona, tabela.

Shinyaapps.io koji je kreiran takođe od strane sjajne RStudio ekipe predstavlja remote mesto na kome možete da postavite vaše Shiny aplikacije kako bi ostali korisnici mogli da ih koriste preko weba bez potrebe za setupom na Shiny Serveru.

rstudio shiny movie explorer
Izvor: https://shiny.rstudio.com/gallery/movie-explorer.html

RStudio Community

Tokom sredine septembra 2017. godine ekipa koja stoji iza RStudio je objavila da lansira novi sajt za diskusiju oko samog programa, tidyverse paketa biblioteka i Shiny aplikacije.

Cilj ove platforme je da se napravi prijateljski prostor za deljenje znanja i najboljih praksi za instalaciju, konfiguraciju i korišćenje njihovih proizvoda.

Link do foruma se nalazi ovde.

rstudio::conf

Tokom poslednje 3 godine, januar mesec je rezervisan za godišnji skup i RStudio konferenciju koja je posvećena okupljanju novih i naprednih korisnika R programskog jezika.

Domaćin konferencije je dobro poznati RStudio Chieft Scientist Hadley Wichham koji uvek ima jako zanimljive keynote goste. Takođe na programu su fantastična predavanja iz raznih oblasti.

U nastavku su linkovi do materijala i slajdova sa prethodnih konferencija:

UPDATE:

2020

2019

2018

2017

Zaključak

Ako ste stigli do kraja i čitate ove redove verujem da će vam ovaj kratak intro u RStudio program definitivno pomoći. Svakako budite slobodni da postavite dodatna pitanja i eventualne nedoumice ako ih imate.

U narednom periodu je svakako plan da objavim još zanimljivih sadržaja u vezi tidyverse paketa. U međuvremenu predlažem da pogledate moj prethodni tekst koji se fokusira na manipulaciju podataka, konkretno korišćenjem dplyr biblioteke. Tekst se nalazi se ovde.

Srećno analiziranje!

O autoru

Dušan Milošević

Curious digital analyst passionate about analytics, funk/disco music and new travel destinations. Always chasing the spark and searching for signal in the noise, combining technical know-how with digital marketing looking for actionable insights.
Proactive thinker, with the ability to adapt and learn quickly. Collaborative, with cross-functional team experience working with product, development and client-side teams.

Dodaj komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.