Можно ли прочитать .Rdata формат файла из C или Fortran?

Я работаю над написанием некоторых расширений R на C (функции C, которые будут вызываться из R).

Мой код должен вычислять статистику, используя 2 разных набора данных одновременно, и мне нужно выполнить это со всеми возможными комбинациями пар. Затем мне нужна вся эта статистика (очень большие массивы), чтобы продолжить вычисления на стороне C. Эти файлы очень большие, обычно ~ 40 ГБ, и это моя проблема.

Чтобы сделать это на C, вызываемом R, сначала мне нужно загрузить все наборы данных в R, чтобы передать их, а затем на вызов функции C. Но в идеале можно сохранить только 2 из этих файлов в памяти одновременно, следуя последовательности, если бы я мог получить доступ к наборам данных из C или Fortran напрямую:

open  file1 - open file2 - compute cov(1,2)
close file2
hold  file1 - open file3 - compute cov(1,3)
... // same approach

Это нормально для R, потому что я могу загружать / выгружать файлы, но при вызове C или Fortran у меня нет никакого механизма для загрузки / выгрузки файлов. Итак, мой вопрос,я могу читать файлы .Rdata непосредственно из Fortran или C, имея возможность открывать / закрывать их? Любые другие подходы к проблеме?

Насколько я прочитал, ответ - нет. Итак, я подумываю перейти с Rdata на HDF5.

Ответы на вопрос(1)

Ваш ответ на вопрос