Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R根据日期值对大数据帧进行子集设置_R_Date_Subset_Lubridate_Chron - Fatal编程技术网

R根据日期值对大数据帧进行子集设置

R根据日期值对大数据帧进行子集设置,r,date,subset,lubridate,chron,R,Date,Subset,Lubridate,Chron,具有以下结构的数据帧:“data.frame”:4371 obs。共有6个变量: "$ tg : num 0.0403 0.0404 0.0404 0.0404 0.0405 ... $ date : Factor w/ 4371 levels "2/20/2020 10:00",..: 841 842 843 844 845 846 847 848 849 850 ... $ lgp_bar: int 497 497 497 497 497

具有以下结构的数据帧:“data.frame”:4371 obs。共有6个变量:

 "$ tg     : num  0.0403 0.0404 0.0404 0.0404 0.0405 ...
 $ date   : Factor w/ 4371 levels "2/20/2020 10:00",..: 841 842 843 844 845 846 847 848 849 850 ...
 $ lgp_bar: int  497 497 497 497 497 497 497 497 494 494 ...
 $ lgt    : num  87.8 87.8 87.8 87.8 87.8 ...
 $ ugp_bar: int  451 451 451 451 451 451 451 450 447 447 ...
 $ ugt    : num  71.9 71.9 71.9 71.9 71.9 ..."
我必须在一些日期之间对该数据框进行子集划分,例如从2020年2月24日17:00到2020年2月26日02:00 是使用dtaes数据类型的新手。我不能做这个简单的任务。我尝试了以下代码,但没有成功。直觉上,在excel电子表格中完成此任务需要2分钟

humm<-read.csv("book1.csv", header = TRUE); 
humm$datenumber<-as_datetime(humm$date)
dts<-as.character(cbind("02/22/2020 02:00","02/23/20 10:00"))

hummfilter <- subset(humm, humm$date >= dts[1]) # || date <= dts[2])

hummfilter<-as.data.frame(humm[humm$date>=dts[1]|humm$date<=dts[2],],na.rm=TRUE)

humm您可以将
date
列转换为
POSIXct
,然后将
子集转换为

您可以使用base R执行此操作:

humm$date <- as.POSIXct(humm$date, format = '%m/%d/%Y %H:%M')
subset(humm, date >= as.POSIXct('02/24/2020 17:00', format = '%m/%d/%Y %H:%M', tz = 'GMT') & 
             date <= as.POSIXct('02/26/2020 02:00', format = '%m/%d/%Y %H:%M', tz = 'GMT'))
library(dplyr)
library(lubridate)

humm %>%
  mutate(date = mdy_hm(date)) %>%
  filter(between(date, mdy_hm('02/24/2020 07:00'), mdy_hm('02/26/2020 02:00')))