2016-09-25 1 views
0

Je suis le téléchargement et l'utilisation des données de panel suivantes,Convertir des caractères aux dates des données de panel

# load/install package 
library(rsdmx) 
library(dplyr) 


# Total 
Assets.PIT <- readSDMX("http://widukind-api.cepremap.org/api/v1/sdmx/IMF/data/IFS/..Q.BFPA-BP6-USD") 
Assets.PIT <- as.data.frame(Assets.PIT) 
names(Assets.PIT)[10]<-"A.PI.T" 
names(Assets.PIT)[6]<-"Code" 
AP<-Assets.PIT[c("WIDUKIND_NAME","Code","TIME_PERIOD","A.PI.T")] 
AP<-rename(AP, Country=WIDUKIND_NAME, Year=TIME_PERIOD) 

Mon but est de convertir le vecteur de colonne Year dans la trame de données AP dans un vecteur de classe dates. En d'autres termes, je veux que R comprenne la partie de séries chronologiques de mes données de panel. Pour votre information, j'ai des données trimestrielles, avec une plage de dates déséquilibrée entre les sections (dans mon pays les pays).

head(AP$Year) 
[1] "2008-Q2" "2008-Q3" "2008-Q4" "2009-Q1" "2009-Q2" "2009-Q3" 

Ou,

AP$Year<-as.factor(AP$Year) 
head(AP$Year) 
[1] 2008-Q2 2008-Q3 2008-Q4 2009-Q1 2009-Q2 2009-Q3 
264 Levels: 1950-Q1 1950-Q2 1950-Q3 1950-Q4 1951-Q1 1951-Q2 1951-Q3 1951-Q4 1952-Q1 1952-Q2 1952-Q3 ... 2015-Q4 

est-il une solution facile à convertir ces dates de caractères dans les dates de séries chronologiques?

+1

Essayez 'as.Date (coller (substr (AP $ Year, 1,4), 3 * (as.integer (substr (AP $ Année, 7,7)))," 01 ", sep =" - "))". – nicola

Répondre

1

library(zoo) as.Date(as.yearqtr(AP$year, format ='%YQ-%q'))

Cela devrait le faire.

+0

Dois-je installer un paquet? parce que R ne peut pas trouver la fonction 'as.yearqtr'. – msh855

+0

Oh oui désolé c'est la bibliothèque 'zoo' –