制作一个Barplot

时间:2012-11-08 03:16:29

标签: r

我需要在R.中制作一个条形图 基本上我有一个棒球运动员的数据集,列出了每个球员所在的球队以及每个球员在哪个位置。例如:

Player    Team    Position 
1    Diamondbacks First Base
2    Diamondbacks Third Base
3    White Sox    Left Field
4    Giants       Pitcher

实际数据集远大于此,但它的想法相同。我需要制作一个显示团队中不同位置频率的条形图,我不知道如何去做。基本上,我所知道的只是barplot(),所以任何帮助都会很棒。

谢谢!

2 个答案:

答案 0 :(得分:1)

考虑分组条形图。

来自this question

的修改示例
# if you haven't installed ggplot, if yes leave this line out
install.packages("ggplot2") # choose your favorite mirror

require(ggplot2)
data(diamonds) # your data here instead
# check the dataset
head(diamonds)
# plot it, your team variable replaces 'clarity' and field position replaces 'cut'
ggplot(diamonds, aes(clarity, fill=cut)) + geom_bar(position="dodge") +
opts(title="Examplary Grouped Barplot")

答案 1 :(得分:0)

barplot()如果您将其提供给表格,则效果很好。请考虑以下数据:

set.seed(423)
data <- data.frame(player   = 1:100,
                   team     = sample(c("Team1", "Team2", "Team3"), 100, replace = TRUE),
                   position = sample(c("Pos1", "Pos2", "Pos3", "Pos4"), 100, replace = TRUE))

首先,让我们制作一个二维表:

tab <- table(data$team, data$position)

您可以使用data定义的处置对tab制作一个条形图:

barplot(tab, beside = TRUE, legend = TRUE)

其中包含以下内容: enter image description here

您可以运行?barplot以了解如何进一步自定义您的情节。