我有一个像这样的数据框
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执行此操作是否可行?我可以列出所有球队的图表,但由于我有很多球队,我希望能够看到最佳射手和低分球员。
任何输入都会受到赞赏吗?
答案 0 :(得分: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()