Gibt es eine Grenze für die Arbeit mit Matrix in R mit Rcpp?

Ich habe versucht, ein Programm in R zu entwickeln, um eine Spearman-Korrelation mit Rcpp abzuschätzen. Ich habe es getan, aber es funktioniert nur mit einer Matrix mit einem Bereich von weniger als 45 00 - 50 000 Vektoren. Ich weiß nicht warum, aber es funktioniert nur mit dieser Dimension. Ich nehme an, dass es bei dieser Art von Informationen Grenzen gibt, vielleicht, wenn ich sie wie einen Datenrahmen bearbeite. Ich würde mich sehr freuen, wenn mir jemand Einblick gibt.

Hier poste ich meinen Code. Ich habe versucht, die maximale Ganzzahl, die ich "Nenner" nenne, zu begrenzen, die sie überschreitet. Vielleicht könntest du mir helfen.

cppFunction('double spearman(NumericMatrix x){
 int nrow = x.nrow(), ncol = x.ncol();
 int nrow1 = nrow - 1;
 double out = 0;
 double cont = 0;
 double cont1 = 0;
 double r = 0;
 int denominador = ncol*(pow(ncol,2.0)-1)

 for(int i = 0; i < nrow1; i++){
 #Here i use every combination of vectors starting with the first one, and so on
  for(int j = i +1; j < nrow; j++){
   cont1 = 0;
   for(int t = 0; t < ncol; t++){
    cont = pow(x(i,t)-x(j,t), 2.0);
    cont1 += cont;
   }
   #Here i begin to store the mean correlation, in order to a final mean of all the possible correlations
   r = 2*(1-6*(cont1/denominador))/(nrow*nrow1);
   out += r;
  }
 }
 return out;
}')

Antworten auf die Frage(4)

Ihre Antwort auf die Frage