Je reçois des données de différents capteurs, y compris un horodatage toutes les minutes. Pour visualiser mes données, je voudrais résumer toutes les 10 valeurs avec la moyenne.R - Moyenne de chaque nième Valeur de la colonne dans la trame de données, numérique et POSIX
Mes données ressemble à ceci:
Temp Humidity Pressure Time
1 21.9 66.1 1007.76 2017-07-24 18:13:02
2 21.9 66.2 1007.76 2017-07-24 18:14:05
3 21.9 66.2 1007.76 2017-07-24 18:15:02
4 22.0 65.8 1007.76 2017-07-24 18:16:02
5 22.0 66.1 1007.76 2017-07-24 18:17:02
6 22.0 66.2 1007.76 2017-07-24 18:18:02
7 22.0 66.1 1007.76 2017-07-24 18:19:02
8 22.0 66.3 1007.76 2017-07-24 18:20:02
9 22.0 66.3 1007.76 2017-07-24 18:21:02
10 22.0 66.3 1007.76 2017-07-24 18:22:02
11 22.0 66.0 1007.76 2017-07-24 18:23:02
# [...] about 1700 rows
J'ai un code de travail, mais seulement pour les Col. numériques:
aggregate(df,list(rep(1:(nrow(df)%/%n+1),each=n,len=nrow(df))),mean)[-1];
Cela me donne ce que je veux pour les trois premières colonnes, sont des vecteurs numériques. Mais pour le moment, ce qui est de POSIXlt tout ce que je reçois est "2017-07-24 18:17:32" dans chaque rangée. Est-ce que quelqu'un sait une solution pour cela? Ce ne serait pas un problème si je devais prendre les moyens du Temps séparément.
utilisation 'dput (tête (df, 10))' pour présenter vos données au lieu de la table que vous avez. – Masoud
... ou 'dput (droplevels (head (df, 11)))' si vous avez des colonnes factorielles. – Gregor
Si la classe de données est 'POSIXt', alors cela devrait fonctionner. Sans voir la structure réelle de vos données, nous ne pouvons pas vous aider. – Masoud