1.2 RStudio - drugi dio

  • Do sada smo naučili da se R može koristiti kao kalkulator, podaci se mogu simulirati pomoću generatora slučajnih brojeva ili unijeti ručno.

  • Podaci se također mogu importirati lokalno iz datoteka spremljenih na vašem računalu ili, ako je datoteka s podacima dostupna online, može se izravno učitati u RStudio koristeći URL adresu veze.

Zadatak 7. Izravno importirajte podatke u RStudio iz tekstualne datoteke eu_countries.txt pomoću naredbe read.table() koristeći URL adresu veze. Spremnik podataka imenujte novipodaci. Provjerite strukturu objekta novipodaci i prikažite podatke u prozoru konzole.

# Učitavanje podataka iz datoteke koja je dostupna online
novipodaci=read.table(file="http://www.efzg.hr/userdocsimages/sta/jarneric/eu_countries.txt",header=TRUE)
# Provjera strukture spremnika podataka
str(novipodaci)
# Imenovanje redaka izdvajanjem naziva zemalja iz stupca "country"
rownames(novipodaci)=novipodaci$country
# Izostavljanje prvog stupca indeksiranjem unutar uglatih zagrada
novipodaci=novipodaci[,-1]
str(novipodaci) # Ponovna provjera strukture spremnika podataka
print(novipodaci) # Prikaz podataka u prozoru konzole

\(~~~\)

  • Objekt novipodaci se odnosi na uzorak \(18\) europskih zemalja (\(n=18\)) s \(6\) varijabli, čije su vrijednosti opažene u \(2012.\) godini. Svaki stupac iz spremnika podataka može se izdvojiti kao pojedinačna varijabla indeksiranjem unutar uglatih zagrada [i, j]. Indeks i predstavlja redove, a indeks j predstavlja stupce. Alternativno, pojedinačna se varijabla može izdvojiti iz spremnika podataka pomoću simbola $.

  • Datoteka eu_countries.txt tekstualna je datoteka s podacima razdvojenim tabulatorima i s točkom kao decimalnim znakom

  • Ako je CSV datoteka dostupna online (podaci razdvojeni zarezima), trebali biste koristiti naredbu read.csv() umjesto read.table().

  • Za uvoz Excel datoteke trebali biste koristiti naredbu read_excel() iz paketa readxl

  • Nadalje, sekundarni se podaci mogu izravno učitati u RStudio iz javno dostupnih izvora. Nekoliko paketa podržavaju tu opciju.

TABLICA 1.2: Uvoz podataka iz javno dostupnih izvora u RStudio
paket naredba opis
eurostat get_eurostat() EUROSTAT podaci
WDI WDI_data() World Bank podaci
ecb get_data() European Central Bank podaci
quantmod getSymbols() Yahoo Finance podaci
OECD get_dataset() OECD podaci
  • Za uvoz podataka s EUROSTAT-a, najprije trebate provjeriti navigacijsko stablo na stranici statističkog ureda Europske unije https://ec.europa.eu/eurostat/data/database kako biste pronašli i identificirali skup podataka koji vas zanima, kao i kodove zemalja, varijabli/indikatora te ostale relevantne identifikatore.

Zadatak 8. Uvezite podatke o finalnoj potrošnji za 2023. godinu s EUROSTAT-a za istih \(10\) zemalja kao u TABLICI 1.1. Također, uvezite podatke o dohotku (plaće i naknade) za iste zemlje u istoj godini. Prikažite dijagram rasipanja s potrošnjom na y-osi i dohotkom na x-osi (obje varijable izražene u milijunima eura u tekućim cijenama). Prikažite drugi dijagram rasipanja s obje logaritmirane varijable.

