Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何计算不同月份的MTD(以R为单位)_R_Difftime - Fatal编程技术网

如何计算不同月份的MTD(以R为单位)

如何计算不同月份的MTD(以R为单位),r,difftime,R,Difftime,任务是查找两个月的MTD天数,在我的情况下,是流入量最高的月份(7月)和当前月份。 因为我计划每天将语句作为脚本运行,所以我不想硬编码任何内容 数据帧如下所示: SERVICE BEST MONTH TOTAL BEST MONTH MTD CURR. MONTH MTD No of Working Days .. .. .. 对于“最佳月份总数”,我使用了以下语句: report[1,2] <- sum(!weekdays(seq(as.Date('2

任务是查找两个月的MTD天数,在我的情况下,是流入量最高的月份(7月)和当前月份。 因为我计划每天将语句作为脚本运行,所以我不想硬编码任何内容

数据帧如下所示:

SERVICE              BEST MONTH TOTAL    BEST MONTH MTD  CURR. MONTH MTD
No of Working Days
..
..
..
对于“最佳月份总数”,我使用了以下语句:

report[1,2] <- sum(!weekdays(seq(as.Date('2019-07-01'), as.Date('2019-07- 
31'), 'days')) %in% c('Sunday','Saturday'))
这将提供以下输出:

Time difference of 12.22917 days
有没有办法让我得到整数12

我如何计算最佳月MTD?是否有一个函数可以帮助返回到7月份与sys.date()相同的日期来计算MTD的工作日数? i、 e.基本上我需要的是:

difftime('2019-07-13','2019-07-01', units = "days")

但我不想硬编码“2019-07-13”,因为我想将其作为脚本运行,并希望避免每天更改日期。另外,我只需要不带“时间差…天”的整数差。

将天数转换为数字:

as.numeric(difftime(Sys.Date(),'2019-09-01',units = "days" ))

要将天数转换为数字,请执行以下操作:

as.numeric(difftime(Sys.Date(),'2019-09-01',units = "days" ))
这是你想要的吗

trunc(difftime(Sys.Date(),'2019-09-01',units=“days”))
#输出
#12天的时差
这是你想要的吗

trunc(difftime(Sys.Date(),'2019-09-01',units=“days”))
#输出
#12天的时差

best_month_mtd想知道是否还有其他功能,不管怎样,它都可以工作。问题的下一部分如何?如何回到当前Sys.Date()所在的7月份的同一天,我想知道是否还有另一个函数,不管怎样,它仍然有效。问题的下一部分如何?如何返回到7月的同一天作为函数best_month_mdt(“2019-07-13”、“2019-07-01”)中的当前Sys.Date(),我不想硬编码“2019-07-13”,因为我需要每天不断更改它。是否有一个函数可以替代。将
Sys.Date()
作为
arglist
传递可以工作。请参阅我的编辑。在函数best_month_mdt(“2019-07-13”、“2019-07-01”)中,我不想硬编码“2019-07-13”,因为我需要每天不断更改。是否有一个函数可以替代。将
Sys.Date()
作为
arglist
传递可以工作。查看我的编辑。什么是MTD?对我来说,还不清楚您将输入什么输入和期望输出什么。从本月至今,我需要计算从本月1日开始的工作日数。例如,今天是9月13日,因此当月的总天数为12天。7月份我也需要这样做。i、 e.difftime('2019-07-13','2019-07-01',unites=“days”),但我不想硬编码'2019-07-13'。希望现在清楚了。什么是MTD?对我来说,还不清楚您将输入什么输入和期望输出什么。从本月至今,我需要计算从本月1日开始的工作日数。例如,今天是9月13日,因此当月的总天数为12天。7月份我也需要这样做。i、 e.difftime('2019-07-13','2019-07-01',unites=“days”),但我不想硬编码'2019-07-13'。希望现在清楚了。