Часть структуры моего проекта выглядит так:
\projects\project\main.R
\projects\project\src
, где \src
содержит набор функций, зависящих от проекта, по 1 функции на файл.
В: Какой лучший способ добавить эти функции в рабочий каталог projects\project
?
Я вижу несколько решений:
attach("./src")
. Я пытаюсь избежать этого, потому что (1) Google Styleguide рекомендует избегать использования attach()
и (2) я получаю
Warning messages:
1: Reading Unix style database directory (./tmp) from Splus on Windows: may
have problems finding some datasets, especially those whose names
differ only by case (file tmp-script1.ssc should not have been made by
Splus on Windows) in: exists(name, where = db)
при этом.
lapply(paste("./src/",list.files("./src/"),sep=""),source)
. Это прекрасно работает, просто кажется неуклюжим. Должен быть лучший способ, верно?
Обратитесь к моим функциям по их полному имени ./src/myfunc
. Это станет очень быстро. Я уверен, что есть лучший способ.
Избавьтесь от части ./src
моего каталога и просто добавьте все функции в основной рабочий каталог. Проблема в том, что я предпочел бы сохранить структуру каталогов, близкую к структуре ProjectTemplate
Бросьте все функции в один файл, ./src/func.R
и отправьте его. Я полагаю, что такой подход позволяет избежать уродства "2". выше, но мне бы очень хотелось иметь одну функцию на файл. Просто кажется чище таким образом.