Re: [問題] lubridate的使用問題

看板R_Language作者 (天)時間7年前 (2016/11/18 00:22), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《hardy1127 (阿提)》之銘言: : : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 入門(寫過其他程式,只是對語法不熟悉) : : [問題敘述]: : 我想要印出2015年,每個月的第一天和最後一天,前七個月都正常, : 但第八個月之後,最後一天就會變成NA : [程式範例]: : : year_counter = 2015 : mon_counter = 1 : while (year_counter < 2016){ : s_day = ymd("2015-01-01") : e_day = ymd("2015-01-31") : while (mon_counter < 13) { : print(mon_counter) : print("star is") : print(s_day) : print("end is") : print(e_day) : month(s_day) = month(s_day) + 1 : month(e_day) = month(s_day) + 1 : day(e_day) = day(s_day) - 1 : mon_counter = mon_counter + 1 : } : year_counter = year_counter + 1 : } : : }環境敘述]: : : Version 0.99.903–2009-2016 RStudio, Inc. : lubridate 1.6.0 : : [關鍵字]: : : 選擇性,也許未來有用 : 這樣就全部列出來拉~~~ 不用用到迴圈 x1 <- seq(as.Date("2016-01-01"), length=12, by="1 month") x2 <- seq(as.Date("2016-02-01"), length=12, by="1 month") data.frame(firstDay = x1, lastDay = x2 - 1) # firstDay lastDay # 1 2016-01-01 2016-01-31 # 2 2016-02-01 2016-02-29 # 3 2016-03-01 2016-03-31 # 4 2016-04-01 2016-04-30 # 5 2016-05-01 2016-05-31 # 6 2016-06-01 2016-06-30 # 7 2016-07-01 2016-07-31 # 8 2016-08-01 2016-08-31 # 9 2016-09-01 2016-09-30 # 10 2016-10-01 2016-10-31 # 11 2016-11-01 2016-11-30 # 12 2016-12-01 2016-12-31 -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) https://goo.gl/OBto1x data.table #1LhW7Tvj (R_Language) https://goo.gl/QFtp17 dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/GcfNoP tidyr #1Liqls1R (R_Language) https://goo.gl/pcq5nq pipeR #1NXESRm5 (R_Language) https://goo.gl/cDIzTh -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.189.75 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1479399758.A.46C.html

11/18 08:11, , 1F
寫迴圈是最後一步
11/18 08:11, 1F

11/18 08:28, , 2F
謝C大,實在有夠精簡!因為對語法不熟所以才用迴圈QQ
11/18 08:28, 2F

11/18 08:29, , 3F
(但是我也想知道我的邏輯哪裡出了問題...XD
11/18 08:29, 3F
文章代碼(AID): #1OBTbEHi (R_Language)
文章代碼(AID): #1OBTbEHi (R_Language)