У меня есть данные, которые представляют поведение моих машин.Я хотел бы обнаружить точку изменения.
Первое: мой сценарий 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.