Je suis tenté d'agréger (ce que certains erratiques) données quotidiennes. Je travaille actuellement avec des données csv, mais si je le recréer - il ressemblerait à quelque chose comme ceci:Agrégation contenu quotidien
library(zoo)
dates <- c("20100505", "20100505", "20100506", "20100507")
val1 <- c("10", "11", "1", "6")
val2 <- c("5", "31", "2", "7")
x <- data.frame(dates = dates, val1=val1, val2=val2)
z <- read.zoo(x, format = "%Y%m%d")
Maintenant, je voudrais regrouper sur une base quotidienne (notez que certaines fois il y a> 1 pour une journée du point de données, et parfois il ne coûtent pas
J'ai essayé beaucoup, beaucoup de variations, mais je ne peux pas semblent agréger, de sorte que, par exemple, cela ne fonctionne pas.
aggregate(z, as.Date(time(z)), sum)
# Error in Summary.factor(2:3, na.rm = FALSE) : sum not meaningful for factors
Il semble y avoir beaucoup de contenu concernant l'agrégat, et j'ai essayé un certain nombre de versions, mais ne peux pas sembler résumer cela sur un niveau quotidien. Je voudrais également courir cummax et moyennes cumulatives en plus de la somme quotidienne.
Toute aide serait grandement appréciée.
Mise à jour
Le code que je suis en fait en utilisant est la suivante:
z <- read.zoo(file = "data.csv", sep = ",", header = TRUE, stringsAsFactors = FALSE, blank.lines.skip = T, na.strings="NA", format = "%Y%m%d");
Il semble ma citation (non intentionnelle) des chiffres ci-dessus est similaire à ce qui se passe dans la pratique, parce que quand je fais:
aggregate(z, index(z), sum)
#Error in Summary.factor(25L, na.rm = FALSE) : sum not meaningful for factors
ya un certain nombre de colonnes (100 si), comment puis-je les spécifier pour être as.numérique automatiquement? (stringAsFactors = False
ne marche pas semblent fonctionner?)
Doux - J'ai été capable de faire fonctionner cela aussi pour les données CSV (finalement :) merci! – Malang