If you would like do pre-cluster and find mean and covariance for noise prediction, you can do so using mixtools
as follows:
require(mixtools)
out <- mvnormalmixEM(df, lambda = NULL, mu = NULL, sigma = NULL, k = 4,
arbmean = TRUE, arbvar = TRUE, epsilon = 1e-08, maxit = 10000, verb = FALSE)
out$mu
out$sigma out$mu
[[1]]
[1] 10.03088 29.73584
[[2]]
[1] 23.25702 30.02964
[[3]]
[1] 34.92314 29.87429
[[4]]
[1] 59.86794 29.77950
out$sigma
[[1]]
[,1] [,2]
[1,] 0.9130767 -0.2981406
[2,] -0.2981406 7.4559937
[[2]]
[,1] [,2]
[1,] 100.751791 -1.319039
[2,] -1.319039 12.157087
[[3]]
[,1] [,2]
[1,] 0.9950905 0.7062686
[2,] 0.7062686 8.8444094
[[4]]
[,1] [,2]
[1,] 1.0882691 -0.4201116
[2,] -0.4201116 9.4550932