diff options
Diffstat (limited to 'R/R/pca.R')
-rw-r--r-- | R/R/pca.R | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/R/R/pca.R b/R/R/pca.R new file mode 100644 index 0000000..85782e4 --- /dev/null +++ b/R/R/pca.R @@ -0,0 +1,18 @@ +pca <- function(x, k=1,q=0.5){ + n <- nrow(x) + d <- ncol(x) + B <- matrix(0, n, k) + U <- matrix(0, d, k) + l <- 0 + + res <- .C("pca_wrapper", + n=as.integer(n), + d=as.integer(d), + q=as.numeric(q), + k=as.integer(k), + X=as.numeric(t(x)), + B=as.numeric(B), + U=as.numeric(U), + l=l) + list(B=matrix(res$B,n,k,T),U=matrix(res$U,d,k,T), Y=matrix(res$X,n,d,T), l=res$l) +} |