Я хотел бы установить подкадр данных, выбрав только строки с текущей системной датой.
Например, у меня есть этот кадр данных:
df = data.frame("var" = c("A", "A", "B", "B"),
"date" = c("2020-03-01", "2020-03-17",
"2020-03-01", "2020-03-17"))
df$date = as.POSIXct(df$date, format = "%Y-%m-%d")
Если сегодня 2020 -03-17, я хотел бы поднастроить строки, которые содержат только текущую дату.
Я пробовал следующее:
df_today = df[which(df$date == Sys.Date()),]
, который дает ошибку:
Предупреждающее сообщение: In (df $ date == Sys.Date ()):
Несовместимые методы ("Ops.POSIXt", "Ops.Date") для "=="
Я также пытался:
df[which(df$date == as.POSIXct(Sys.Date())),]
, который возвращает пустой фрейм данных. То, что я нашел, - это если я приведу столбец date
как символ, а затем подстроу строки следующим образом:
df$date = as.character(df$date)
df[which(df$date == as.character(Sys.Date)),]
Это может сработать, но я хотел бы знать, где я ошибаюсь мои предыдущие попытки и есть ли лучший способ, чем преобразование назад и вперед между символами и POSIXct?
Заранее спасибо за любой ввод!