Skip to contents

detect_mean() and fastcpd.mean() are wrapper functions of detect() to find the mean change. The function is similar to detect() except that the data is by default a matrix or data frame or a vector with each row / element as an observation and thus a formula is not required here.

Usage

detect_mean(data, ...)

fastcpd_mean(data, ...)

fastcpd.mean(data, ...)

Arguments

data

A matrix, a data frame or a vector.

...

Other arguments passed to detect(), for example, segment_count.

Value

A fastcpd object.

See also

Examples

set.seed(1)
data <- matrix(c(
  rnorm(300, mean = 0, sd = 10),
  rnorm(400, mean = 50, sd = 10),
  rnorm(300, mean = 2, sd = 10)
))
system.time(result <- detect_mean(data))
#>    user  system elapsed 
#>   0.002   0.000   0.002 
summary(result)
#> 
#> Call:
#> detect_mean(data = data)
#> 
#> Change points:
#> 300 700 
#> 
#> Cost values:
#> 124.2113 197.0938 154.3416 
#> 
#> Parameters:
#>   segment 1 segment 2 segment 3
#> 1 0.3358428  49.42092  2.047991
plot(result)

set.seed(1)
p <- 3
data <- rbind(
  matrix(rnorm(p * 3e+5, mean = 0, sd = 10), ncol = p),
  matrix(rnorm(p * 4e+5, mean = 50, sd = 10), ncol = p),
  matrix(rnorm(p * 3e+5, mean = 2, sd = 10), ncol = p)
)
system.time(result <- detect_mean(data, cp_only = TRUE))
#>    user  system elapsed 
#>   0.285   0.235   0.263 
summary(result)
#> 
#> Call:
#> detect_mean(data = data, cp_only = TRUE)
#> 
#> Change points:
#> 3e+05 7e+05