2017-08-31 4 views
0

J'ai un fichier csv au format suivant.Conversion d'une trame de données en série temporelle à l'aide de R

Date  Sales 
1/3/2005  800 
1/4/2005 9000 
1/5/2005 1300 
1/6/2005  400 
1/7/2005  100 
1/8/2005  190 

J'ai essayé de l'obtenir dans un format de série temporelle:

ts(dataframe) 

Mais il donnait une sortie bizarre. Toute aide ou orientation est appréciée.

+0

est la première ligne Dzte 3 janvier ou 1 Mars? –

+0

Je pense que vous voulez juste quelque chose comme ceci 'dataframe $ Date <- as.Date (dataframe $ Date,"% d /% m /% Y ")', ou suis-je malentendu? – Mist

+0

Son 3 janvier donc mois/jour/année. – AppleGate0

Répondre

0

Si le format de date est m/d/yyyy (modifié):

df <- read.table(header = TRUE, text = "Date  Sales 
1/3/2005  800 
1/4/2005 9000 
1/5/2005 1300 
1/6/2005  400 
1/7/2005  100 
1/8/2005  190", stringsAsFactors = FALSE) 

mydate <- function(x) { 
    c(year = as.numeric(unlist(strsplit(x, "/"))[3]), 
    month = as.numeric(unlist(strsplit(x, "/"))[1]), 
    day = as.numeric(unlist(strsplit(x, "/"))[2])) 
} 

(myts <- ts(df$Sales, 
      start = mydate(head(df$Date, 1)), 
      freq = 365.25)) 
+0

C'est m/j/aaaa selon la discussion sous la question. – neilfws