# NOT RUN {
op <- par(no.readonly = TRUE)
set.seed(1)
### Generate a set of data with 5 non-Gaussian components
### and 20 noise (Gaussian) components. The non-Gaussian
### components are cubed Gaussian, exponential, uniform,
### t3 and bimodal Gaussian mixture.
errdim = 10
ndat = 2000
X = cbind(rnorm(ndat)^3/5, rexp(ndat), runif(ndat)*sqrt(12)*2, rt(ndat, 3),
c(rnorm(ndat/2), rexp(ndat/2)+2), matrix(rnorm(errdim*ndat), ncol = errdim))
### Generate a random mixing matrix and mixed data XX
R = matrix(rnorm((5+errdim)*(5+errdim)), ncol = 5+errdim)
XX = X%*%R
### Apply fk_ICA to XX to extract components.
### Note that ordering of extracted components is
### in some sense arbitrary w.r.t. their generation
model <- fk_ICA(XX, ncol(XX))
par(mfrow = c(1, 5))
for(i in 1:5) plot(density(model$S[,i]))
par(op)
# }
Run the code above in your browser using DataLab