R 查找在特定时间之前加入的用户

R 查找在特定时间之前加入的用户,r,dataframe,R,Dataframe,我是个新手,真的需要指导 基本上,我有一个包含以下信息的表格: 我想实现的是只提取那些在当前日期前15天加入网站的用户的记录。我已经厌倦了在这么多其他网站上搜索,但无法找到正确的方法。我尝试过使用lubridate,但没有成功。tada: library(dplyr) library(lubridate) df %>% filter(dmy(D0J) > as_date(Sys.Date()) - 15*days()) dmy for day-month-year正确设置日期格式,

我是个新手,真的需要指导

基本上,我有一个包含以下信息的表格:

我想实现的是只提取那些在当前日期前15天加入网站的用户的记录。我已经厌倦了在这么多其他网站上搜索,但无法找到正确的方法。我尝试过使用lubridate,但没有成功。

tada:

library(dplyr)
library(lubridate)
df %>% filter(dmy(D0J) > as_date(Sys.Date()) - 15*days())
dmy for day-month-year正确设置日期格式,然后它是一个简单的不等式过滤器,如果相关,用>=替换>

结果

资料


你用lubridate试过什么?也请分享一下,这有助于我们调试。谢谢@Aramis,我相信我所做的一切都是错误的。比如先用Sys.Date获取当前时间,然后用DoJ减去它,但它给出的是NA或错误。我没有保存代码,正在同一台计算机上重写:穆迪·斯基普,非常感谢你,伙计。你太棒了……干杯无法安装dplyr库。。。。。。。软件包dplyr不适用于R版本3.1.0…我现在卡住了。。。即使我有可用的代码,但不能做任何事情…任何帮助请。。。可能是通过其他方式获得结果。这很奇怪,但幸运的是,您不需要dplyr,只需执行subsetdf,dmyD0J>as_dateSys.Date-15*daysR抛出错误声明,无法找到函数dmy。您需要加载lubridate、librarylubridate,并可能安装.packageslubridate
library(dplyr)
library(lubridate)
df %>% filter(dmy(D0J) > as_date(Sys.Date()) - 15*days())
  UserID UserName        D0J
1 983358 XXXXXXXX 01/09/2017
2 983359 XXXXXXXX 03/09/2017
3 983360 XXXXXXXX 05/09/2017
df <- read.table(text="UserID   UserName    D0J
983357   XXXXXXXX    25/08/2017
                 983358   XXXXXXXX    01/09/2017
                 983359   XXXXXXXX    03/09/2017
                 983360   XXXXXXXX    05/09/2017",header=T,stringsAsFactor=F)