I am not sure if there are native functions in Rcpp but you could use RcppArmadillo to solve your problem.<div><br></div><div>So say Xs = x:</div><div><br></div><div>// Convert from SEXP =&gt; Rcpp =&gt; Arma</div><div>Rcpp::NumericMatrix Xr(Xs);</div>

<div>arma::mat X(Xr.begin(), Xr.nrow(), Xr.ncol(), false);</div><div><br></div><div>// Get subset of matrix and calculate variance</div><div>// (i.e., do var(x[3:10,5]))</div><div>arma::var( X.submat(3, 10, 5, 5) );</div>

<div><br></div><div>The armadillo docs are really nice so you can see those for more info on the var and submat functions.</div><div><br></div><div>Cheers</div><div>Zarrar<br><br><div class="gmail_quote">On Wed, Sep 21, 2011 at 12:16 AM, Noah Silverman <span dir="ltr">&lt;<a href="mailto:noahsilverman@ucla.edu">noahsilverman@ucla.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">Hello,<div><br></div><div>I want to calculate the variance of a subset of a matrix column.</div>

<div><br></div><div>For example, if I wanted the variance of items 3-10 in column 5.</div><div><br></div><div>In R, this would be:</div><div><br></div><div>x &lt;- matrix(rnorm(100), nrow=10, ncol=10)</div><div>varx &lt;- var(x[3:10,5])</div>

<div><br></div><div>In Rcpp, I can construct a matrix object Rcpp::NumericMatrix x</div><div>The var function is available thanks to the great Sugar implementation</div><div><br></div><div>But, how can I easily reference a subset of a column to calculate the variance?</div>

<div><br></div><div>Ideas?</div><div><br></div><font color="#888888"><div><br><div>
<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div style="word-wrap:break-word">

<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div style="word-wrap:break-word">

<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div style="word-wrap:break-word">

<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div style="word-wrap:break-word">

<div><div>--</div><div>Noah Silverman</div><div>UCLA Department of Statistics</div><div>8117 Math Sciences Building #8208</div><div>Los Angeles, CA 90095</div></div></div></span></div></span></div></span></div></span></span>
</div>
<br></div></font></div><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><br></div>