我有代表我的机器行为的数据点。我想检测更改点。
首先:我的R脚本成功运行,以找到包含一台机器(对象)的数据的更改点。
library("changepoint")
Onecpt = cpt.mean(df$prob)
summary(Onecpt)
现在我的数据包括多台计算机,如何在这些计算机上运行该功能,然后我可以分别为每台计算机做摘要,这是我希望脚本看起来像的样子,但是当然不起作用:
df <- read_excel("C:..../changepoint/Data.xlsx" , "SHEET")
cpt_function <- function(dataset) {
#you implement this using whatever method you want
model <- cpt.mean(df$success,method="PELT",penalty="Manual",pen.value="2*log(n)")
return(model)
}
results <- by(df, df$machine_id, cpt_function)
我的主要目标是在运行cpt.mean主要功能后对每个功能执行摘要功能,如下所示:
summary(results$`16915976`)
但是,我在数据中获得了所有计算机的更改点,不仅是machine_id =16915976。
答案 0 :(得分:0)
我使用df
代替了函数参数dataset
。所以应该是
model <- cpt.mean(dataset$prob,method="PELT",penalty="Manual",pen.value="2*log(n)")