-1

我有一个如下数据集:

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。有人对此有任何想法吗?

4

1 回答 1

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)
于 2012-11-15T01:06:43.747 回答