Re: [问题] 依日期选别字段的值

楼主: poker0531 (我支持台湾独立)   2018-08-07 10:30:07
先谢谢大神的帮忙,
抱歉,是我没说清楚
结算日的规定是每月第三个周三(如果放假则顺延到下一个交易日)
我的资料是2011/1月的sample
也就是说,
假设2011/1/19为第三个周三并且正常交易
我想要筛选出的资料为
test<-rbind(filter(test, Date<=as.Date("2011/1/19"),`交割年月`=="201101"),
filter(test, Date>as.Date("2011/1/19"),`交割年月`=="201102"))
谢谢您愿意帮忙~
※ 引述《egoweaver (Hiko)》之铭言:
: 虽然“在这个日期之前和之后做[交割年月]的筛选”的描述看不懂是怎样
: 的操作,但是应该是类似这样的状况吧?
: # 如果需要安装 package 的话 uncomment
: # install.packages(c("lubridate", "timeDate"))
: library(lubridate)
: library(timeDate)
: library(dplyr)
: # 指定要找出“每月第三个星期三”的时间段
: start_date <- "2007-09-01"
: end_date <- "2014-06-01"
: # 加载原始档
: # 注意如果日期格式不是 "YYYY-MM-DD" 的话后面的部分要相应修改
: test <- read.table("test.txt", header = TRUE, stringsAsFactors = FALSE)
: # 找出指定时间段的每月第三个周三
: # 用 format() 把 timeDate 转成 character
: period <- timeSequence(from = start_date, to = end_date, by = "month")
: thirdwed <- format(timeNthNdayInMonth(period, nday = 3, nth = 3,
: format = "%Y-%m-%d"))
: # 只留下 Date 为每月第三个周三的 observation
: test_fil <- filter(test, Date %in% thirdwed)
: # 依据交割年月做筛选
: # 这边看不懂原 po 想做什么筛选...
: result <- filter(test_fil, `交割年月` == 201101)

Links booklink

Contact Us: admin [ a t ] ucptt.com