[Rcpp-devel] sugar: x+y and y+x gives different results when there are NA's in y

Romain Francois romain at r-enthusiasts.com
Sat Nov 22 13:25:25 CET 2014


This has nothing to do with NA. It's just about the size difference. sugar does not make attempt at recycling. Your responsibility. 

Romain

> Le 22 nov. 2014 à 11:48, Søren Højsgaard <sorenh at math.aau.dk> a écrit :
> 
> Dear all,
> Came across this:
> 
> #include <Rcpp.h>
> using namespace Rcpp;
> 
> //[[Rcpp::export]]
> List  sumxy(NumericVector x, NumericVector y){
>  NumericVector xy = x+y;
>  NumericVector yx = y+x;
>  return List::create(xy, yx);
> }
> 
> /*** R
> x <- c(1,3,5,7)
> y <- c(NA,2,4,6,8)
> x+y
> y+x
> sumxy(x, y)
> */
> 
>> x <- c(1,3,5,7)
>> y <- c(NA,2,4,6,8)
>> x+y
> [1] NA  5  9 13  9
>> y+x
> [1] NA  5  9 13  9
>> sumxy(x, y)
> [[1]]
> [1] NA  5  9 13
> [[2]]
> [1] NA  5  9 13  8
> 
> Is this intentional? Apologies if this has been documented anywhere; was unable to find it.
> 
> Regards
> Søren
> 
> 
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel



More information about the Rcpp-devel mailing list