filtre dplyr sur Date
mon tbl_df:
> p2p_dt_SKILL_A%>%
+ select(Patch,Date,Prod_DL)%>%
+ head()
Patch Date Prod_DL
1 BVG1 2015-09-04 3.43
2 BVG11 2015-09-11 3.49
3 BVG12 2015-09-18 3.45
...
4 BVG13 2015-12-06 3.57
5 BVG14 2015-12-13 3.43
6 BVG15 2015-12-20 3.47
Je veux sélectionner tous les rows
basé sur la date par exemple, si Date
est plus grand que 2015-09-04
et moins de 2015-09-18
Le résultat devrait être:
Patch Date Prod_DL
BVG1 2015-09-04 3.43
BVG11 2015-09-11 3.49
J'ai essayé ce qui suit, mais il retourne vide le vecteur vide.
p2p_dt_SKILL_A%>%
select(Patch,Date,Prod_DL)%>%
filter(Date > "2015-09-04" & Date <"2015-09-18")
Retourne:
> p2p_dt_SKILL_A%>%
+ select(Patch,Date,Prod_DL)%>%
+ filter(Date > 2015-09-12 & Date <2015-09-18)
Source: local data table [0 x 3]
Variables not shown: Patch (fctr), Date (date), Prod_DL (dbl)
Aussi essayé avec des guillemets.
Et à l'aide de lubridate
p2p_dt_SKILL_A%>%
select(Patch,Date,Prod_DL)%>%
#filter(Date > 2015-09-12 & Date <2015-09-18)%>%
filter(Patch %in% c("BVG1"),month(p2p_dt_SKILL_A$Date) == 9)%>%
arrange(Date)
Mais cela me donne de l'ensemble de données de septembre.
Est-il un moyen plus efficace comme l'utilisation de la between
opérateur de dplyr
sur Date
types de variables??
source d'informationauteur Shery
Vous devez vous connecter pour publier un commentaire.
Si la Date est correctement formaté comme un
date
votre premier essai de travaux:Mise à JOUR
Fonctionne encore si les données sont de type
tbl_df
.Un autre plus détaillé option serait d'utiliser la fonction
between
un raccourci pour x >= gauche & x <= droit . Nous avons besoin de changer les jours pour tenir compte de la=
signe, et à utiliseras.Date
(explication ici).