1. 程式人生 > >R語言獲取特定時間段的資料

R語言獲取特定時間段的資料

獲取特定時間段的表格資料方法:

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無空格