【问题标题】:How to plot histogram in R from data?如何从数据中绘制 R 中的直方图?
【发布时间】:2015-10-23 02:59:35
【问题描述】:
Interval    Occupancy Rate
18:35:00    100%
18:40:00    100%
18:45:00    100%
18:50:00    100%
18:55:00    99.78%
19:00:00    100%

大家好,我想绘制一个直方图,其中 x 轴是时间间隔,y 轴是占用率。当我尝试了基本的 hist 和 ggplot2 时,我想如何处理 hist() 代码,但似乎直方图经常将 y 轴作为频率。有没有办法做到这一点,或者我应该使用另一个统计图表?

提前致谢!

【问题讨论】:

标签: r graph statistics histogram


【解决方案1】:

鉴于 D 是数据框的名称,而 Interval 和 Occupancy 是列的名称,正如 Pascal 上面建议的那样,您需要一个条形图以按照您指示的方式可视化数据。这取决于您的 Interval 变量是否已经是日期格式,在这种情况下,您不需要转换变量。否则,您需要使用 as.Date() 来转换数据,如下所示。您还需要将百分比占用率值转换为数字,如下所示,在我用于生成绘图的代码中:

library(ggplot2)
Interval <- as.Date(c(18:35:00, 18:40:00, 18:45:00, 18:50:00, 18:55:00, 19:00:00), format = "%H:%M:%S") 
Occupancy <- c("100%", "100%", "100%", "100%", "98.78%" ,"100%") 
D <- data.frame(Interval, Occupancy)
D$Occupancy <- as.numeric(sub("%", "", D$Occupancy))
qplot(Interval, Occupancy, data=D, geom="bar", stat="identity") 

希望对你有帮助

【讨论】:

  • 区间数据最好通过as.POSIXct或类似的方式转换为时间表示,否则它不会在x轴上的适当点上绘制。
  • 您好。谢谢回答。但是我有上面的数据是我的样本的一部分,我在 R 中有更大的数据。我可以像 x 轴的 D$Interval 和 y 轴的 D$occupancy 一样。鉴于 dfrm 是“D”
  • @SiewmeiLoh 使用qplotdata 参数为函数提供data.frame。
  • @SiewmeiLoh 考虑到上面的 cmets,我已经修改了上面的代码。它在 RStudio 中对我很有效。
  • @S.Elzwawi 嗯,我的 y 轴看起来很奇怪。它从 100% 和 99%、98% 开始上升。 X 轴运行良好!
猜你喜欢
  • 2023-03-08
  • 2012-04-02
  • 2016-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
相关资源
最近更新 更多