install.packages("eurostat") # Instaliranje paketa "eurostat" (potrebno samo jednom)
library(eurostat) # Učitavanje instaliranog paketa iz knjižnice
# Uvoz podataka o potrošnji s EUROSTAT-a s odgovarajućim filtrima
potrosnja=get_eurostat("nama_10_gdp",filters=list(geo=c("BG","CZ","EE","HR","IT","LV","HU","PL","RO","SI"),na_item="P3",time=2023,freq="A",unit="CP_MEUR"),cache=FALSE)
potrosnja=potrosnja$values # Izdvajanje vrijednosti potrošnje
# Uvoz podataka o dohotku s EUROSTAT-a s odgovarajućim filtrima
dohodak=get_eurostat("nama_10_gdp",filters=list(geo=c("BG","CZ","EE","HR","IT","LV","HU","PL","RO","SI"),na_item="D11",time=2023,freq="A",unit="CP_MEUR"),cache=FALSE)
dohodak=dohodak$values # Izdvajanje vrijednosti dohotka
# Prvi dijagram rasipanja
plot(dohodak,potrosnja,pch=19,col="blue",main="Dijagram rasipanja (1)")
# Drugi dijagram rasipanja
plot(log(dohodak),log(potrosnja),pch=19,col="blue",main="Dijagram rasipanja (2)")

\(~~~\)

  • Argument cache=FALSE omogućuje preuzimanje posljednje ažuriranih podataka izravno s EUROSTAT-a, što može dulje potrajati, posebno ako je skup podataka velik.

Zadatak 9. Instalirajte i učitajte quantmod paket. Iz Yahoo Finance izvora uvezite dnevne podatke Apple dionice za razdoblje od 1. siječnja 2023. do 31. prosinca 2023. (jedna godina). Ispišite prvih nekoliko redaka i posljednjih nekoliko redaka uvezenih podataka. Izdvojite cijene zatvaranja (engl. closing prices) kao objekt cijene i prikažite ih linijskim grafikonom. Izračunajte dnevne prinose na temelju cijena zatvaranja (objekt prinosi) i prikažite ih također linijskim grafikonom. Instalirajte i učitajte paket moments, koji podržava naredbe za koeficijent asimetrije (engl. skewness) i koeficijent zaobljenosti (engl. kurtosis). Koristite naredbu datasummary() za prikaz statističkih informacija o dnevnim prinosima: minimum, maksimum, sredina, standardna devijacija, asimetrija i zaobljenost. Prikažite dnevne prinose histogramom s relativnim frekvencijama i dodajte normalnu krivulju.

# Instaliranje i učitavanje paketa "quantmod"
install.packages("quantmod")
library(quantmod)
# Uvoz podataka Apple dionice iz Yahoo Finance izvora
getSymbols("AAPL",src="yahoo",from="2023-01-01",to="2023-12-31")
head(AAPL) # Ispis prvih 6 redaka
tail(AAPL) # Ispis zadnjih 6 redaka
cijene=AAPL$AAPL.Close # Izdvajanje samo zaključnih cijena
plot(cijene,main="Dnevne cijene zatvaranja") # Linijski prikaz cijena zatvaranja
prinosi=diff(log(cijene)) # Izračun dnevnih prinosa kao prvih diferencija logaritamskih vrijednosti
plot(prinosi,main="Dnevni prinosi") # Linijski prikaz dnevnih prinosa
# Instaliranje i učitavanje paketa "moments"
install.packages("moments")
library(moments)
# Tablični prikaz statističkih informacija o dnevnim prinosima
datasummary(min+max+mean+sd+skewness+kurtosis~AAPL.Close,data=data.frame(prinosi[-1,]),fmt=4)
# Histogram relativnih frekvencija s normalnom krivuljom
hist(prinosi,prob=TRUE,main="Histogram dnevnih prinosa dionice Apple")
curve(dnorm(x,0.0017,0.0125),col="red",add=TRUE)

\(~~~\)

  • Paket quantmod ovisi o nekoliko drugih paketa, a RStudio će automatski instalirati povezane pakete, ako već prije nisu instalirani.