【发布时间】:2016-10-08 00:39:15
【问题描述】:
我有一个包含日期和运行时间的数据框
DF = data.frame(Year = c(1800,1892,1910,2000,2004),Runtimes=c(80,10,15,10,30))
DF
Year Runtimes
1 1800 80
2 1892 10
3 1910 15
4 2000 10
5 2004 30
我正在使用 CUT 根据我拥有的年份范围创建 10 个休息时间。然后在 ggplot 中绘制这个频率分布。我注意到的是,当我进行 CUT 时,由于它被定义为 NUM,所以 year 的值以 NUMBER 形式表示,而不像 4-CHAR 年份。
有没有办法以更易读的格式(如 [1890,1900)而不是数字格式保存年份,以便信息更易读?
这是我一直在玩的代码:
yr_bins = seq(1800,2010,10)
rt_yr = cut(yr,breaks=yr_bins,right=FALSE)
yr_freq_table = transform(table(rt_yr))
yr_freq_table
ggplot(yr_freq_table) +
geom_bar(aes(x=rt_yr,y=Freq), fill="lightblue",color="lightslategray",
position="stack",stat="identity",ylab("Count Year (mins)") +
scale_x_discrete(drop=F) + theme(axis.text.x=element_text(angle=90,
vjust=.5, hjust=1)) + ggtitle("Runtime Distribution")
示例数据如下:
rt_yr Freq
1 [1.8e+03,1.81e+03) 1
2 [1.81e+03,1.82e+03) 0
3 [1.82e+03,1.83e+03) 0
更新:我要解决的问题是能够在 ggplot 中表示信息,其中 rt_yr 不是数字,而是在 10 的范围内
【问题讨论】: