【发布时间】:2013-02-20 22:53:12
【问题描述】:
我有一个数据,它有两个参数,它们是数据/时间和流量。流量数据为间歇流量。假设有时流量为零,突然流量开始,一段时间内会有非零值,然后流量将再次为零。我想了解非零值何时出现以及每个非零流持续多长时间。我已在此位置附加示例数据集https://www.dropbox.com/s/ef1411dq4gyg0cm/sampledataflow.csv
数据为 1 分钟数据。
我能够将数据导入 R,如下所示:
flow <- read.csv("sampledataflow.csv")
summary(flow)
names(flow) <- c("Date","discharge")
flow$Date <- strptime(flow$Date, format="%m/%d/%Y %H:%M")
sapply(flow,class)
plot(flow$Date, flow$discharge,type="l")
我绘制了图表来查看分布,但无法找到从哪里开始获取每个非零值的频率的线索。我希望看到如下输出表:
Date Duration in Minutes
如果我在这里不清楚,请告诉我。谢谢。
其他信息:
我认为我们需要先检查非零值,然后在它再次达到零值之前连续找到多少个非零值。我想了解的是流量释放持续时间。例如。一天之内可能会有多个版本,我想指出版本是从什么时间开始的,以及它在达到零值之前持续了多长时间。我希望这能更好地解释这个问题。
【问题讨论】:
-
运行长度编码使用
rle?例如rle(flow$discharge)? -
您的数据仅包含 33k 个奇数值。剩下的有
Timestamp=""和flow = NA -
Arun,这只是一个示例,我还没有上传所有数据。实际上,我有大约 230k 数据。我在原始帖子中添加了其他信息。
标签: r