J'ai une question à deux interlocuteurs . Dans la création d'un ensemble de données similaire à ce que j'ai, nous pouvons commencer par le jeu de données airquality:Rdiffusion: application de valeurs/exclusions conditionnelles aux sous-totaux
myaqm <- melt(airquality, id=c("Month", "Day"), na.rm = TRUE)
myaqm_dcast <- dcast(myaqm, Day+variable~Month,
value.var = "value", sum, margins=c("Day", "variable", "Month"))
nous donner ceci:
> head(myaqm_dcast, n=10)
Day variable 5 6 7 8 9 (all)
1 1 Ozone 41.0 0.0 135.0 39.0 96.0 311.0
2 1 Solar.R 190.0 286.0 269.0 83.0 167.0 995.0
3 1 Wind 7.4 8.6 4.1 6.9 6.9 33.9
4 1 Temp 67.0 78.0 84.0 81.0 91.0 401.0
5 1 (all) 305.4 372.6 492.1 209.9 360.9 1740.9
6 2 Ozone 36.0 0.0 49.0 9.0 78.0 172.0
7 2 Solar.R 118.0 287.0 248.0 24.0 197.0 874.0
8 2 Wind 8.0 9.7 9.2 13.8 5.1 45.8
9 2 Temp 72.0 74.0 85.0 81.0 92.0 404.0
10 2 (all) 234.0 370.7 391.2 127.8 372.1 1495.8
Première question: Comment pouvez-vous retirer vent de chaque jour (tous) sous-total?
Je suis sûr que nous sommes censés utiliser dplyr
, peut-être entièrement au lieu de dcast
, mais pour la vie de moi, je ne peux pas trouver un exemple qui démontre des exclusions sous-total.
Deuxième question: De même, nous essayons aussi de travailler sur la façon d'inclure une quotidienne moyenne ligne de toutes les variables, à l'exception Temp. Ainsi, l'ensemble de données ressemblerait à quelque chose comme ceci:
Day variable 5 6 7 8 9 (all)
1 1 Ozone 41.0 0.0 135.0 39.0 96.0 311.0
2 1 Solar.R 190.0 286.0 269.0 83.0 167.0 995.0
3 1 Wind 7.4 8.6 4.1 6.9 6.9 33.9
4 1 Temp 67.0 78.0 84.0 81.0 91.0 401.0
5 1 Day Avg 79.5 98.2 136.0 43.0 90.0 446.6
6 1 (all) 298.0 364.0 488.0 203.0 354.0 1707.0
7 2 Ozone 36.0 0.0 49.0 9.0 78.0 172.0
8 2 Solar.R 118.0 287.0 248.0 24.0 197.0 874.0
9 2 Wind 8.0 9.7 9.2 13.8 5.1 45.8
10 2 Temp 72.0 74.0 85.0 81.0 92.0 404.0
11 2 Day Avg 54.0 98.9 102.1 15.6 93.4 363.9
12 2 (all) 226.0 361.0 382.0 114.0 367.0 1450.0
Ici, Moy Day est la moyenne de l'ozone , Solar.R et Wind - ne comprend pas Temp.
Et (tous) est la somme de l'ozone , Solar.R et Temp - ne comprend pas Wind.
Je pense que c'est un autre cas pour dplyr
, et ce serait une solution similaire, mais je pensais poser les deux questions. Edit: Il est important de mentionner que mes données du monde réel ont beaucoup plus de quatre variables chaque jour, dont certaines n'apparaissent pas chaque jour, mais doivent néanmoins être incluses dans le quotidien 'Day Moy'. et « (tous) » calculs, il serait donc plus propre à exclure les variables par nom (ie. Temp ou vent) plutôt que de nommer toutes les variables que le besoin d'être inclus (ie. ozone et solaire. R).
Précision: Vous voulez vent apparaisse encore dans le résumé, mais pas faire partie du sous-total? –
En effet. Le sous-total quotidien représente la somme de la contribution de tout, sans vent. summarize() peut toujours inclure Wind et Temp. –