Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.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
R查找2年工作周对象之间的差异_R_Datediff_Strftime - Fatal编程技术网

R查找2年工作周对象之间的差异

R查找2年工作周对象之间的差异,r,datediff,strftime,R,Datediff,Strftime,我有两个对象是一年一周。我想在几周内找出这两种方法的区别 dd1 <- data.frame(date1 = as.Date('2015-01-01') + 1:31 , date2 = as.Date('2016-03-01') + 1:31 ) dd1$wk1 <- strftime(dd1$date1, format = '%Y-%W') dd1$wk2 <- strftime(dd1$dat

我有两个对象是一年一周。我想在几周内找出这两种方法的区别

dd1 <- data.frame(date1 = as.Date('2015-01-01') + 1:31
                    , date2 = as.Date('2016-03-01') + 1:31
                    )
dd1$wk1 <- strftime(dd1$date1, format = '%Y-%W')
dd1$wk2 <- strftime(dd1$date2, format = '%Y-%W')

dd1$week_diff <- difftime(dd1$wk1, dd1$wk2)

Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format
有什么建议吗


注意:我不能使用原始日期,因为我的数据由于聚合而不包括它们,因此它必须是一年_周之间的差异。

直接在date1和date2计算周差异,而不将其转换为字符

dd1$week_diff <- difftime(dd1$date1, dd1$date2, units = "weeks")

head(dd1)
       date1      date2       week_diff
1 2015-01-02 2016-03-02 -60.71429 weeks
2 2015-01-03 2016-03-03 -60.71429 weeks
3 2015-01-04 2016-03-04 -60.71429 weeks
4 2015-01-05 2016-03-05 -60.71429 weeks
5 2015-01-06 2016-03-06 -60.71429 weeks
6 2015-01-07 2016-03-07 -60.71429 weeks

直接计算date1和date2的周差,而不将其转换为字符

dd1$week_diff <- difftime(dd1$date1, dd1$date2, units = "weeks")

head(dd1)
       date1      date2       week_diff
1 2015-01-02 2016-03-02 -60.71429 weeks
2 2015-01-03 2016-03-03 -60.71429 weeks
3 2015-01-04 2016-03-04 -60.71429 weeks
4 2015-01-05 2016-03-05 -60.71429 weeks
5 2015-01-06 2016-03-06 -60.71429 weeks
6 2015-01-07 2016-03-07 -60.71429 weeks
使用strftime后,您没有年-周对象,您有字符串。使用strftime后,您没有年-周对象,您有字符串。