1.1 RStudio - prvi dio

  • Postoji i RStudio cloud verzija koja se zove Posit Cloud te omogućava korisnicima pokretanje softvera RStudio u web pregledniku bez potrebe za instalacijom na lokalnom računalu

  • Godine 2022. RStudio je preimenovan u Posit, kao rezultat njegove ekspanzije i integracije s Python-om.

  • RStudio cloud verzija također je besplatna i dostupna na poveznici https://posit.cloud/

  • Najjednostavniji pristup Posit Cloud-u je prijava putem Google računa (čak i ako se prvi put prijavljujete)

  • Nakon pokretanja RStudio-a (na vašem računalu ili web pregledniku), korisničko sučelje izgleda slično ekranu na sljedećoj slici.

RStudio korisničko sučelje

SLIKA 1.1: RStudio korisničko sučelje

  • Neimenovana datoteka u gornjem desnom kutu Untitled1 je novo otvorena i prazna R Skripta u kojoj se ručno unose naredbe (File -> New File -> R Script)

  • Argumenti svake naredbe pišu se unutar oblih zagrada ( )

  • Naredba se izvršava tako da se selektira mišem i klikne gumb Run ili korištenjem prečaca Ctrl+Enter na kraju naredbenog retka

  • Korisno je pisati komentare (linije započinju s #) koje R ignorira. Komentari su korisni kao kratke bilješke u objašnjavanju kodova.

  • U donjem lijevom kutu, u prozoru Console ispisuju se rezultati izvršenih naredbi, kao i poruke upozorenja ili pogreški (primjerice, sintaksa naredbe je pogrešno napisana ili određena naredba/objekt nije pronađen).

  • Prozori s desne strane služe za praćenje tijeka analize, uključujući tabove Environment, History, Plots, Help, Packages (prikazuje popis trenutno instaliranih paketa u knjižnici), itd.

Zadatak 1. Izvršite sljedeće računske operacije: \(~~8\times3\), \(~\pi/2\), \(~e^3\), \(~\sqrt4\), \(~5+4\), \(~\log10\) i \(~6^2\).

# Neke računske operacije u R-u
8*3
pi/2
exp(3)
sqrt(4)
5+4
log(10)
6^2

\(~~\)

Zadatak 2. Generirajte niz \(1000\) vrijednosti standardizirane normalne distribucije (sa sredinom \(0\) i standardnom devijacijom \(1\)) te ga spremite kao objekt a. Kreirajte histogram objekta a. Fiksirajte početnu točku generatora slučajnih brojeva (RNG).

# Generiranje slučajnih brojeva i njihovo prikazivanje histogramom
set.seed(123)
a=rnorm(1000,0,1)
hist(a,main="Histogram generiranih slucajnih brojeva")

\(~~\)

  • Naredba set.seed() korisna je za generiranje reproduktivnih slučajnih brojeva (ako se izostavi, slučajni brojevi će se razlikovati svaki put kada pokrenete naredbu rnorm() u sljedećem naredbenom retku)

  • U drugom retku rnorm() naredba generira slučajne brojeve iz normalne distribucije, a ti se brojevi pridružuju objektu (varijabli) a. To omogućuje da kasnije ponovno upotrijebite iste generirane slučajne brojeve u svom kodu. Umjesto operatora pridruživanja = može se koristiti i znak <-.

  • Naredbom hist() prikazuje se histogram podataka, dok se argument main koristi za definiranje naslova histograma unutar navodnih znakova " ".

Zadatak 3. Objekt a ponovno prikažite histogramom, ali sada s relativnim frekvencijama (vjerojatnostima) na ordinati. Takvom histogramu dodajte normalnu krivulju na istoj slici.

# Dodavanje normalne krivulje (crvene boje) histogramu relativnih frekvencija
hist(a,prob=TRUE,main="Histogram s normalnom krivuljom",xlab="generirani slucajni brojevi")
curve(dnorm(x,0,1),col="red",add=TRUE)

\(~~~\)

  • Može se kombinirati više naredbi unutar jednog naredbenog retka, primjerice dnorm() naredba je korištena kao argument unutar curve() naredbe.

Zadatak 4. Izračunajte sredinu i standardnu devijaciju objekta a. Ispišite osnovne statističke informacije istog objekta, uključujući minimum, maksimum, medijan, aritmetičku sredinu i kvartile.

# Sredina, standardna devijacija i ostale statističke informacije objekta "a"
mean(a)
sd(a)
summary(a)

\(~~~\)

  • Da biste saželi informacije (dobivene rezultate) u dobro formatirane i prilagodljive tablice, potrebno je instalirati dodatni paket modelsummary i učitati ga iz knjižnice. Ovaj paket podržava datasummary() naredbu za tablični prikaz deskriptivne statistike i modelsummary() naredbu za tablični prikaz rezultata procijenjenog ekonometrijskog modela.

Zadatak 5. Nakon instalacije i učitavanja paketa modelsummary, upotrijebite datasummary() naredbu da biste minimum, makismum, sredinu i standardnu devijaciju objekta a prikazali tablično. Objekt a pretvorite u spremnik podataka (engl. data frame) naziva dt.

# Tablični prikaz deskriptivno statističkih pokazatelja pomoću datasummary() naredbe
install.packages("modelsummary")
library(modelsummary)
dt=data.frame(a)
datasummary(a~min+max+mean+sd,data=dt,fmt=4)

\(~~~\)

  • Novi objekt dt je spremnik podataka s jednim stupcem (jednom varijablom). Naredba datasummary() zahtijeva da su podaci u obliku data frame. Spremnik podataka, općenito, može sadržavati više stupaca različitih mjernih ljestvica (numerički, znakovni, cijeli brojevi, faktori, itd.). Retci i stupci bilo kojeg spremnika podataka mogu biti imenovani/preimenovani, što olakšava referenciranje na specifični skup podataka prilikom kasnije upotrebe.

  • Nakon prve instalacije, pakete nije potrebno ponovno instalirati, ali ih je potrebno učitati iz knjižnice (engl. library) svaki put kad ih koristite u novoj sesiji.

  • Prvi argument naredbe datasummary() je dvostrana formula koja koristi simbol ~, dok posljednji argument fmt kontrolira broj decimala.

Zadatak 6. Ručno unesite prostorne (presječne) podatke iz TABLICE 1.1 u RStudio tako da je očekivani životni vijek varijabla y, a stopa siromaštva varijabla x. Kreirajte dijagram rasipanja (eng. scatter plot) između dviju promatranih varijabli. Objedinite varijable y i x u drugi spremnik podataka pod nazivom mojipodaci. Preimenujte stupce objekta mojipodaci u zivot i siromastvo. Retcim pridruži nazive zemalja. Tablično prikažite deskriptivnu statistiku za obje varijable koristeći naredbu datasummary().

TABLICA 1.1: Prostorni podaci iz 2021. godine
zemlja\(~~~~~~~~~~~~~\) \(~~\)životni vijek \(~~~~\)stopa siromaštva
Bugarska 71.4 31.7
Češka 77.2 10.7
Estonnija 77.2 22.2
Hrvatska 76.7 20.9
Italija 82.7 25.2
Latvija 73.1 26.1
Mađarska 74.3 19.4
Poljska 75.5 16.8
Rumunjska 72.8 34.4
Slovenija 80.7 13.2
# Ručni unos podataka (varijabli y i x)
y=c(71.4,77.2,77.2,76.7,82.7,73.1,74.3,75.5,72.8,80.7)
x=c(31.7,10.7,22.2,20.9,25.2,26.1,19.4,16.8,34.4,13.2)
# Prikaz dijagrama rasipanja (točke s punom ispunom plave boje)
plot(x,y,main="Dijagram rasipanja",xlab="stopa siromastva",ylab="zivotni vijek",pch=19,col="blue")
# Spajanje dviju varijabli u drugi spremnik podataka s imenovanim stupcima i recima
mojipodaci=data.frame(y,x)
colnames(mojipodaci)=c("zivot","siromastvo")
rownames(mojipodaci)=c("Bugarska","Češka","Estonnija","Hrvatska","Italija","Latvija","Mađarska","Poljska","Rumunjska","Slovenija")
# Deskriptivna statistika (tablični prikaz)
datasummary(zivot+siromastvo~min+max+mean+sd,data=mojipodaci,fmt=4)

\(~~~\)

  • Spremite R Skriptu s proizvoljnim nazivom po vašem izboru (File -> Save As \(\dots\))

  • U bilo kojem trenutku možete učitati spremljenu skriptu u RStudio, a naredbe iz te skripte ponovno će se izvršiti ako ih sve selektirate mišem i kliknete Run.

  • Prema postavkama RStudio-a, sve skripte (s ekstenzijom .R) spremaju se u vaš radni direktorij (engl. working directory); obično je to mapa My Documents ili Desktop

getwd() # Informacija o vašem trenutnom radnom direktoriju
setwd("nova putanja")  # Lokacija radnog direktorija može se izmijeniti definiranjem nove putanje
# koja vodi do datoteka potrebnih za početak rada