Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.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 增加不同年份中不同日期的周数_R_Date_Datetime_Dataframe - Fatal编程技术网

R 增加不同年份中不同日期的周数

R 增加不同年份中不同日期的周数,r,date,datetime,dataframe,R,Date,Datetime,Dataframe,我有两年的约会——2012年和2013年。我在数据框中按升序排列日期,但根据其他标准,它们会在一段时间后重复。我想在数据框中添加另一列,增加周数 我提出了实现以下功能的代码: Date WeekNumber 12/31/2012 53 12/31/2012 53 12/31/2012 1 1/1/2013 1 1/1/2013 1 12/31/2012 53 12/31/2012 53 我想要实现以下目标: Date WeekNumber 12/31/2012

我有两年的约会——2012年和2013年。我在数据框中按升序排列日期,但根据其他标准,它们会在一段时间后重复。我想在数据框中添加另一列,增加周数

我提出了实现以下功能的代码:

Date    WeekNumber
12/31/2012  53
12/31/2012  53
12/31/2012  1
1/1/2013    1
1/1/2013    1
12/31/2012  53
12/31/2012  53
我想要实现以下目标:

 Date   WeekNumber
12/31/2012  1
12/31/2012  1
12/31/2012  2
1/1/2013    2
1/1/2013    2
12/31/2012  1
12/31/2012  1

我希望周数在某个日期之后增加(比如2012-01-01)。“日期”列的格式是
Date

似乎您的数据以一种非常奇怪的方式排序。。。不过,假设你有这种东西

Date    WeekNumber
12/31/2012  53
1/1/2013    1
12/31/2013  53
1/1/2014    1
12/31/2014  53
你可以跑

data <- read.table("stack.txt", sep="\t", header=TRUE)
year <- function(date){
    as.numeric(format(as.POSIXct(date, format="%m/%d/%Y"), format="%Y"))
}
FirstYear <- year(data$Date[1])
data$WeekNumber <- data$WeekNumber  + 53*(year(data$Date) - FirstYear)
# And add if you want ...
# data$WeekNumber <- data$WeekNumber - 53

您能否更清楚地指定
WeekNumber
在逻辑上是什么?后一个数据中的第三行至少应该是
1
(因为该行与上面的2行相同),但一年的最后一天是一年的第一周是什么意思?
Date    WeekNumber
12/31/2012  53
1/1/2013    54
12/31/2013  106
1/1/2014    107
12/31/2014  159