Hi R-users, I have a dataset like this: kuvaaja kuva yhteispisteet Hannu isokala 8 Hannu kaapin alta löytynyt 2 Hannu kaapin alta löytynyt 2 8 Hannu limamikko 1 Hannu maukasta marmeladia 8 Hannu skrinnareita 4 Hate madekoukkujen suojelupyhimys 3 Hate matka aikaan joka ei enää palaa 3 Hate munat puoliks padassa 6 Hate pyynikki 2 Hate vailla armeerausta 2 Lassi ajatelkaa, jos Häntä ei olisikaan 2 Lassi elämän viiva 7 Lassi pedot 1 Lassi portsan kundi 3 Lauri hipö 3 Lauri jääpuut 5 Lauri kökar 3 Lauri lumipuu 9 Petteri harmaaleppä 5 Petteri viileä harakka 2 Teemu harppi 2 Teemu Homo sapiens angelus 3 Teemu kainostelua 1 Teemu pinnalla 5 Teemu portinvartija 6 Teemu puikot 1 Teemu verkkovaja 3 I have done this: pisteet.hannu <- subset(pisteet.sum, kuvaaja == "Hannu", select=c(kuva, yhteispisteet)) (pisteet.hannu <- pisteet.hannu[rev(order(pisteet.hannu$yhteispisteet)),]) pisteet.lauri <- subset(pisteet.sum, kuvaaja == "Lauri", select=c(kuva, yhteispisteet)) (pisteet.lauri <- pisteet.lauri[rev(order(pisteet.lauri$yhteispisteet)),]) pisteet.lassi <- subset(pisteet.sum, kuvaaja == "Lassi", select=c(kuva, yhteispisteet)) (pisteet.lassi <- pisteet.lassi[rev(order(pisteet.lassi$yhteispisteet)),]) pisteet.teemu <- subset(pisteet.sum, kuvaaja == "Teemu", select=c(kuva, yhteispisteet)) (pisteet.teemu <- pisteet.teemu[rev(order(pisteet.teemu$yhteispisteet)),]) pisteet.petteri <- subset(pisteet.sum, kuvaaja == "Petteri", select=c(kuva, yhteispisteet)) (pisteet.petteri <- pisteet.petteri[rev(order(pisteet.petteri$yhteispisteet )),]) pisteet.hate <- subset(pisteet.sum, kuvaaja == "Hate", select=c(kuva, yhteispisteet)) (pisteet.hate <- pisteet.hate[rev(order(pisteet.hate$yhteispisteet)),]) opar <- par(mfrow=c(2,3), mar=c(11,3,3,3)) barplot(as.vector(pisteet.hannu$yhteispisteet), names.arg=as.vector(pisteet.hannu$kuva), las=3, cex.names=0.8, main="Hannu", ylim=c(0,10) ) barplot(as.vector(pisteet.lauri$yhteispisteet), names.arg=as.vector(pisteet.lauri$kuva), las=3, cex.names=0.8, main="Lauri", ylim=c(0,10) ) barplot(as.vector(pisteet.lassi$yhteispisteet), names.arg=as.vector(pisteet.lassi$kuva), las=3, cex.names=0.8, main="Lassi", ylim=c(0,10) ) barplot(as.vector(pisteet.teemu$yhteispisteet), names.arg=as.vector(pisteet.teemu$kuva), las=3, cex.names=0.8, main="Teemu", ylim=c(0,10) ) barplot(as.vector(pisteet.petteri$yhteispisteet), names.arg=as.vector(pisteet.petteri$kuva), las=3, cex.names=0.8, main="Petteri", ylim=c(0,10) ) barplot(as.vector(pisteet.hate$yhteispisteet), names.arg=as.vector(pisteet.hate$kuva), las=3, cex.names=0.8, main="Hate", ylim=c(0,10) ) par(opar) Queston is: how do I do this more effectively e.g. using for loop (without subsetting, straight from the original data)? Thanks in advance! -Lauri [[alternative HTML version deleted]]
I put the data again because it looks like it went all mixed up. Data is named pisteet.sum. First row is the header row. kuvaaja kuva yhteispisteet Hannu isokala 8 Hannu kaapin alta löytynyt 2 Hannu kaapin alta löytynyt2 8 Hannu limamikko 1 Hannu maukasta marmeladia 8 Hannu skrinnareita 4 Hate madekoukkujen suojelupyhimys 3 Hate matka aikaan joka ei enää palaa 3 Hate munat puoliks padassa 6 Hate pyynikki 2 Hate vailla armeerausta 2 Lassi ajatelkaa, jos Häntä ei olisikaan 2 Lassi elämän viiva 7 Lassi pedot 1 Lassi portsan kundi 3 Lauri hipö 3 Lauri jääpuut 5 Lauri kökar 3 Lauri lumipuu 9 Petteri harmaaleppä 5 Petteri viileä harakka 2 Teemu harppi 2 Teemu Homo sapiens angelus 3 Teemu kainostelua 1 Teemu pinnalla 5 Teemu portinvartija 6 Teemu puikot 1 Teemu verkkovaja 3 10.3.2007 Lauri Nikkinen <lauri.nikkinen@iki.fi> kirjoitti:> > Hi R-users, > > >-Lauri I have a dataset like this:> > > > kuvaaja > > kuva > > yhteispisteet > > Hannu > > isokala > > 8 > > Hannu > > kaapin alta löytynyt > > 2 > > Hannu > > kaapin alta löytynyt 2 > > 8 > > Hannu > > limamikko > > 1 > > Hannu > > maukasta marmeladia > > 8 > > Hannu > > skrinnareita > > 4 > > Hate > > madekoukkujen suojelupyhimys > > 3 > > Hate > > matka aikaan joka ei enää palaa > > 3 > > Hate > > munat puoliks padassa > > 6 > > Hate > > pyynikki > > 2 > > Hate > > vailla armeerausta > > 2 > > Lassi > > ajatelkaa, jos Häntä ei olisikaan > > 2 > > Lassi > > elämän viiva > > 7 > > Lassi > > pedot > > 1 > > Lassi > > portsan kundi > > 3 > > Lauri > > hipö > > 3 > > Lauri > > jääpuut > > 5 > > Lauri > > kökar > > 3 > > Lauri > > lumipuu > > 9 > > Petteri > > harmaaleppä > > 5 > > Petteri > > viileä harakka > > 2 > > Teemu > > harppi > > 2 > > Teemu > > Homo sapiens angelus > > 3 > > Teemu > > kainostelua > > 1 > > Teemu > > pinnalla > > 5 > > Teemu > > portinvartija > > 6 > > Teemu > > puikot > > 1 > > Teemu > > verkkovaja > > 3 > > > > I have done this: > > > > pisteet.hannu <- subset(pisteet.sum, kuvaaja == "Hannu", select=c(kuva, > yhteispisteet)) > > (pisteet.hannu <- pisteet.hannu[rev(order(pisteet.hannu$yhteispisteet)),]) > > pisteet.lauri <- subset(pisteet.sum, kuvaaja == "Lauri", select=c(kuva, > yhteispisteet)) > > (pisteet.lauri <- pisteet.lauri[rev(order(pisteet.lauri$yhteispisteet)),]) > > pisteet.lassi <- subset(pisteet.sum, kuvaaja == "Lassi", select=c(kuva, > yhteispisteet)) > > (pisteet.lassi <- pisteet.lassi[rev(order(pisteet.lassi$yhteispisteet)),]) > > pisteet.teemu <- subset(pisteet.sum, kuvaaja == "Teemu", select=c(kuva, > yhteispisteet)) > > (pisteet.teemu <- pisteet.teemu[rev(order(pisteet.teemu$yhteispisteet)),]) > > pisteet.petteri <- subset(pisteet.sum, kuvaaja == "Petteri", > select=c(kuva, yhteispisteet)) > > (pisteet.petteri <- pisteet.petteri[rev(order( > pisteet.petteri$yhteispisteet)),]) > > pisteet.hate <- subset(pisteet.sum, kuvaaja == "Hate", select=c(kuva, > yhteispisteet)) > > (pisteet.hate <- pisteet.hate[rev(order(pisteet.hate$yhteispisteet)),]) > > > > opar <- par(mfrow=c(2,3), mar=c(11,3,3,3)) > > > > barplot(as.vector(pisteet.hannu$yhteispisteet), > > names.arg=as.vector(pisteet.hannu$kuva), > > las=3, > > cex.names=0.8, > > main="Hannu", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.lauri$yhteispisteet), > > names.arg=as.vector(pisteet.lauri$kuva), > > las=3, > > cex.names=0.8, > > main="Lauri", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.lassi$yhteispisteet), > > names.arg=as.vector(pisteet.lassi$kuva), > > las=3, > > cex.names=0.8, > > main="Lassi", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.teemu$yhteispisteet), > > names.arg=as.vector(pisteet.teemu$kuva), > > las=3, > > cex.names=0.8, > > main="Teemu", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.petteri$yhteispisteet), > > names.arg=as.vector(pisteet.petteri$kuva), > > las=3, > > cex.names=0.8, > > main="Petteri", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.hate$yhteispisteet), > > names.arg=as.vector(pisteet.hate$kuva), > > las=3, > > cex.names=0.8, > > main="Hate", > > ylim=c(0,10) > > ) > > par(opar) > > > Queston is: how do I do this more effectively e.g. using for loop (without > subsetting, straight from the original data)? Thanks in advance! > > -Lauri >[[alternative HTML version deleted]]
Here is one way of doing it. x <- 'kuvaaja kuva yhteispisteet Hannu isokala 8 Hannu "kaapin alta löytynyt" 2 Hannu "kaapin alta löytynyt2" 8 Hannu limamikko 1 Hannu "maukasta marmeladia" 8 Hannu skrinnareita 4 Hate "madekoukkujen suojelupyhimys" 3 Hate "matka aikaan joka ei enää palaa" 3 Hate "munat puoliks padassa" 6 Hate pyynikki 2 Hate "vailla armeerausta" 2 Lassi "ajatelkaa, jos Häntä ei olisikaan" 2 Lassi "elämän viiva" 7 Lassi pedot 1 Lassi "portsan kundi" 3 Lauri hipö 3 Lauri jääpuut 5 Lauri kökar 3 Lauri lumipuu 9 Petteri harmaaleppä 5 Petteri "viileä harakka" 2 Teemu harppi 2 Teemu "Homo sapiens angelus" 3 Teemu kainostelua 1 Teemu pinnalla 5 Teemu portinvartija 6 Teemu puikot 1 Teemu verkkovaja 3' # read in the data x.in <- read.table(textConnection(x), header=TRUE) # split data by groups x.ku <- split(x.in, x.in$kuvaaja) # iterate through each group for (i in names(x.ku)){ # sort the data in decending order .order <- rev(order(x.ku[[i]]$yhteispisteet)) # plot it barplot(x.ku[[i]]$yhteispisteet[.order], names.arg=as.character(x.ku[[i]]$kuva[.order]), las=3, cex.names=0.8, main=i, ylim=c(0,10) ) } On 3/10/07, Lauri Nikkinen <lauri.nikkinen@iki.fi> wrote:> > Hi R-users, > > > > I have a dataset like this: > > > > kuvaaja > > kuva > > yhteispisteet > > Hannu > > isokala > > 8 > > Hannu > > kaapin alta löytynyt > > 2 > > Hannu > > kaapin alta löytynyt 2 > > 8 > > Hannu > > limamikko > > 1 > > Hannu > > maukasta marmeladia > > 8 > > Hannu > > skrinnareita > > 4 > > Hate > > madekoukkujen suojelupyhimys > > 3 > > Hate > > matka aikaan joka ei enää palaa > > 3 > > Hate > > munat puoliks padassa > > 6 > > Hate > > pyynikki > > 2 > > Hate > > vailla armeerausta > > 2 > > Lassi > > ajatelkaa, jos Häntä ei olisikaan > > 2 > > Lassi > > elämän viiva > > 7 > > Lassi > > pedot > > 1 > > Lassi > > portsan kundi > > 3 > > Lauri > > hipö > > 3 > > Lauri > > jääpuut > > 5 > > Lauri > > kökar > > 3 > > Lauri > > lumipuu > > 9 > > Petteri > > harmaaleppä > > 5 > > Petteri > > viileä harakka > > 2 > > Teemu > > harppi > > 2 > > Teemu > > Homo sapiens angelus > > 3 > > Teemu > > kainostelua > > 1 > > Teemu > > pinnalla > > 5 > > Teemu > > portinvartija > > 6 > > Teemu > > puikot > > 1 > > Teemu > > verkkovaja > > 3 > > > > I have done this: > > > > pisteet.hannu <- subset(pisteet.sum, kuvaaja == "Hannu", select=c(kuva, > yhteispisteet)) > > (pisteet.hannu <- pisteet.hannu[rev(order(pisteet.hannu$yhteispisteet)),]) > > pisteet.lauri <- subset(pisteet.sum, kuvaaja == "Lauri", select=c(kuva, > yhteispisteet)) > > (pisteet.lauri <- pisteet.lauri[rev(order(pisteet.lauri$yhteispisteet)),]) > > pisteet.lassi <- subset(pisteet.sum, kuvaaja == "Lassi", select=c(kuva, > yhteispisteet)) > > (pisteet.lassi <- pisteet.lassi[rev(order(pisteet.lassi$yhteispisteet)),]) > > pisteet.teemu <- subset(pisteet.sum, kuvaaja == "Teemu", select=c(kuva, > yhteispisteet)) > > (pisteet.teemu <- pisteet.teemu[rev(order(pisteet.teemu$yhteispisteet)),]) > > pisteet.petteri <- subset(pisteet.sum, kuvaaja == "Petteri", > select=c(kuva, > yhteispisteet)) > > (pisteet.petteri <- pisteet.petteri[rev(order( > pisteet.petteri$yhteispisteet > )),]) > > pisteet.hate <- subset(pisteet.sum, kuvaaja == "Hate", select=c(kuva, > yhteispisteet)) > > (pisteet.hate <- pisteet.hate[rev(order(pisteet.hate$yhteispisteet)),]) > > > > opar <- par(mfrow=c(2,3), mar=c(11,3,3,3)) > > > > barplot(as.vector(pisteet.hannu$yhteispisteet), > > names.arg=as.vector(pisteet.hannu$kuva), > > las=3, > > cex.names=0.8, > > main="Hannu", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.lauri$yhteispisteet), > > names.arg=as.vector(pisteet.lauri$kuva), > > las=3, > > cex.names=0.8, > > main="Lauri", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.lassi$yhteispisteet), > > names.arg=as.vector(pisteet.lassi$kuva), > > las=3, > > cex.names=0.8, > > main="Lassi", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.teemu$yhteispisteet), > > names.arg=as.vector(pisteet.teemu$kuva), > > las=3, > > cex.names=0.8, > > main="Teemu", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.petteri$yhteispisteet), > > names.arg=as.vector(pisteet.petteri$kuva), > > las=3, > > cex.names=0.8, > > main="Petteri", > > ylim=c(0,10) > > ) > > barplot(as.vector(pisteet.hate$yhteispisteet), > > names.arg=as.vector(pisteet.hate$kuva), > > las=3, > > cex.names=0.8, > > main="Hate", > > ylim=c(0,10) > > ) > > par(opar) > > > Queston is: how do I do this more effectively e.g. using for loop (without > subsetting, straight from the original data)? Thanks in advance! > > -Lauri > > [[alternative HTML version deleted]] > > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > >-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? [[alternative HTML version deleted]]