0

このようなデータフレームがあります

Date    Team   Score
1/1/2010 A     10
1/1/2010 B     15
1/1/2010 C     90
1/1/2010 D     100
1/1/2010 E     27
1/1/2010 F     76
1/1/2010 G     10
1/1/2010 H    85
1/1/2010 I     10
1/1/2010 J     5
1/1/2010 K     56
1/1/2010 K     60
1/1/2010 M     15
1/2/2010 A     10
1/2/2010 B     15
1/2/2010 C     90
1/2/2010 D     100
1/2/2010 E     27
1/2/2010 F     76
1/2/2010 G     10
1/2/2010 H    85
1/2/2010 I     10
1/2/2010 J     5
1/2/2010 K     56
1/2/2010 K     60
1/2/2010 M     15

ggplot2 を使用して、期間中の上位 5 つの高得点チームと下位 5 (得点の低いチーム) をグラフ化したいと思います。

ggplotでこれを行うことは可能ですか? すべてのチームをグラフ化することはできますが、チームがたくさんあるので、トップスコアラーとロースコアラーを確認できるようにしたいと考えています。

任意の入力をいただければ幸いです。

4

1 に答える 1

0

データに最初から名前が付けられているdatとすると、この基本的なアプローチは機能するはずです。

library(ggplot2)
library(plyr)

#summarize and subset
plotdat <- ddply(dat, "Team", summarize, meanval = mean(Score))
plotdat <- plotdat[order(plotdat$meanval),]
plotdat <- rbind(head(plotdat,5), tail(plotdat,5))

#Plot
ggplot(plotdat, aes(reorder(Team, meanval), meanval)) + 
  geom_bar() +
  coord_flip() +
  xlab("Team") +
  theme_bw()

ここに画像の説明を入力してください

于 2012-05-18T23:25:22.813 に答える