2011-05-15 5 views
3

J'ai une feuille de calcul en Excel qui se compose de la première rangée de dates et des colonnes subséquentes qui renvoient aux prix des différents titres à ces dates.R joindre des dates à des séries chronologiques

J'enregistré le fichier Excel au format CSV, puis à importer Excel à l'aide

prices=read.csv(file="C:/Documents and Settings/Hugh/My Documents/PhD/Option prices.csv",header = TRUE, sep = ",") 

Cela crée les données de séries chronologiques correctes

x<-ts(prices[,2]) 

mais ne pas les dates ci-joints.

Cependant, les dates se réfèrent aux jours ouvrables. Donc bien qu'en général ils représentent lundi-vendredi ce n'est pas toujours le cas à cause des vacances etc.

Comment puis-je créer une série temporelle où les dates sont lues depuis la première colonne du fichier csv? Je ne peux pas trouver un exemple dans R où cela se fait

+1

Veuillez montrer la première poignée de lignes avec des dates et des heures, et peut-être des données aléatoires dans d'autres colonnes. –

+1

Veuillez ne pas effectuer de recherche croisée ici et [R-help] (https://stat.ethz.ch/pipermail/r-help/2011-May/278150.html). –

Répondre

5

Comme vous ne l'avez pas donné de données, voici un maquillé data.frame:

R> DF <- data.frame(date="2011-05-15", time=c("08:25:00", "08:45:00", 
+     "09:05:11"), val=rnorm(3, 100, 5)) 
R> DF 
     date  time  val 
1 2011-05-15 08:25:00 99.5926 
2 2011-05-15 08:45:00 95.8724 
3 2011-05-15 09:05:11 96.6436 
R> DF <- within(DF, posix <- as.POSIXct(paste(date, time))) 
R> DF 
     date  time  val    posix 
1 2011-05-15 08:25:00 99.5926 2011-05-15 08:25:00 
2 2011-05-15 08:45:00 95.8724 2011-05-15 08:45:00 
3 2011-05-15 09:05:11 96.6436 2011-05-15 09:05:11 
R> 

je within(), vous pouvez utiliser d'autres signifie à afin d'attribuer de nouvelles colonnes. La clé est que paste() vous permet de combiner des colonnes, et vous pouvez utiliser d'autres fonctions R pour modifier les données si nécessaire. Le principal avantage d'avoir des dates et des heures analysées dans un type approprié (comme POSIXct) est que d'autres fonctions peuvent alors l'utiliser. Voici zoo:

R> z <- with(DF, zoo(val, order.by=posix)) 
R> summary(z) 
    Index        z  
Min. :2011-05-15 08:25:00.00 Min. :95.9 
1st Qu.:2011-05-15 08:35:00.00 1st Qu.:96.3 
Median :2011-05-15 08:45:00.00 Median :96.6 
Mean :2011-05-15 08:45:03.67 Mean :97.4 
3rd Qu.:2011-05-15 08:55:05.50 3rd Qu.:98.1 
Max. :2011-05-15 09:05:11.00 Max. :99.6 
R> 
Questions connexes