Я вытащил некоторые данные через sql в кадр данных. Я сейчас пытаюсь установить подмножество таких данных и мне не повезло.
Я буду sh до l oop через каждую строку и идентифицировать предыдущий час, после чего я буду sh, чтобы выбрать подмножество DF, где дата == предыдущий час. (Я понимаю, что есть другие способы сделать это, однако я пойму sh, чтобы понять, почему это не работает). Когда я делаю это, он возвращает пустой df. Однако, если я непосредственно вставлю значение предыдущего часа в виде строки, я получу желаемый результат.
Обе переменные являются POSIXCT, и любая попытка преобразовать в символ не удастся. Может кто-нибудь сказать мне, что происходит на земле? : S
Мой код:
for(row in 1:3){
PreviousHour <- as.POSIXct(Data$mydate[row] - hours(1), tz = "UTC")
Date <- Data$mydate[row]
print(c(Data$mydate[row],PreviousHour))
#"2019-11-20 23:00:00 GMT" "2019-11-20 22:00:00 GMT"
print(Data$mydate[row] == PreviousHour)
#FALSE
print(subset(Data,Data$mydate == PreviousHour))
# A tibble 0x5
print(subset(Data,Data$mydate == "2019-11-20 22:00:00 GMT"))
# A tibble 1x5
}
Код, если я вручную создаю df (Это работает):
mydate <- c(as.POSIXct("2019-11-20 22:00:00", tz = "UTC"),as.POSIXct("2019-11-20 21:00:00", tz = "UTC"))
Data <- data.frame(mydate)
for(row in 1:1){
PreviousHour <- as.POSIXct(Data$mydate[row] - hours(1), tz = "UTC")
Date <- Data$mydate[row]
print(c(Data$mydate[row],PreviousHour))
#"2019-11-20 22:00:00 GMT" "2019-11-20 21:00:00 GMT"
print(Data$mydate[row] == PreviousHour)
#FALSE
print(subset(Data,Data$mydate == PreviousHour))
# A tibble 1x1
}