Brz početak rada sa R: Stubičasti grafici (11. Deo)

U ovom 11. delu, pokazaćemo kako kreirati stubičaste grafike u R. Kreirajmo jednostavan stubičasti grafik koristeći komandu barplot(), koja je jednostavna za korišćenje. Prvo ćemo kreirati vektor sa brojeva. Zatim ćemo ih prebrojati pomoću naredbe table(), a zatim ćemo ih grafički prikazati. Komanda table() kreira jednostavnu tabelu frekvencija elemenata u skupu podataka.
H <- c(2,3,3,3,4,5,5,5,5,6)
Sada prebrojavamo elemente pomoću naredbe table(), kao što sledi:
frekvencije <- table(H)
frekvencije
H


Prikažimo sada broj na stubičastom grafiku.
barplot(frekvencije)

Horizontalna osa beleži vrednosti u našem skupu podataka, dok vertikalna osa daje frekvenciju svake vrednosti. Videćemo da komanda barplot() ne vrši direktno prebrojavanje, tako da prvo koristimo naredbu table().
Možemo direktno grafički prikazati svoje podatke ako izostavimo komandu table(). Sada će visina stubića odgovarati vrednostima u skupu podataka. Ovo je korisna tehnika ako su naši podaci već u vidu frekvencija ili ako želimo grafički da prikažemo veličinu svakog elementa.
B <- c(3, 2, 25, 37, 22, 34, 19)
barplot(B, col="darkgreen")


Ovde imamo jedan stubić za svaki element, a visina daje vrednost elementa.
Kreirajmo sada složeniji stubičasti grafik koristeći različite argumente, od kojih smo neke već upoznali na prethodnim blogovima.
barplot(B, main="Moj novi barplot", xlab="Slova", ylab="Moje Y vrednosti", names.arg=c("A","B","C","D","E","F","G"), border="red", density=c(90, 70, 50, 40, 30, 20, 10))

Ranije smo videli sledeće argumente: main, xlab i ylab, ali ne i druge. OK. Šta smo postigli density parametrom? Probajte druge vrednosti density parametra i vidite šta ćete dobiti. Šta znači naredba names.arg?
OK. Kreirajmo treći, složeniji stubičasti grafik, na osnovu nekoliko (četiri) promenljive. Pretpostavimo da želimo da grafički prikažemo veličinu svake vrednosti unutar svake promenljive.
podaci <- structure(list(W= c(1L, 3L, 6L, 4L, 9L), X = c(2L, 5L, 4L, 5L, 12L), Y = c(4L, 4L, 6L, 6L, 16L), Z = c(3L, 5L, 6L, 7L, 6L)), .Names = c("W", "X", "Y", "Z"), class = "data.frame", row.names = c(NA, -5L))
attach(podaci)
print(podaci)


Sada želimo kreirati stubičaste grafike jedan uz drugi za četiri promenljive, W, X, Y i Z. Prvo ćemo postavili par boja, po jednu za svaku od pet vrednosti unutar svake promenljive.
boje <- c("red", "orange", "blue", "yellow", "green")
Prikažimo sada stubičasti grafik za četiri promenljive, sa susednim stubićima, koristeći komandu as.matrix() i argument beside = T.
barplot(as.matrix(podaci), main="Moj stubičasti grafik", ylab = "Brojevi", cex.lab = 1.5, cex.main = 1.4, beside=TRUE, col=boje)

Šta je argument beside = TRUE postigao?
Kreirajmo sada legendu u gornjem levom uglu. Da bismo kreirali legendu bez okvira, uključićemo: bty="n". Argument bty kontroliše granice legende.
legend("topleft", c("Prvi","Drugi","Treći","Četvrti","Peti"), cex=1.3, bty="n", fill=boje)

Koristili smo topleft argument za postavljanje legende prema gornjoj levoj ivici grafikona. Ostale opcije uključuju: "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right", "center".
Probajte to za sebe.
To nije bilo tako teško! U 12. delu razmotrićemo dalje tehnike crtanja u R.
Vidimo se kasnije!
David

Dodatak: Korišćeni R kodovi

# Kreiranje vektora sa brojevima
H <- c(2,3,3,3,4,5,5,5,5,6)

# Kreiranje tablele sa frekvencijama 
frekvencije <- table(H)
frekvencije
H

# Kreiranje stubičastog grafika
barplot(frekvencije)

# Kreiranje stubičastog grafika na osnovu vektora frekvencija bez korišćenja table() komande
B <- c(3, 2, 25, 37, 22, 34, 19)
barplot(B, col="darkgreen")

# Kreiranje kompletnijeg stubičastog grafika
barplot(B, main="Moj novi stubičasti grafik", xlab="Slova", ylab="Moje Y vrednosti", names.arg=c("A","B","C","D","E","F","G"), border="red", density=c(90, 70, 50, 40, 30, 20, 10)) 

# Generisanje datoteke
podaci <- structure(list(W= c(1L, 3L, 6L, 4L, 9L), X = c(2L, 5L, 4L, 5L, 12L), Y = c(4L, 4L, 6L, 6L, 16L), Z = c(3L, 5L, 6L, 7L, 6L)), .Names = c("W", "X", "Y", "Z"), class = "data.frame", row.names = c(NA, -5L))
attach(podaci)
print(podaci)

# Kreiranje vektora sa imenom boja
boje <- c("red", "orange", "blue", "yellow", "green")

# Kreiranje stubičastog grafika za novu datoteku
barplot(as.matrix(podaci), main="Moj stubičasti grafik", ylab = "Brojevi", cex.lab = 1.5, cex.main = 1.4, beside=TRUE, col=boje)

# Dodavanje legende na postojeći stubičasti grafik
legend("topleft", c("Prvi","Drugi","Treći","Četvrti","Peti"), cex=1.3, bty="n", fill=boje)