2015-11-18 22 views
0

以下是我的數據集示例,保存爲csv文件。是否可以提取它們並根據指定的時間範圍保存爲多個csv文件?根據指定的時間段提取並保存爲csv文件

例如:

指定的時間框架爲:

白天:07:30(同日)至20:30(同日) 夜間:21:30(同日)至06: 30(下個日期)。

提取後,數據集另存爲根據此文件名格式的CSV文件: 白天:「日期」天 白天:「日期」 - 夜間

「日期」是從時間戳的日期。

感謝您的幫助。

timestamp c3.1 c3.2 c3.3 c3.4 c3.5 c3.6 c3.7 c3.8 c3.9 c3.10 c3.11 c3.12 
8/13/15 15:43 1979.84 1939.6 2005.21 1970 1955.55 1959.82 1989 2001.12 2004.38 1955.75 1958.75 1986.53 
8/13/15 15:44 1979.57 1939.64 2005.14 1970.4 1956.43 1958.56 1989.7 2000.78 2004.53 1954.9 1959.76 1986.18 
8/13/15 15:45 1979.32 1938.92 2004.52 1970.21 1955.75 1960.12 1989.07 2001.47 2003.7 1955.32 1958.94 1985.79 
8/13/15 15:46 1979.33 1939.7 2004.66 1971.25 1955.89 1958.27 1989.24 2000.86 2003.92 1955.29 1959.25 1985.49 
+0

使用'read.csv()',子集數據幀分成兩個時間框架,然後用'write.csv()'得到它退出到磁盤。 –

+0

什麼是數據幀到兩個時間幀的子集? –

+0

你想每天,每天都有兩個文件嗎?在Excel中執行此操作可能會更容易。 –

回答

0

假設dat是您的數據:

## The date-time format in the data set 
format <- "%m/%d/%y %H:%M" 

## Convert date-time to POSIXct 
timestamp <- as.POSIXct(dat$timestamp, format = format) 

## First and last dates in the data 
first <- as.Date(min(timestamp)) 
last <- as.Date(max(timestamp)) 
## The start of day and night timeframes 
start.day <- paste(first, "07:30") 
start.night <- paste(first - 1, "20:30") ## first night timeframe starts the day before 
end <- paste(last + 1, "20:30") 

## The breakpoints, assuming that day is 7:30-20:30 and nigth 20:31-7:29 (i.e. no missing records) 
breaks <- sort.POSIXlt(c(seq.POSIXt(as.POSIXct(start.day), as.POSIXct(end), by= "day"), 
         seq.POSIXt(as.POSIXct(start.night), as.POSIXct(end), by= "day"))) 
## The corresponding labels 
labels <- head(paste0(as.Date(breaks), c("-night", "-day")), - 1) 

## Add column with timeframe 
dat$timeframe <-cut.POSIXt(timestamp, breaks = breaks, labels = labels) 


## Save csv files 
for(x in levels(dat$timeframe)) { 
    subset <- dat[dat$timeframe == x, ] 
    subset$timeframe <- NULL ## Remove the timeframe column 
    if(nrow(subset) > 0) write.csv(subset, file = paste0(x, ".csv")) 
} 
相關問題