Modérateur : Groupe des modérateurs
Code : Tout sélectionner
?tapply
Code : Tout sélectionner
resultat<-apply(A10_13_02[,-1],2,tapply,format(A10_13_02$Date,"%Y-%m-%d %H:%M),mean,na.rm=T)
Code : Tout sélectionner
library(dplyr)
A10_13_02 %>% group_by(format(Date,"%Y-%m-%d %H:%M")) %>% summarise_at(2:ncol(A10_13_02),mean,na.rm=T)
Code : Tout sélectionner
resultat<-apply(A10_13_02[,-1],2,tapply,format(A10_13_02$Date,"%Y-%m-%d %H:%M"),mean,na.rm=T)
ça ne va pas m'aider bcp. Il y a un message d'erreur ? le résultat attendu n'est pas le bon ?ca marche pas
Code : Tout sélectionner
head(data)
Date PM1 PM2.5 PM10
1 2018-02-15 00:00:13 13 17 22
3 2018-02-15 00:00:43 12 17 18
Code : Tout sélectionner
> dput(data_)
structure(list(Date = structure(1:18, .Label = c("2018-02-15 00:00:13",
"2018-02-15 00:00:43", "2018-02-15 00:01:23", "2018-02-15 00:01:53",
"2018-02-15 00:02:01", "2018-02-15 00:02:10", "2018-02-15 00:03:02",
"2018-02-15 00:03:41", "2018-02-15 00:04:05", "2018-02-15 00:04:26",
"2018-02-15 00:05:16", "2018-02-15 00:05:56", "2018-02-15 00:06:07",
"2018-02-15 00:06:38", "2018-02-15 00:07:03", "2018-02-15 00:07:40",
"2018-02-15 00:08:08", "2018-02-15 00:08:52"), class = "factor"),
PM1 = c(13L, 12L, 10L, 10L, 10L, 10L, 11L, 12L, 12L, 12L,
11L, 9L, 10L, 10L, 10L, 11L, 10L, 11L), PM2.5 = c(17L, 17L,
16L, 15L, 16L, 15L, 17L, 17L, 17L, 17L, 18L, 15L, 17L, 15L,
17L, 18L, 17L, 17L), PM10 = c(22L, 18L, 17L, 16L, 19L, 17L,
19L, 19L, 20L, 22L, 22L, 20L, 22L, 19L, 19L, 19L, 18L, 20L
)), .Names = c("Date", "PM1", "PM2.5", "PM10"), class = "data.frame", row.names = c(NA,
-18L))
Code : Tout sélectionner
data_ %>% mutate(groupe_minute=as.integer(format(Date),"%M") %/% 3)%>% group_by(format(Date,"%Y-%m-%d %H"),groupe_minute) %>% summarise_at(2:ncol(data_),mean,na.rm=TRUE)
Code : Tout sélectionner
data_ %>% mutate(groupe_minute=as.integer(format(Date,"%M")) %/% 3)%>% group_by(format(Date,"%Y-%m-%d %H"),groupe_minute) %>% summarise_at(2:ncol(data_),mean,na.rm=TRUE)
Code : Tout sélectionner
data_$Date<-as.POSIXct(data_$Date)
Code : Tout sélectionner
> dput(XY)
structure(list(`format(Date, "%Y-%m-%d %H")` = c("2018-02-15 00",
"2018-02-15 00", "2018-02-15 00"), groupe_minute = c(0, 1, 2),
PM1 = c(10.8333333333333, 11.1666666666667, 10.3333333333333
), PM2.5 = c(16, 16.8333333333333, 16.8333333333333), PM10 = c(18.1666666666667,
20.3333333333333, 19.5)), .Names = c("format(Date, \"%Y-%m-%d %H\")",
"groupe_minute", "PM1", "PM2.5", "PM10"), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -3L), vars = "format(Date, \"%Y-%m-%d %H\")", drop = TRUE)
Code : Tout sélectionner
#j'ai un peu changé le group_by pour simplifier le nom de la colonne de date
XY<-data_ %>% mutate(groupe_minute=as.integer(format(Date,"%M")) %/% 3)%>% group_by(Date=format(Date,"%Y-%m-%d %H"),groupe_minute) %>% summarise_at(2:ncol(data_),mean,na.rm=TRUE)
library(lubridate)
XY %>% mutate(date_moy=as.POSIXct(paste(Date,groupe_minute*3,sep=":"))+minutes(1)+seconds(30))
# A tibble: 3 x 6
# Groups: Date [1]
Date groupe_minute PM1 PM2.5 PM10 date_moy
<chr> <dbl> <dbl> <dbl> <dbl> <dttm>
1 2018-02-15 00 0 10.8 16 18.2 2018-02-15 00:01:30
2 2018-02-15 00 1 11.2 16.8 20.3 2018-02-15 00:04:30
3 2018-02-15 00 2 10.3 16.8 19.5 2018-02-15 00:07:30
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité