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)

Menadžer u New Zealand Institute of Sport i Direktor Sigma Statistics and Research Ltd. Autor knige: R Graph Essentials.