※ 引述《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