R语言获取特定时间段的数据

本文介绍了两种使用R语言从CSV文件中筛选特定日期范围数据的方法。第一种方法通过正则表达式来匹配指定日期区间的记录,并计算这些记录中特定列的平均值;第二种方法利用POSIXct和interval包来实现更精确的时间段筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取特定时间段的表格数据方法:

1. 方法一:正则表达式
data <- read.csv('F:/data.csv')
date <- as.Date(data$Date)
#获取2018-3-1到2018-3-10之间的第3-5列数据
subT <- date[(format(date,format = "%Y")=="2018"&as.numeric(format(date,format =             
      "%m"))=="3" &as.numeric(format(date,format = "%d"))>=1&as.numeric(format(date,format 
      = "%d"))<=10),3:5]
#对2018-3-1到2018-3-10之间第3-5列的数据进行按列求平均值
mean <-  apply(subT,2, mean)

2. 方法二:
date1 <- as.POSIXct(paste("2018-3-1","08:00:00"))
date2 <- as.POSIXct(paste("2018-3-1","17:00:00"))
int <- interval(date1, date2)
#获取2018-3-1 08:00:00到2018-3-1 17:00:00之间的第3-5列数据
subT <- data[ymd_hms(data$Date) %within% int,3:5]


注意:1. within判断数据是否在该时间段之内,其中包括起始时间,不包括末尾时间。

            2.paste0(num_year[y],'_',m,'_1')  实现字符串的合并,其中m,num_year[y]为变量。

               paste拼接时有空格,paste0无空格

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值