Как вы можете использовать некоторую функцию, написанную на C из уровня R, используя данные R. например. использовать функции, как:Как вызвать функцию C из R?
double* addOneToVector(int n, const double* vector) {
double* ans = malloc(sizeof(double)*n);
for (int i = 0; i < n; ++i)
ans[i] = vector[i] + 1
return ans;
}
в контексте:
x = 1:3
x = addOneToVector(x)
x # 2, 3, 4
Пакет "инлайн", также, удобна в этом контексте: 'AddOne = инлайн :: cfunction (sig = c (n = "integer", vector = "numeric"), body = 'for (int i = 0; i <* n; ++ i) vector [i] + = 1.0;', convention = " .C ")', а затем 'addOne (length (x), as.double (x)) $ vector'. –