如何构建条形图“R”,其中x轴是一组类别

时间:2015-12-08 20:51:58

标签: r bar-chart

我正在处理超过5400行的大型数据集,每行对应一个人。其中一列是指每个人在本财政年度参加的会议百分比。出勤率百分比具有以下五个值,这些值列在标记为“出勤类别”的栏中。这五个可能的值是“<50%”,“50-79%”,“80-89%”,“90-95%”,“95 +%”。我尝试构建一个直方图,它可以显示五个类别中每个类别中个体的相对频率分布。我使用了以下代码:

 hist(mydata, main="Distribution in Attendance Category", xlab="Percentage of Meetings Attended", border="blue", las=1, breaks=4 )

我的错误告诉我“x”必须是数字才有意义。当我尝试将列编码为.numeric时,它为我提供了一组值,例如每行5,6,7,3。

如何设置直方图,使用这五个值列出参加直方图的会议百分比范围。 y轴是参加每次会议百分比的公司员工人数。例如,2000名公司员工(y轴)将被置于“50-79%”类别(x轴)。

1 个答案:

答案 0 :(得分:0)

我会使用ggplot来增加绘图的灵活性。使用钻石数据集作为您问题的模板,请考虑以下内容:

library("ggplot2")
head(diamonds)

ggplot(data = diamonds) + 
  geom_bar(aes(x = cut), stat = "bin", color = "blue") + 
  ggtitle("Distribution in Attendance Category") + 
  xlab("Percentage of Meetings Attended")

所以你的看起来像是:

ggplot(data = mydata) + 
      geom_bar(aes(x = factor(attendance_category)), stat = "bin", color = "blue") + 
      ggtitle("Distribution in Attendance Category") + 
      xlab("Percentage of Meetings Attended")

请注意,我做了#34; attendance_category&#34;成为一个因素。这将让ggplot自动为每个类别创建一个条形。要解决关于条形图的评论与直方图不同:条形图显示分类数据,而直方图显示数字/连续数据。直方图是条形图的类型,用于显示分布。

如果您想要更加量身定制的答案,请提供您的一些数据或其他可重复的示例。这将有助于我们更准确地回答您的问题,并帮助其他用户了解正在进行的操作。