# Create functional data with outliers
set.seed(42)
t <- seq(0, 1, length.out = 50)
X <- matrix(0, 30, 50)
for (i in 1:28) X[i, ] <- sin(2*pi*t) + rnorm(50, sd = 0.2)
X[29, ] <- sin(2*pi*t) + 2 # Magnitude outlier
X[30, ] <- cos(2*pi*t) # Shape outlier
fd <- fdata(X, argvals = t)
# Detect outliers
out <- outliers.boxplot(fd)
print(out)
Run the code above in your browser using DataLab