@ JorisMeys snowfall и другие не предлагают именно эту функциональность.
снегопад использует sfExport (из clusterFunctions.R в снегопаде) для экспорта локальных и глобальных объектов в подчиненные узлы, а это, в свою очередь, использует sfClusterCall, который является оболочкой для функции clusterCall из снега.
res <- sfClusterCall( assign, name, val, env = globalenv(),
stopOnError = FALSE )
И библиотека снега загружается на клиентов, которые справляются с любыми проблемами пространства имен, как я уже упоминал в последнем предложении моего вопроса. Я бы не хотел загружать пространство имен там.
Более того, кажется, что сделаны упрощенные предположения, такие как то, что узлы будут иметь общую точку монтирования NFS для общих данных (например, функция sfSource в clusterFunctions.R).
Меня больше интересует что-то вроде случая, когда узел сохраняет файл .Rdata, затем отправляет его в другой узел, которому не нужно загружать пространство имен пакета.
Кажется, сейчас я могу решить исходную проблему, используя eval.parent и подставив:
assign(".GLOBAL.FUN",
eval.parent(substitute(function(y) { FUN(y, ...) })),
env=.GlobalEnv)
Я прошу прощения за публикацию snafu, но у меня нет ссылки на редактирование, хотя я разместил этот вопрос, и нет места для меня, чтобы оставить «комментарий» так же, как у меня есть это большое текстовое поле для ответ. Я пометил это для модерации, чтобы я мог получить некоторую помощь в этом и сослался на FAQ, в котором говорится о кнопках, которые не отображаются для меня, чтобы оставлять комментарии. Возникла проблема с этой новой учетной записью.