https://github.com/cran/robCompositions
Tip revision: 2ad963b97009de7f1bf46c5da8604388c2c67d05 authored by Matthias Templ on 27 February 2013, 09:44:32 UTC
version 1.6.3
version 1.6.3
Tip revision: 2ad963b
robCompositions.c
#include <R.h>
#include <math.h>
void da(double *matOrig, double *matImp, int *dims, double *rowDists, double *distance) {
int rows = dims[0];
int cols = dims[1];
/* double result; */
/* int N = rows * cols; */
int i, j, k;
/* float erg; */
/*Fuer alle Zeilen */
for (i=0; i < rows; i++) {
rowDists[i] = 0.0;
/* ueber die entsprechenden Spalten */
for (j=(i*cols); j < (i*cols)+cols-1; j++) {
for (k=j+1; k < (i*cols)+cols; k++){
rowDists[i] = rowDists[i] + pow((log(matOrig[j]/matOrig[k]) - log(matImp[j]/matImp[k])),2);
}
}
/* Gesamtdistanz aufsummieren */
distance[0] = distance[0] + sqrt(rowDists[i]/cols);
}
/*result = distance[rows];
return result; */
/* return distance[rows]; das funkt leider nicht, brauche nur einen Wert zurueckgeben! */
}