看板 R_Language 關於我們 聯絡資訊
先謝謝大神的幫忙, 抱歉,是我沒說清楚 結算日的規定是每月第三個週三(如果放假則順延到下一個交易日) 我的資料是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) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.204.103 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1533609012.A.679.html