我有麻煩理解爲什麼下面的代碼行爲如何表現。基本上,過濾器似乎被應用,但在隨後的調用中無法工作。dplyr過濾器不能用於lubridate
> library(dplyr)
> library(lubridate)
>
> md1 <- data.frame(no = 1:4, time = c("12:30:00", "13:30:00", "14:30:00", "15:30:00"))
> md1$time <- hms(md1$time)
> md1
no time
1 1 12H 30M 0S
2 2 13H 30M 0S
3 3 14H 30M 0S
4 4 15H 30M 0S
> md2 <- filter(md1, hour(time)<14)
> md2
no time
1 1 12H 30M 0S
2 2 13H 30M 0S
> hour(md2$time)
[1] 12 13 14 15
,而我想/希望收到 [1] 12 13 在最後一次通話
任何建議表示歡迎。它的行爲同樣在3.3.1和3.4.0版本的R(Windows 7)中
似乎與https://github.com/tidyverse/dplyr/issues/2520 –
'filter'有一些問題;它給了我一個data.frame已損壞的警告。它適用於基礎子集,但:md2 < - md1 [hour(md2 $ time)<14,]' – alistaire