Если у меня есть фрейм данных, и я хочу выбрать тренировочный набор на основе временного диапазона
df <- data.frame(timestamp = seq(as.POSIXct('2013-08-02 12:00:00'),
as.POSIXct('2013-08-06 05:00:00'), len =(45),
x = sample(1:100, 45), y = sample(200:500, 45)))
Теперь я преобразую метку времени в row.names
row.names(df) = df$timestamp
Поскольку я проиндексировал имена строк.Я должен иметь возможность выбрать диапазон для тренировочного набора:
# Select the range
s = '2013-08-02 12:00:00'
e = '2013-08-03 10:15:00'
# Select the training dataset
training = df[s:e,]
Но когда я запускаю приведенный выше код, я получаю следующую ошибку:
#Error in s:e : NA/NaN argument
#In addition: Warning messages:
#1: In `[.data.frame`(df, s:e, ) : NAs introduced by coercion
#2: In `[.data.frame`(df, s:e, ) : NAs introduced by coercion
Может кто-нибудь объяснить, что я здесь не так делаю!
Я знаю, что ts или какой-то другой пакет решит проблему, но нет ли базовых функций R, которые я могу использовать.
Ответы, которые я рассмотрел, прежде чем опубликовать свой вопрос.
Выбор строк в определенном диапазоне времени