在R中计算已服务月数

在R中计算已服务月数,r,count,R,Count,我有一个日期为的数据,如下所示: 2010-01-01 2010-02-07 2010-02-09 2010-03-09 2010-04-06 .... 2021-03-31 2021-04-10 我想要一个基于日期的观察月数的输出,如:1,2,3…100 我尝试了这个代码as.numeric(as.factor(格式(flights.

我有一个日期为
的数据,如下所示:

          2010-01-01
          2010-02-07
          2010-02-09
          2010-03-09
          2010-04-06
          ....
          2021-03-31
          2021-04-10
我想要一个基于日期的观察月数的输出,如:
1,2,3…100
我尝试了这个代码
as.numeric(as.factor(格式(flights.input$Date,“%m”))

但它在
12
处停止计数,并从
1
处再次计数,而我想连续计数。

我们。在从“日期”列提取
月份后,可以使用
rle
from
base R
创建序列

fm1 <- format(flights.input$Date, "%m")
with(rle(fm1), rep(seq_along(values), lengths))
fm1您可以尝试:

data.table::setDT(df)[, NumberOfMonth := rleid(format(as.Date(as.character(Date)), "%m"))]

不,我想数一数:1,2,3…,而不是每年12个月。每个用户可能有多个
日期
Month@JennyPham. 我不清楚。得到
fm1
fm1
后的输出是什么样的:1,2,…,12,1,2,3..,12。输出结果与我尝试的代码相同。
as.numeric(as.factor(格式(flights.input$Date,“%m”))
@JennyPham。如果你有
1,2,3。。12, 1, 2, 3,.. 12
如果有100个月,那么预期的时间是多少。我要数到100。arg0naut91的答案是正确的