[Rcppdevel] Correlation in ArmadilloRcpp with missing values (nan)
Dirk Eddelbuettel
edd at debian.org
Tue Oct 9 17:37:56 CEST 2012
On 9 October 2012 at 10:08, Douglas Bates wrote:
 You may find it easier to use the Rcpp class NumericMatrix than to use
 RcppArmadillo. Detection of NA's is built in to R and Rcpp classes but not
 RcppArmadillo. For each pair of columns, run a loop that checks for NA's at
 each position in each column, skips the position if NA's are detected and
 otherwise increments the squared sums, crossproduct and number of elements.
All true, but at the same time, once in RcppArmadillo or RcppEigen ... it is
convenient to stay there.
You should be able to set up a little "sweeper" function which applies one of
R_IsNA just NA
R_IsNaN just NaN
R_IsFinite NA, NaN or Inf
across a vector or matrix and returns you an index vector. Armadillo can use
indexing vectors in ways that are similar in R.
Dirk

 On Oct 9, 2012 9:53 AM, "mateusz.kaduk at gmail.com" <mateusz.kaduk at gmail.com>
 wrote:

 Hi,

 I have written small code in C++ using Armadillo and inline with
 RcppArmadillo package.
 The input is data.marix(X). Some cells might be NAs. Example in R: X =
 matrix(sample(c(rnorm(10*9.9),NA)),ncol=10)

 I am calculating conditional correlation on columns of that matrix, just
 picking vectors, so cor(X,Y).
 The problem is that sometimes I might have empty cell in one or both
 vectors, in that case I would like to skip that row, and procede with
 calculating Pearson's correlation on remaining data. I know that there will
 be difference in degrees of freedom, but I have over 100 rows, so skiping
 few shouldnt matter that much.

 Basically my question boils down to solving the problem:
 How to find which colvec cells are nan, and remove this index from both X
 and Y colvec, before calculating correlation.

 I would be very grateful for help,

 Kind regards,
 Mateusz Kaduk

 _______________________________________________
 Rcppdevel mailing list
 Rcppdevel at lists.rforge.rproject.org
 https://lists.rforge.rproject.org/cgibin/mailman/listinfo/rcppdevel


 
 _______________________________________________
 Rcppdevel mailing list
 Rcppdevel at lists.rforge.rproject.org
 https://lists.rforge.rproject.org/cgibin/mailman/listinfo/rcppdevel

Dirk Eddelbuettel  edd at debian.org  http://dirk.eddelbuettel.com
More information about the Rcppdevel
mailing list