dodajanje podatkov na obstoječi boxplot

22 views
Skip to first unread message

Jana Erjavec

unread,
Apr 23, 2013, 9:18:40 AM4/23/13
to rkoh...@googlegroups.com
Živjo,

Na obstoječi boxplot simptomi/čas, bi rada dodala nekaj dodatnih podatkov o koncentracijah.

Malo sem se igrala in rezultat je tole:


Inline image 2
Komentar:
- podatke pripenjam v priponki
- dnevi na x osi niso OK, plot namreč avtomatsko nariše točke tudi če nima podatkov (za dneva 12 in 13, medtem ko boxplot nariše samo dneva 11 in 14 , brez 12 in 13, zato tudi anomalija pri dnevu 12 (ki bi moral biti v resnici 14)
- dodajanje grafa v obratnem vrstnem redu (plot na boxplot) ne deluje, zato sem v data.frame dodala še dneve 7-14 z vrednostmi NA)

Zanima me:
- verjetno obstaja precej preprostejši način dodajanja točk na obstoječe grafe, kot je  add=T)?
- če obstaja, kako preprosto je dodati še eno y os za dodatne podatke?


Uporabila sem:
SvA<-read.table("SvAvg.txt", header=T)
plot(SvA)
data.frame(SvA)
X1<-data.frame(SvA)
with(X1, plot(dpi, Rs.conc., col="black", pch=16, ylab="symptoms, log(Rsconcentration)"),add=T)
Sv<-read.table("BZSv.txt", header=TRUE)
b=c("1","2","3","4","5","6","7","8","9","10","11","14")
boxplot(Sv, main="Sv + Rs", ylim=c(0,5), ylab="Symptoms",xlab="dpi", names=b)

Najlepša hvala za pomoč!

Jana
image.png
SvAvg.txt
BZSv.txt

romunov

unread,
Apr 24, 2013, 3:08:43 AM4/24/13
to rkoh...@googlegroups.com
Zdravo Jana,

malo sem pogledal te tvoje podatke, pa bi morda predlagal drgačen način prikaza. Boxploti so za tale tip podatkov mogoče slaba izbira, saj o porazdelitvah povedo bore malo. Pomislil sem tudi na "violin plot", vendar pa  imaš prvih nekaj spremenljivk skocentriranih na ničli, pa smo spet skoraj na začetku. 

Ker gre za relativno malo podatkov, se da vse vrednosti z "malo tresenja" prikazati take kot so. Pike sem raztresel v horizontalni smeri in jih pobarval izmenjujoče, da se jasno loči skupine. Spodaj je koda, ki sem jo uporabil, da sem izrisal tvoje podatke.

Inline image 1

library(ggplot2)
library(reshape2)
pt <- melt(Sv) # podatke spravimo v "long" obliko

ggplot(pt, aes(x = variable, y = value, colour = variable)) +
  theme_bw() + # odstranimo sivo ozadje
  xlab("Spremenljivke") + # naslov x osi
  ylab("Vrednosti") + # naslov y osi
  # razmet točk horizontalno, ne pa tudi vertikalno. točke so rahlo prosojne, da se vidi skupinice
  geom_point(position = position_jitter(width = 0.4, height = 0), show_guide = FALSE, alpha = 0.3) +
  geom_point(data = SvA, aes(x = dpi, y = Rs.conc.), size = 4, colour = "blue") + #dodamo SvA podatke kot velike pike
  scale_colour_manual(values = rep(c("black", "red"), 6)) # izmenjujoča črna in rdeča


lp,
Roman



2013/4/23 Jana Erjavec <jana....@gmail.com>

--
You received this message because you are subscribed to the Google Groups "Anonimni Rkoholiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rkoholiki+...@googlegroups.com.
To post to this group, send email to rkoh...@googlegroups.com.
Visit this group at http://groups.google.com/group/rkoholiki?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
In God we trust, all others bring data.
image.png
image.png

romunov

unread,
Apr 24, 2013, 3:18:42 AM4/24/13
to rkoh...@googlegroups.com
Da odgovorim še glede dodajanja y-osi. Je možno dodati ekstra y os in nanizati zraven še ene podatke, vendar pa iz informacijskega vidika to ni nujno najbolj optimalno. V statistiki se teh prikazov načeloma ogibamo kot hudič križa. Ena od alternativ bi bil prikaz teh podatkov v dveh oknih (glej primere za facet_wrap) naloženih vertikalno, saj je navadno to dimenzija, v kateri želimo podatke primerjati.

Včasih pa je mogoče prikazati podatke relativno, s čimer se izognemo uporabi dveh skal. Tak primer bi bila gostota. Skale teh podatkov so si različne za več velikostnih razredov.

Inline image 1


lp,
Roman


2013/4/23 Jana Erjavec <jana....@gmail.com>
Živjo,

--
You received this message because you are subscribed to the Google Groups "Anonimni Rkoholiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rkoholiki+...@googlegroups.com.
To post to this group, send email to rkoh...@googlegroups.com.
Visit this group at http://groups.google.com/group/rkoholiki?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
image.png
image.png

Jana Erjavec

unread,
Apr 24, 2013, 6:02:34 AM4/24/13
to rkoh...@googlegroups.com
Najlepša hvala za pomoč Roman! Ta prikaz podatkov je res mnogo boljši od boxplota! Sedaj me precej manj skrbi interpretacija podatkov v članku :).

Dodatne y osi pri teh podatkih ne potrebujem nujno, večinoma raje dam grafe drug pod drugega. Je pa res, da sem se malo poigravala z različnimi prikazi in mi je kot ena od možnosti prišla na misel dodatna y os.

Še enkrat najlepša hvala za pomoč!
Jana


2013/4/24 romunov <rom...@gmail.com>
image.png
image.png
Reply all
Reply to author
Forward
0 new messages