Le temps de la série, changement de données mensuel à trimestriel
Maintenant j'ai quelques données mensuelles comme :
1/1/90 620
2/1/90,591
3/1/90,574
4/1/90,542
5/1/90,534
6/1/90,545
#...etc
Si j'utilise ts() de la fonction, il est facile de rendre les données en série chronologique de la structure comme:
Jan Feb Mar ... Nov Dec
1990 620 591 574 ... 493 464
1991 100 200 300 ...........
Est-il possible de le changer en trimestriels en répétant comme ceci:
1st 2nd 3rd 4th
1990-Q1 620 591 574 464
1990-Q2 100 200 300 400
1990-Q3 ...
1990-Q4 ...
1991-Q1 ...
J'ai essayé de changer
ts(mydata,start=c(1990,1),frequency=12)
à
ts(mydata,start=c(as.yearqrt("1990-1",1)),frequency=4)
mais il ne semble pas travailler.
Quelqu'un pourrait-il m'aider? Je vous remercie beaucoup.
Données trimestrielles signifie que vous avez un point de données par trimestre, mais dans votre sortie désirée, vous semblez avoir 4 points de données par trimestre?
Avez-vous besoin de agrégation vos données mensuelles en données trimestrielles? (c'est à dire, prendre le trimestre
Merci beaucoup débutant, Fernando et Rob....Mon idée est un peu spécial, je le sais. Je suis en train d'essayer vos idées et Merci beaucoup!
Avez-vous besoin de agrégation vos données mensuelles en données trimestrielles? (c'est à dire, prendre le trimestre
mean
par exemple)Merci beaucoup débutant, Fernando et Rob....Mon idée est un peu spécial, je le sais. Je suis en train d'essayer vos idées et Merci beaucoup!
OriginalL'auteur user2152814 | 2014-05-14
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Rob Hyndman
Je ne suis pas d'accord avec Hyndman sur celui-ci. Ce qui est rare comme Hyndman pouvez généralement faire aucun tort. Cependant, je peux vous montrer sa solution ne donne pas l'OP ce qu'il veut.
Eh bien, attendez, que le premier trimestre n'est pas la moyenne des 3 mois, c'est la somme. (1+2+3 =6, mais que vous souhaitez qu'il s'affiche la moyenne=2). De sorte que vous aurez besoin de le modifier un peu.
Qui vous montre maintenant la moyenne mensuelle des données écrites sur une base trimestrielle.
Le diviseur est l'astuce ici. Si vous aviez hebdomadaire (freq=52) et je voulais trimestriel (freq=4) diviser par 52/4=13.
FUN = "mean"
plutôt queaggregate
ing à l'aide desum
et en divisant par trois.2 ans plus tard, je vais maintenant utiliser la bibliothèque(xls) et
apply.quarterly(zoo_object, FUN=mean)
qui est donc beaucoup moins de maux de tête.OriginalL'auteur NonReformed Bayesianist
Si vous voulez le dire au lieu de la somme, il suffit d'ajouter la "moyenne":
OriginalL'auteur Cheuk