2015-05-08 16 views
7

olarak nasıl bulurum? As.Date işlevini kullanarak dönüştürdüğüm bir tarih varsa, ör. "2015-01-01" Kökeni için referans olarak hangi tarihi kullandığını nasıl öğrenebilirim? Ve evet, ?Date'u denedim ve varsayılan kaynağı kullanmayı denedim, ancak 1945'te günlerim var. Bunu genellikle nasıl yapacağımı bilmek isterim. Bu nedenle, her defasında operasyonları el ile kontrol etmem gerekmez. belgelerinde açıklandığı gibiBir Tarihin "kökeni" ni R

+0

Bunu beğendiniz mi? as.Date ("2015-01-01") - as.numeric (as.Date ("2015-01-01")). Her zamanki menşei olan tarih nesnesini dput() yapabilir misiniz? Tam olarak hangi kodu çalıştırdığınızı gösterir misiniz? – MrFlick

+6

'? Date' 'den:" Tarihler, 1970-01-01'den beri geçen gün sayısı olarak temsil edilir. " Yani, eğer 'Date' sınıfı bir nesne ise, orijin. – Gregor

+0

Diğer bir deyişle, standart dışı bir kaynak kaydedilmez, sadece normal olarak çevrilir: 'as.numeric (as.Date (0, origin = as.Date (" 2015-05-08 "))) '16563'ü“ as.numeric (Sys.Date()) ”ile aynıdır. – Gregor

cevap

4

, Date nesne karşılık gelen bir özelliği oluşturmaz origin argüman; Sadece tamsayılardan daha kolay giriş yapmak (örneğin, farklı kökenleri kullanan Excel, SAS vb.). Bir dput

Date s düz eski sayılar olduğunu onaylar:

d <- as.Date("2000-01-01") 
dput(d) 
# structure(10957, class = "Date") 

(yerine str(d) kullanmayı tercih ediyorum, ama bu bazen bilgileri gizlemek gibi görünüyor.) Bir çözümü vardır lubridate

5

R paketi. lubridate::origin, hangi kaynağın sizin için olduğunu döndürecektir.

İlgili konular