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]]