如何将while循环的结果捕获到数据框中

时间:2017-08-07 17:26:32

标签: r

我有这段代码

payment_date <- Sys.Date() -1
while(payment_date < Sys.Date() + 30) {
   payment_date <- payment_date + 1; 
   print(payment_date)
}

这个输出:

  

[1]“2017-08-07”
  ...
  [1]“2017-09-06”

有人知道如何将所有这30条线都放入数据框吗?

1 个答案:

答案 0 :(得分:0)

我可以这样做。

paydates <- character(30)
i <- 0

payment_date <- Sys.Date() -1
while(payment_date < Sys.Date() + 30) {
    payment_date <- payment_date + 1
    print(payment_date)
    i <- i + 1
    paydates[i] <- payment_date
}

paydates <- as.Date(paydates)

然后,将生成的矢量paydates作为列放在df中。

result <- data.frame(paydates)

请注意,如果您的真实用例很简单,那么只需执行

就好了
payment_date <- Sys.Date() + (-1:29)