R:对数据集中的多个对象运行功能

时间:2019-02-17 22:40:10

标签: r

我有代表我的机器行为的数据点。我想检测更改点。

首先:我的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。

1 个答案:

答案 0 :(得分:0)

我使用df代替了函数参数dataset。所以应该是

model <- cpt.mean(dataset$prob,method="PELT",penalty="Manual",pen.value="2*log(n)")