2010-08-25 10 views
1

J'ai une série de zoo. Il dure 10 ans et sa fréquence est de 15min. Je voudrais obtenir une nouvelle série de zoo (ou vecteur) avec le même nombre d'éléments, chaque élément étant égal au premier élément de la journée. C'est, le premier élément tous les jours est répété tout au long de la journée wole.R. Zoo. Répétez les données du premier jour à travers toute la journée

Ce n'est pas la même chose que l'agrégat (originalseries, as.Date, head, 1) car cela donne un vecteur avec un seul élément pour chaque jour.

acclamations

+2

Vous allez répondre ici vous maintenant que vous avez obtenu une réponse sur-r aide? –

Répondre

1

j'ai eu plusieurs réponses:

library(zoo) 
library(chron) 

#1 
zz <- z <- zoo(1:10, chron(0:9/5)) 
zz[] <- ave(coredata(z), as.Date(time(z)), FUN = function(x) head(x, 1)) 
cbind(z, zz) 


#2 
z <- zoo(1:10, chron(0:9/5)) 
z.ag <- aggregate(z, as.Date, head, 1) 
na.locf(z.ag, xout = time(z)) 


#3 
z.na <- ifelse.zoo(!duplicated(as.Date(time(z))), z, NA) 
na.locf(z.na) 

acclamations

+0

Vous devez formater ceci en 'code' en surlignant et en cliquant sur le petit bouton 010101. –

+0

Et également fournir un lien vers la source d'origine. –