【发布时间】:2021-03-13 15:04:48
【问题描述】:
我有时间序列,需要找到超过阈值的值集群并将该集群绘制在单独的图上。
我的代码示例。不幸的是,我不知道如何生成良好的聚类值。
#generate sample data
Sys.setlocale("LC_ALL","English")
set.seed(8)
Values <- sample(0:100,24241, replace = T)
Values <- rpois(24241, lambda=60)
start <- as.POSIXct("2012-01-15 06:10:00")
interval <- 15
end <- start + as.difftime(4, units="days") + as.difftime(5, units = "hours")
DateTimes <- seq(from=start, by=interval, to=end)
my_data_sample <- tibble(datetime = DateTimes, Value = Values)
threshold <- 82
ggplot(data = my_data_sample, aes(x = datetime, y = Value)) +
geom_line(size = 1, color = "darkgreen") +
geom_hline(yintercept=threshold, linetype="dashed", color = "red") +
theme_bw() +
labs(
x= "" ,
y = "",
title = paste("Threshold:", threshold )
) +
scale_x_datetime(date_breaks = "8 hour", labels = date_format("%b %d - %H:%M")) +
theme(axis.text.x = element_text(angle = 25, vjust = 1.0, hjust = 1.0))
这是我需要的:
我需要找到超过阈值的值集群 - 连续或彼此接近,使用以秒为单位的集群长度(最长集群)或值总和(最强大的集群)对集群进行排序,并绘制当时的前 3 个不同的地块上的周期。
有什么建议吗?
【问题讨论】:
标签: r ggplot2 cluster-analysis outliers