2016-04-07 24 views
1

Uzun bir dizi POSIXct zaman damgası var. Her bir kayıt için, haftanın günü de dahil olmak üzere, bir günlük bölüm için geri dönmek istiyorum. Örneğin :Bir POSIXct zaman damgası vektöründen R'de gün bölümü nasıl oluşturulur?

[1] Sunday night 
[2] Sunday night 
[3] Sunday afternoon 
[4] Saturday night 
[5] Sunday afternoon 

... vb.

Aşağıda verilerin küçük bir örnektir:

my_dates <- as.POSIXct(c("2000-03-12 19:40:00 AEDT", 
          "2000-03-19 17:40:00 AEDT", 
          "2000-03-26 14:10:00 AEST", 
          "2000-04-01 19:40:00 AEST", 
          "2000-04-09 14:10:00 AEST", 
          "2000-04-16 14:40:00 AEST", 
          "2000-04-22 19:40:00 AEST", 
          "2000-04-30 14:10:00 AEST", 
          "2000-05-07 14:10:00 AEST", 
          "2000-05-14 14:10:00 AEST")) 

farklı bir çok şey denedim, ama her zaman tarih biçimini kaybetme sonunda.

Herhangi bir yardım çok takdir edilecektir. Teşekkür

+0

Hep tarih biçimini kaybeder. Sadece bir karakter dizisi olacak. – thelatemail

+0

Orijinal zaman damgası vektörlerini dönüştürürken, işlemler arasındaki tarih biçimini kaybederim. –

cevap

1

Bazı yaratıcı format ting ve cut ting orada elde edebilmek olmalıdır: 'Pazar gecesi' geçerli bir tarih nesnesi değil olarak

paste(
    format(my_dates, "%A"), 
    c("night","morn","afternoon","night")[ 
    cut(as.numeric(format(my_dates,"%H")), c(0,5,11,17,23)) 
    ] 
) 
# [1] "Sunday night"  "Sunday afternoon" "Sunday afternoon" "Saturday night" 
# [5] "Sunday afternoon" "Sunday afternoon" "Saturday night" "Sunday afternoon" 
# [9] "Sunday afternoon" "Sunday afternoon" 
+0

Gerçekten zarif bir çözüm, teşekkürler! –