1
我是R新手,所以如果這是一個基本問題,我很抱歉。我有一個12k天的河流高度數據。當河流> 28英尺時,我已經制作了一個過濾器。但是現在我想將這個過濾後的df分成一個列表,當連續x天的河流長度大於28英尺時。例如,如果河流在20天內> 28英尺,我希望將它們組合在一起。如何按R中的某一行的日期列出一個列表?
library(dplyr)
RawData <- read.csv("c:/Users/Anthony/Desktop/R/CSVRiverData.csv")
RiverData <- cbind(data.frame(as.Date(RawData$Row.Labels, format = "%m/%d/%Y")),
RawData$Average.of.height)
colnames(RiverData) <- c("Date","RiverHeight")
Filt_River_Data <- filter(RiverData,RiverData$RiverHeight >28)
Date_Diff <- data.frame(Filt_River_Data$Date - lag(Filt_River_Data$Date, 1L))
請參閱'?rle'。有時,竊取'data.table :: rleid'是很有用的,例如, 'RiverData%>%group_by(days_above_28 = data.table :: rleid(RiverHeight> 28))%>%filter(RiverHeight> 28,n()> 20)'還要注意,你不應該使用'$'subsetting in dplyr動詞;只需直接引用該變量,並知道要查看通過它的數據框。 – alistaire