如何获得R中两个日期之间的天数

时间:2012-11-14 23:34:51

标签: r days

我有一个如下数据集:

money   date1    date2
"300"  "10/30 " " 11/1" 
"400"  "10/28 " " 10/31"
"360"  "10/28 " " 10/30"
"440"  "10/25 " " 10/28"
"620"  "10/21 " " 10/28"

我想提取第一行的两个日期之间的天数,例如10 / 30,10 / 31和11/1。另外,我的代码应该为每个提取的日期分配一个数字。这个数字应该是金钱/(天数)。作为一个例子,我想获得每个10 / 30,10 / 31,11 / 1和300/3(即= 100),300 / 3,300 / 3。有没有人对此有任何想法?

1 个答案:

答案 0 :(得分:1)

这将给出该时间段内每天的总数

data$date1<-as.Date(paste(data$date1,"/2012"),  "%m/%d/%Y")
data$date2<-as.Date(paste(data$date2,"/2012"),  "%m/%d/%Y")
data$perday<-with(data, money/(date2-date1))
period <- as.Date(min(data$date1):max(data$date2), origin = "1970-01-01")
sum <- sapply(period, function(x) sum(data[x >= data$date1 & x <= data$date2, 'perday']))
sumperday<-as.data.frame(period, sum)