[問題] R 的日期篩選斷點不是零點零分?

看板R_Language作者 (@)時間8年前 (2017/02/28 21:11), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 想請問:當用 date 去篩選 datetime 的欄位時 R 是怎麼判斷 date 的時刻切分/比對的呢? 有些語言你丟 Date 去篩選,他會當成零點零零分來處理 什麼意思呢,像是 篩選條件 A > 20170201,<= 20170208 篩選條件 B > 20170201,< 20170209 會不一樣, 因為前者 20170201 0:00 ~ 20170208 0:00(包含) 而後者是 20170201 0:00 ~ 20170209 0:00(不含) 但我目前在 R 裡面做出來的結果,似乎兩者會是一樣的。 所以想確認的是 R 的日期比對, 如果只給到 day,就會包含進 0:01~23:59 的結果是嗎? [程式範例]: startDate = as.Date('2017-02-01') endDate = startDate + 7 attach(csv) filter2 <- published_at >= startDate & published_at < endDate + 1 csv2 <- csv[filter2, ] View(csv2) filter3 <- published_at >= startDate & published_at <= endDate csv3 <- csv[filter3, ] View(csv3) csv2 == csv3 #=> TRUE [環境敘述]: R version 3.3.2 (2016-10-31) [關鍵字]: Date, Filter -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.157.91 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1488287489.A.F82.html

03/01 21:20, , 1F
date跟POSIXlt比大小??
03/01 21:20, 1F

03/01 21:20, , 2F
注意一下<=.Date跟<=.POSIXlt的行為不同
03/01 21:20, 2F

03/01 21:20, , 3F
最好轉成同樣型態再比較
03/01 21:20, 3F
文章代碼(AID): #1OjNS1-2 (R_Language)
文章代碼(AID): #1OjNS1-2 (R_Language)