Не может правильно подмножество R DF - PullRequest
0 голосов
/ 17 февраля 2020

Я вытащил некоторые данные через 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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...