Включать файлы R?

#r

#r

Вопрос:

Возможно ли использовать включаемые файлы в R, как в большинстве языков программирования, например C?

Комментарии:

1. Будьте осторожны с искажением имен переменных!

Ответ №1:

Использовать source и /или sys.source .

Комментарии:

1. Как в: source(file="filename.r") или просто source("filename.r")

2. Обратите внимание, что source() выполняет команды в указанном файле, он не просто вставляет содержимое этого файла (как PHP include) во включающий файл.

3. Проблема с этим подходом заключается в том, что расположение файла затем должно быть жестко запрограммировано, что не работает при разработке пакетов. Я попробовал следующую часть магии, чтобы определить местоположение текущего R-скрипта, относительно которого можно определить местоположение включаемого файла. Это работает само по себе, но не работает, когда код превращается в пакет: frame_files <- lapply(sys.frames(), function(x) x$ofile); frame_files <- Filter(Negate(is.null), frame_files); PATH <- dirname(frame_files[[length(frame_files)]])

4. @Contango Тогда как вставить содержимое, например, в PHP?

Ответ №2:

Для полноты картины, включая примечания:

При этом будут выполняться команды в файле, поэтому будьте осторожны с этим.

 source("my_file.r")
  

или

 source(file="my_file.r")