我正在使用RStudio和一个半大型数据集,其中我只想在observation_date列的数据集中选择2016年和2023年。我尝试使用 lubridate 来做到这一点。然而,我只找到了如何在这两年之间进行选择,即使这样我也得到了一个错误,它做了一个范围而不是两年本身。此外,在数据集中,2016 年和 2023 年的结束时间不同,因为 2023 年的数据于 10 月结束。我将不胜感激任何帮助,因为我是新手。
我在下面列出了迄今为止我拥有的第一个代码块。我将附上该列的屏幕截图。不幸的是我无法附上完整的数据。 到目前为止,我的代码如下所示:
错误如下:
mutate()
中的错误:
ℹ 在争论中:Date = lubridate::dmy(Date)
。
由as.character()
中的错误引起:
!无法将“闭包”类型强制转换为“字符”类型的向量
回溯:
as.character()
中的错误引起:
!无法将“闭包”类型强制转换为“字符”类型的向量library(dplyr)
df %>%
mutate(Date = lubridate::dmy(Date)) %>%
filter(Date >= as.Date('01-01-2016') & Date <= as.Date('2023-10-31'))
select()
BudburstObs$observation_date_NEW <- mdy(BudburstObs$observation_date)
str(BudburstObs)
我尝试通过 lubridate 寻找一种仅选择两年的方法,但还没有弄清楚。我已经找到了如何做一个范围,但这不是我想要的。我也遇到错误。
您的代码中有两个问题:
dmy(Date)
,就你而言,它是mdy(Date)
这是一个改编的代码(未经测试):
library(dplyr)
library(lubridate)
df %>%
mutate(Date = lubridate::mdy(Date)) %>%
filter(year(Date) == 2016 | year(Date) == 2023) # year is from lubridate