我正在尝试在数据框中进行子选择:
[ time %bw% '2020-08-06' ]
并且该函数给了我以下错误:
Error in time %bw% "2020-08-06" : interval must contain two elements
这是 df :
> head(GBPUSD_mt5_ticks)
> A tibble: 6 x 5
> time bid ask price volume
<dttm> <dbl> <dbl> <dbl> <dbl>
> 1 2020-08-05 01:00:00 1.31 1.31 1.31 3
> 2 2020-08-05 01:00:00 1.31 1.31 1.31 3
> 3 2020-08-05 01:00:00 1.31 1.31 1.31 4
> 4 2020-08-05 01:00:00 1.31 1.31 1.31 1
> 5 2020-08-05 01:00:00 1.31 1.31 1.31 3
> 6 2020-08-05 01:00:01 1.31 1.31 1.31 3
我想选择一个间隔,已经尝试过使用相同结构的数据并且一切顺利,尝试将日期和时间放在 %bw% 和同样的问题之后,请有经验的人解释一下?
如果你能教我如何将多天间隔卖给我会很棒
最好的问候
答案 0 :(得分:2)
错误可以复现:
library(quantTools)
data <- tibble::tibble(time = Sys.time())
data[time %bw% '2020-08-06']
Error in time %bw% "2020-08-06" : interval must contain two elements
这是因为 time
是一个函数而不是 time
列。
试试:
data[data$time %bw% '2020-08-06']
在这种情况下出现错误的原因是您使用了 tibble
。
这适用于 data.table
,如 %bw%
documentation:
data(ticks)
class(ticks)
#[1] "data.table" "data.frame"
ticks[time %bw% '2020-08-06']
Empty data.table (0 rows and 1 cols): time