【发布时间】:2021-10-13 15:11:17
【问题描述】:
我正在尝试将我的数据集划分为 2 个单独的数据集 (data & data2)。 'Data' 包含今年(2021 年)的数据,而'Data2' 包含前几年的数据。
目前我有这段代码可以将当年的数据与上一年的数据分开:
data <- discrete_8 %>% filter(PS_DATE >= as.POSIXct(paste0(substr(Sys.Date(),1,4),"-01-01")))#current year; filtered
data2 <- discrete_8 %>% filter(PS_DATE < as.POSIXct(paste0(substr(Sys.Date(),1,4),"-01-01")) & PS_DATE > as.POSIXct("2013-12-31"))#previous year; filtered; remove year 2013
> as.POSIXct(paste0(substr(Sys.Date(),1,4),"-01-01"))
[1] "2021-01-01 UTC"
这正是我想要的,除非到2022年,否则我怕2022年的数据不可用,所以会产生错误。我正在考虑从我的数据集中提取最新的年份,这将是数据集中的最后一行。
> tail(discrete_8)
PS_NAME Offline.Cell.Days Offline.CSPR..perfusion. PS_DATE
6275 x1 34 0.5856000 2021-06-16
6288 x2 47 0.6412710 2021-06-29
6289 x3 48 0.5066250 2021-06-30
6303 x4 47 0.7241379 2021-06-29
6304 x5 48 0.5206612 2021-06-30
6305 x6 49 0.5358987 2021-07-01
有没有一种方法可以更改我的代码块,以便我实际上提取数据集中可用的最新年份,而不是使用Sys.Date() 来提取最新年份(目前没有失败证明)。
在我的一个数据集中,只有到 2020 年的数据,所以我的代码块在该脚本中不起作用。从最后一行数据中提取年份会更好。
【问题讨论】:
标签: r