Tarihlerim bir veri çerçevem var (Tarih nesnesi); aşağıya bakın. Ben gün haftanın-onları dönüştürmek ve daha sonra bir histogram çizmek çalışıyorum ama ideal ediyorum etiketleri 'Pazartesi' ... 'Pazar' ı iki ayrı sorunları varHaftalık histogram nasıl ve dize etiketleri var
(sayısal olmayan) nerede :
- Kolaydır to convert a Date object to day-of-week, ancak sonuç dize veya sayısal değil, bir nesnedir.
- Histogram aldığımda, bölmeler ve etiketler yanlıştır (aşağıya bakınız).
Ben weekdays(dat)
kullanırsanız, çıktı hist()
içinde kullanılamaz dize ("Pazartesi" ...) 'dir.
Alternatif olarak, sayısal verilere dönüştürürsem, dize etiketlerine hist()
nasıl girilir?
> 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'))
Etiketlemeye uygun şekilde çalışmıyor. 0.5 genişlikteki kutularda ne var? Ve ayrıca, Pazar-> 0 ile Pazartesi -> 1 arasında boşluk olmaması nasıl önlenir? İdeal olarak, sütunlar arasında boşluk yok.
My veri benziyor:
> 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
Güzel, teşekkürler! Çok iyi bir yerleşik olmalı! (Tamsayı verileri için 0,5'te molalar kullanmamı beklemiyordum, bu gerçekten yerleşik olmalı ve sahte yarı genişlikli çubukları önler.) – smci