R中指定日期后的行数

罗宾·图金顿

这很可能是非常容易解决的问题,但是可以解决。很简单,我试图对数据框中特定日期之后的行进行计数。以下是数据示例:-

Date<-structure(c(18485, 18486, 18487, 18488, 18489, 18490, 18491, 
            18492, 18493, 18494, 18495, 18496, 18497, 18498, 18499, 18500, 
            18501, 18502, 18503, 18504, 18505, 18506, 18507, 18508, 18509, 
            18510, 18511, 18512, 18513, 18514, 18515, 18516, 18517, 18518, 
            18519, 18520, 18521, 18522, 18523, 18524, 18525, 18526, 18527
), class = "Date")

Count<-c(54L, 42L, 44L, 52L, 51L, 47L, 53L, 45L, 41L, 56L, 45L, 56L, 
         52L, 57L, 48L, 47L, 52L, 58L, 51L, 41L, 53L, 155L, 123L, 98L, 
         90L, 84L, 71L, 58L, 50L, 54L, 45L, 58L, 48L, 49L, 60L, 41L, 60L, 
         46L, 40L, 50L, 49L, 57L, 58L)

df<-data.frame(Date,Count)

我想做的是将行编号为1,直到数据帧结束为止,但仅在特定日期之后。将其视为日期后的“天数”。例如,我想对行进行编号,以表示2020-09-01(含)之后的日子,但是我得到了:

df$intv_trend<-ifelse(df$Date<as.Date("2020-09-01"),0,1:22)

df

         Date Count intv_trend
1  2020-08-11    54          0
2  2020-08-12    42          0
3  2020-08-13    44          0
4  2020-08-14    52          0
5  2020-08-15    51          0
6  2020-08-16    47          0
7  2020-08-17    53          0
8  2020-08-18    45          0
9  2020-08-19    41          0
10 2020-08-20    56          0
11 2020-08-21    45          0
12 2020-08-22    56          0
13 2020-08-23    52          0
14 2020-08-24    57          0
15 2020-08-25    48          0
16 2020-08-26    47          0
17 2020-08-27    52          0
18 2020-08-28    58          0
19 2020-08-29    51          0
20 2020-08-30    41          0
21 2020-08-31    53          0
22 2020-09-01   155         22
23 2020-09-02   123          1
24 2020-09-03    98          2
25 2020-09-04    90          3
26 2020-09-05    84          4
27 2020-09-06    71          5
28 2020-09-07    58          6
29 2020-09-08    50          7
30 2020-09-09    54          8
31 2020-09-10    45          9
32 2020-09-11    58         10
33 2020-09-12    48         11
34 2020-09-13    49         12
35 2020-09-14    60         13
36 2020-09-15    41         14
37 2020-09-16    60         15
38 2020-09-17    46         16
39 2020-09-18    40         17
40 2020-09-19    50         18
41 2020-09-20    49         19
42 2020-09-21    57         20
43 2020-09-22    58         21

我怎样才能使2020-09-01是第1天(而不是第22天),而df中的最后一个日期是第22天,而不是第21天?与往常一样,先谢谢您。

Ben

您可以尝试cumsum根据所选日期之后的日期使用。这样做的好处是您无需指定所需的日期数。

df$intv_trend <- cumsum(df$Date >= as.Date("2020-09-01"))

输出量

         Date Count intv_trend
1  2020-08-11    54          0
2  2020-08-12    42          0
3  2020-08-13    44          0
4  2020-08-14    52          0
5  2020-08-15    51          0
6  2020-08-16    47          0
7  2020-08-17    53          0
8  2020-08-18    45          0
9  2020-08-19    41          0
10 2020-08-20    56          0
11 2020-08-21    45          0
12 2020-08-22    56          0
13 2020-08-23    52          0
14 2020-08-24    57          0
15 2020-08-25    48          0
16 2020-08-26    47          0
17 2020-08-27    52          0
18 2020-08-28    58          0
19 2020-08-29    51          0
20 2020-08-30    41          0
21 2020-08-31    53          0
22 2020-09-01   155          1
23 2020-09-02   123          2
24 2020-09-03    98          3
25 2020-09-04    90          4
26 2020-09-05    84          5
27 2020-09-06    71          6
28 2020-09-07    58          7
29 2020-09-08    50          8
30 2020-09-09    54          9
31 2020-09-10    45         10
32 2020-09-11    58         11
33 2020-09-12    48         12
34 2020-09-13    49         13
35 2020-09-14    60         14
36 2020-09-15    41         15
37 2020-09-16    60         16
38 2020-09-17    46         17
39 2020-09-18    40         18
40 2020-09-19    50         19
41 2020-09-20    49         20
42 2020-09-21    57         21
43 2020-09-22    58         22
         

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取R中指定日期后剩余用户的百分比

如何在R中指定日期的x轴值

解决R中ifelse语句中指定日期范围的问题

使用 Alpha Vantage 插件时在 tidyquant (R) 中指定日期

查询帐户 Google表格中指定日期的余额

如何在create table命令中指定日期格式

如何在肉房中指定日期格式?

Linux-用户在线并在指定日期后登录

如何根据特定日期在laravel中指定/安排特定任务

如何在read_csv中指定日期时间格式

使用python在输出文件名中指定日期

如何在Log4Net目录中指定日期?

在设置中指定日期格式时,Django Rest框架列表对象没有属性较低

使用momentJS确定任意时区中指定日期的星期几

在Postgres SQL查询的WHERE子句中指定日期的时区

使用 MockitoJUnitRunner 运行单元测试时如何在 JSON 响应中指定日期格式

R中的时间序列预测;在初始预测后绘制“事件”并生成具有指定日期范围的新预测图

超过指定日期后,如何在该日期后增加1个月?

指定日期字段的类型

查看指定日期的 MediaWiki?

如何在隐藏字段中指定日期的情况下设置日期选择器的“最大日期”和“最小日期”

计算特定日期的总行数

日期无法在laravel中指定

SQL 获取晚于指定日期的日期

C#使用Microsoft.Exchange.WebSercvices EWS在指定日期后获取邮件

VSTS REST API-获取在指定日期后更改的项目列表

R:在指定日期之后的数据框中查找最接近的日期(索引)

UITableView显示的行数超过numberOfRowsInSection中指定的行数:

在aiohttp 2中指定日志请求格式