我有一个日期数据框(日期对象);见底部。
我试图将它们转换为星期几,然后绘制直方图,但理想情况下标签是“星期一”...“星期日”(不是数字)
我有两个不同的问题:
- 这很容易将日期对象转换为星期几 https://stat.ethz.ch/pipermail/r-help/2004-March/046926.html,但结果是字符串或数字,而不是对象。
- 当我得到直方图时,垃圾箱和标签是错误的(见下文)。
如果我使用weekdays(dat)
,输出是字符串(“Monday”...),不能用于hist()
.
或者,如果我转换为数字数据,如何获取字符串标签hist()
?
> dotw <- with( month.day.year(dat[,1]), day.of.week(month,day,year) )
> hist(xxx,labels=c('M','Tu','W','Th','F','Sa','Su'),col='black') # WTF?!
> hist(dotw,xlab=list('M','Tu','W','Th','F','Sa','Su'))
无法按照标签的预期工作。 0.5 宽度的垃圾箱有什么用?另外,如何防止周日->0和周一->1之间缺少间隙?理想情况下,列之间没有间隙。
我的数据如下所示:
> dat
[1] "2010-04-02" "2010-04-06" "2010-04-09" "2010-04-10" "2010-04-14" "2010-04-15" "2010-04-19"
[8] "2010-04-21" "2010-04-22" "2010-04-23" "2010-04-26" "2010-04-28" "2010-04-29" "2010-04-30"
...
> str(dat)
Date[1:146], format: "2010-04-02" "2010-04-06" "2010-04-09" "2010-04-10" "2010-04-14" "2010-04-15" ...
> str(weekdays(dat))
chr [1:146] "Friday" "Tuesday" "Friday" "Saturday" "Wednesday" "Thursday" "Monday" ...
> hist(weekdays(dat))
Error in hist.default(weekdays(dat)) : 'x' must be numeric