作者celestialgod (天)
看板R_Language
标题Re: [问题] lubridate的使用问题
时间Fri Nov 18 00:22:35 2016
※ 引述《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://webptt.com/cn.aspx?n=bbs/R_Language/M.1479399758.A.46C.html
1F:推 psinqoo: 写回圈是最後一步 11/18 08:11
2F:推 hardy1127: 谢C大,实在有够精简!因为对语法不熟所以才用回圈QQ 11/18 08:28
3F:→ hardy1127: (但是我也想知道我的逻辑哪里出了问题...XD 11/18 08:29