2013-08-08 26 views
5

Veri kümem var, ilk sütun yyyymmdd biçimleriyle tarih alanına sahip. Kullandığım R biçimine bu tarihleri ​​dönüştürmek için çalıştı:R, yyyymmdd biçimindeki tarihleri ​​okuyor

yield.usd$Fecha <- as.Date(yield.usd$Fecha, format='%Y%m%d') 

ve çıktısı:

Error in as.Date.numeric(yield.usd$Fecha, format = "%Y%m%d") : 'origin' must be supplied 

Sonra çalıştı:

yield.dates <- as.Date(yield.usd[1], format='%Y%m%d') 

çıkışı aşağıdaki gibi:

Error in as.Date.default(yield.usd[1], format = "%Y%m%d") : do not know how to convert 'yield.usd[1]' to class “Date” 

R bu tarihleri ​​nasıl okuyabilir?

aşağıdaki dput(head(yield.usd)) gibidir: R, bir zaman damgası temsil düşündüğü böylece

structure(list(Fecha = c(20120815L, 20120815L, 20120815L, 20120815L, 
20120815L, 20120815L), Plazo = 1:6, Soberana = c(0.001529738, 
0.001558628, 0.001587518, 0.001616408, 0.001645299, 0.001674189 
), AAA = c(0.009642716, 0.009671607, 0.009700497, 0.009729387, 
0.009758277, 0.009787168), AA. = c(0.017483959, 0.01751285, 0.01754174, 
0.01757063, 0.01759952, 0.017628411), AA = c(0.017762383, 0.017791273, 
0.017820163, 0.017849053, 0.017877944, 0.017906834), AA..1 = c(0.018207843, 
0.018236733, 0.018265624, 0.018294514, 0.018323404, 0.018352294 
), A = c(0.036340293, 0.036369183, 0.036398073, 0.036426964, 
0.036455854, 0.036484744)), .Names = c("Fecha", "Plazo", "Soberana", 
"AAA", "AA.", "AA", "AA..1", "A"), row.names = c(NA, 6L), class = "data.frame") 

cevap

12

Sizin tarihleri, sayı biçimindedir (örneğin durumda, zaman damgası kökenini ihtiyacı genellikle 1 Ocak 1970). İstediğiniz şey dizelerden anlamadır, bu nedenle numaralarınızı ilk olarak karakterlere dönüştürmelisiniz:

as.Date(as.character(yield.usd$Fecha), format='%Y%m%d') 
+0

Harika, mükemmel çalıştı. – capm

+0

Teşekkürler, ben de bu cevaba ihtiyacım var. Takdir ederim! – lulumink

İlgili konular