<p>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, cross-product and number of elements. </p>

<div class="gmail_quote">On Oct 9, 2012 9:53 AM, "<a href="mailto:mateusz.kaduk@gmail.com">mateusz.kaduk@gmail.com</a>" <<a href="mailto:mateusz.kaduk@gmail.com">mateusz.kaduk@gmail.com</a>> wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br><br>I have written small code in C++ using Armadillo and inline with RcppArmadillo package. <br>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)<br>
<br>
I am calculating conditional correlation on columns of that matrix, just picking vectors, so cor(X,Y).<br>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.<br>

<br>Basically my question boils down to solving the problem:<br>How to find which colvec cells are nan, and remove this index from both X and Y colvec, before calculating correlation.<br><br>I would be very grateful for help,<br>

<br>Kind regards,<br>Mateusz Kaduk<br>
<br>_______________________________________________<br>
Rcpp-devel mailing list<br>
<a href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a><br></blockquote></div>