интервал должен содержать два элемента

#r

Вопрос:

Я пытаюсь выполнить подвыборку в кадре данных :

 [ 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% и та же проблема, может ли кто-нибудь более опытный объяснить мне, пожалуйста?

Если вы можете научить меня, как продавать с интервалом в несколько дней, было бы здорово

с уважением

Комментарии:

1. Можете ли вы указать используемые пакеты

2.@r2evans, у меня бы тоже были такие же мысли, но %bw% допускает одну дату, причина ошибки была более простой, см. Ответ ниже

3. Спасибо. Я должен оставаться в пределах своего мастерства-плавать 🙂

Ответ №1:

Ошибка может быть воспроизведена:

 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']
 

Причина ошибки в этом случае заключается в том, что вы используете a tibble .

Это будет работать с a data.table , как в %bw% документации:

 data(ticks)
class(ticks)
#[1] "data.table" "data.frame"

ticks[time %bw% '2020-08-06']
Empty data.table (0 rows and 1 cols): time