Actual Output我有一个运行良好的循环,该循环可以根据某些日期的范围求和一列的总和。该循环如下:
Sd <- as.Date('2017-01-01',tz = "GMT")
EndDate <- as.Date('2017-01-20',tz = "GMT")
Ed <- EndDate + 10
while (Sd < Ed) {
Sd <- Sd + 1
LTV1 <- LTV %>% group_by(InstallationDate)%>% filter(z < Sd) %>%
summarize(Amount = sum(USAmount))
}
mn <- as.data.frame(LTV1)
在上面,Z是包含日期的列。 现在,我想为上述循环运行的每一天创建一列,每一列指示该特定日期收集的金额。因此,在这种情况下,我们将需要30列。
我尝试创建另一个循环,该循环将每天创建一列,但是它什么也没做,并且输出仍然相同。代码如下:
Sd <- as.Date('2017-01-01',tz = "GMT")
EndDate <- as.Date('2017-01-20',tz = "GMT")
Ed <- EndDate + 10
V <- Ed - Sd
for(i in 1:V){
mn[ , paste0("Amount", i)] <- while (Sd < Ed) {
Sd <- Sd + 1
LTV1 <- LTV %>% group_by(InstallationDate)%>% filter(z < Sd) %>%
summarize(Amount = sum(USAmount))
}
}
mn <- as.data.frame(LTV1)
尽管运行,但这根本不起作用。我不确定自己做错了什么或解决了什么。 我将不胜感激,感谢您的反馈。 理想的结果将是:
InstallationDate Amount1 Amount2 Amount3 ...........Amount30
2017-01-01
2017-01-02
.
.
.