2011-04-11 29 views
11

R ile tarihler ve zamanlarla mücadele ediyorum, ama bunun oldukça basit bir görev olduğunu umuyorum. İşte R '' deki Tarihler R

benim veri kümesi ise:
> str(temp.df) 
'data.frame': 74602 obs. of 2 variables: 
$ time : POSIXct, format: "2011-04-09 03:53:20" "2011-04-09 03:53:15" "2011-04-09 03:53:07" "2011-04-09 03:52:39" ... 
$ value: num 1 1 1 1 1 1 1 1 1 1 ... 

> head(temp.df$time, n=10) 
[1] "2011-04-09 03:53:20 EDT" "2011-04-09 03:53:15 EDT" "2011-04-09 03:53:07 EDT" "2011-04-09 03:52:39 EDT" 
[5] "2011-04-09 03:52:29 EDT" "2011-04-09 03:51:56 EDT" "2011-04-09 03:51:54 EDT" "2011-04-09 03:51:46 EDT" 
[9] "2011-04-09 03:51:44 EDT" "2011-04-09 03:51:26 EDT" 

ve rahatlık için

... Yapacak Aradıklarım

> dput(head(temp.df$time, n=10)) 
structure(c(1302335600, 1302335595, 1302335587, 1302335559, 1302335549, 
1302335516, 1302335514, 1302335506, 1302335504, 1302335486), class = c("POSIXct", 
"POSIXt"), tzone = "") 

:

  • Ben kaç saat vardır bulabilirim nasıl min ve max tarih/saat arasında?
  • Verilerimin özetlerini 1 saatlik zaman dilimleri kullanarak oluşturmanın en iyi yolu nedir?

büyük ölçüde olacaktır sağlayabilir Herhangi bir yardım

+1

Paket hayvanat bahçesi için (mükemmel) skeçlere bakın - orada. –

+1

Şahsen, genel olarak zamandan kaçınmanın bazen R dostu bir formata ulaşmaya çalışmaktan daha kolay olduğunu anladım. Tarihi sütunlara ayırırım ve gün, ay, yıl, saat, dakika, saniye ile ilgili olan ham rakamlarla çalışıyorum. –

cevap

6

doğru zamanı kullanın takdir serisi paketleri zoo ve/veya xts. Bu örnek düz POSIXct saniye veri toplar aggregate.zoo() yardım sayfalarına her 10 dakikada

tt <- seq(10, 2000, 10) 
x <- zoo(tt, structure(tt, class = c("POSIXt", "POSIXct"))) 
aggregate(x, time(x) - as.numeric(time(x)) %% 600, mean) 

xts yılında to.period() fonksiyon aynı zamanda kesin kazanır değil. Burada SO ve r-sig-finans listesinde sayısız örnek var.

+0

Mod 600'ün ne yaptığını açıklayabilir misiniz? Kovalar her saattir, bu x değişkeninde görüyorum. Toplam satırın benim için x'e yaptığı görülüyorsa, her bir kovanın başına ve sonuna 47 saniye eklenir. Bunun anlamı ne? – Frikster

+0

Yoruma bakın: '# toplu POSIXct saniye verileri her 10 dakikada bir –

+0

kesim (süre (x), kesmeler =" 10 dakika "), ikinci parametrenin toplu işleve basitleştirilmesi için harika bir yoldur. Bu şekilde, hayvanat bahçesi paketindeki toplama fonksiyonu için dokümantasyon altında bir örnek var. https://cran.r-project.org/web/packages/zoo/zoo.pdf – JHowIX