У меня есть данные -фрейм дат (объект Date); см. внизу. Я пытаюсь преобразовать их в день недели, а затем нарисовать гистограмму, , но в идеале, где метки - «понедельник» ... «воскресенье» (не числовые)
У меня две разные проблемы:
Если я использую дни недели (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