R приводит к неожиданным результатам для оператора равенства == против оператора больше>=
R приводит к неожиданному результату при попытке установить подкадр данных с оператором больше чем>=.
Вот результаты при использовании оператора ==:
> head(sessions[sessions$datetime == "2016-06-25 13:29:43",],2)
id birdie datetime side_speed end_speed full_coverage
15 65 CALAN197 2016-06-25 13:29:43 -0.34 -0.34 1
Однако при использовании оператора>= результат, ранее появившийся в предыдущей операции, больше не отображается.
> head(sessions[sessions$datetime >= "2016-06-25 13:29:43",],2)
id birdie datetime side_speed end_speed full_coverage
1 2 CALAN190 2016-06-30 08:54:40 -0.34 -0.34 1
2 3 CALAN190 2016-06-30 09:55:05 -0.34 0.00 1
Фактически этот результат идентичен большему оператору>.
Как это могло произойти?
Вот минимальный воспроизводимый пример:
d <- read.table(text = "1 | 2 | CALAN190 | 2016-06-30 08:54:40 | -0.34 | -0.34 | 1
2 | 3 | CALAN190 | 2016-06-30 09:55:05 | -0.34 | 0.00 | 1
15 | 65 | CALAN197 | 2016-06-25 13:29:43 | -0.34 | -0.34 | 1", sep = "|")
d$V4 <- as.POSIXct(d$V4)
head(d[d$V4 == "2016-06-25 13:29:43", ], 2)
head(d[d$V4 >= "2016-06-25 13:29:43", ], 2)