从R中的列中选择日期范围

问题描述 投票:0回答:2

我在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值

r dataframe date datetime datatable
2个回答
0
投票

将日期转换为日期类和子集:

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'))

0
投票

我们可以使用anydate中的anytime

library(dplyr)
library(anytime)
df %>%
     mutate(Date = anydate(Date)) %>%
    filter(Date >= as.Date('2007-02-01') & Date <= as.Date('2007-02-02'))
© www.soinside.com 2019 - 2024. All rights reserved.