## choose eigenvalues such that R is NPD
l <- c(3.0749126, 0.9328397, 0.5523868, 0.4408609, -0.0010000)
## Generate NPD R
R <- genCorr(eigenval = l, seed = 123)
print(eigen(R)$values)
#> [1] 3.0749126 0.9328397 0.5523868 0.4408609 -0.0010000
## Smooth R
Rsm<-corSmooth(R, eps = 1E8 * .Machine$double.eps)
print(eigen(Rsm)$values)
#> [1] 3.074184e+00 9.326669e-01 5.523345e-01 4.408146e-01 2.219607e-08
Run the code above in your browser using DataLab