我在R中有一个数据集,我使用read.table(表名称a)进行了读取。我想从'2007-02-01'到'2007-02-02'选择日期。当前日期列属于“字符”类。
Date
1 16/12/2006
2 16/12/2006
3 16/12/2006
4 16/12/2006
5 16/12/2006
6 16/12/2006
我尝试了以下操作:1. as.Date(a $ Date)以“ 0016-12-20”格式返回日期2. a [a $ Date> ='2007-02-01'&a $ Date <='2007-02-01']返回具有0个变量的所有行3. strptime(a $ Date,'%d%b%Y')返回NA值
将日期转换为日期类和子集:
df$Date <- as.Date(df$Date, '%d/%m/%Y')
subset(df, Date >= as.Date('2007-02-01') & Date <= as.Date('2007-02-02'))
您也可以使用:
library(dplyr)
df %>%
mutate(Date = lubridate::dmy(Date)) %>%
filter(Date >= as.Date('2007-02-01') & Date <= as.Date('2007-02-02'))
我们可以使用anydate
中的anytime
library(dplyr)
library(anytime)
df %>%
mutate(Date = anydate(Date)) %>%
filter(Date >= as.Date('2007-02-01') & Date <= as.Date('2007-02-02'))