#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")