基于R语言的水文小时流量数据事件分离代码改写求助
小时尺度流量数据生成代码示例
替代日尺度的可行代码
直接使用POSIXct类型处理含小时的时间序列,同时避免手动计算数据长度的错误:
# 先生成小时级时间序列 time_seq <- seq( from = as.POSIXct("01.01.2000 00:00", format = "%d.%m.%Y %H:%M"), to = as.POSIXct("01.01.2004 00:00", format = "%d.%m.%Y %H:%M"), by = "hour" ) # 生成对应长度的流量数据并组合为数据框 hourlyMQ <- data.frame( DateTime = time_seq, discharge = rbeta(length(time_seq), 2, 20) * 100 )
关键注意事项
- 时间类型替换:将
as.Date改为POSIXct,才能支持包含小时的时间戳;格式字符串需加入%H:%M来匹配小时分钟格式。 - 数据长度匹配:通过
length(time_seq)直接获取时间序列的长度,作为rbeta的样本数量,避免手动计算小时数出现的误差。 - 步长设置:将序列步长
by从"days"改为"hour",生成每小时的时间点。
内容的提问来源于stack exchange,提问作者Manpreet Kaur
相关产品推荐
相关产品推荐

