我有一个如下数据集:
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。有没有人对此有任何想法?
答案 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)