2017-08-07 63 views
0

我有此代碼如何捕獲while循環的結果到數據幀

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

而這個輸出:

[1] 「2017年8月7日」
。 ..
[1]「2017年9月6日」

有誰知道我怎樣才能得到這些30行到數據幀?

回答

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) 
+0

這不回答這個問題*有誰知道我怎樣才能在所有這30個行數據幀?* –

+0

@RichScriven這不會以什麼方式回答問題?這產生一個向量。你所要做的就是在df中創建一個新列。只要做'dat $ new_col < - paydates'。 –

+0

OP沒有數據幀開始。問題是*我如何將這個'while'循環的結果放入數據框?*閱讀問題的最後一行。爲了清晰起見,我編輯了它。 –