user2149631 - 10 months ago 71

R Question

I have a large p (~20K) and small n (~500) problem. The first thing I was thinking is dimension reduction. After trying PCA, robust PCA, ICA, removing highly correlated features, I was thinking to use Random Projection. However, there is no simple R implementation of Random Projection.

I have found a few random projection R packages, like

- MCLUST: https://cran.r-project.org/web/packages/mclust/index.html
- RPEnsemble: https://cran.r-project.org/web/packages/RPEnsemble/index.html

But, it seems that they don't support random projection directly for dimension reduction. I have limited knowledge about random projection, but I found two functions in sklearn support this:

Gaussian random projection and Sparse random projection:

http://scikit-learn.org/stable/modules/random_projection.html

And it has pretty simple function interface. Are there any similar implementation to do dimension reduction with Random Projection in R?

Answer Source

I concur that the `RPEnsemble`

package doesn't seem to expose the low-level methods that would allow you to use only that feature in any convenient form.

I did however come across this R source code which seems fairly straight-forward and reasonably documented: R source code for random projections. This is part of the clusterv package and you can download it there.