In each project, you can write R files in the Library editor. The project’s library editor is available by going into the “Code” universe (orange), and selecting the “Libraries” tab.
You can then write code under a “R source” folder, i.e. a folder that has the “R” icon associated to it.
Each time you want to use the functions defined in these R files, you need to use the dkuSourceLibR function, which uses the source feature of R to import the functions in the global namespace.
For example if you wrote a file “miscfuncs.R” that contains a do_awesome_stuff() function, you can use:
By default, the Library editor contains two top-level folders, “python” and “R”, which are respectively the root folder for Python and R code.
You can create other folders that will also act as R source folders, i.e. that will be available using dkuSourceLibR to all R processes running in the project.
To manually edit the list and order of the R source folders, open the external-libraries.json file in the library editor and edit the rsrcPath list. All paths must be relative to the root of the library editor.
If you have created libraries in a project A, you can import them in project B. The libraries of project A will be added to the source path of all code running in project B.
Go to the library editor of project B
Open the external-libraries.json file
Edit the importLibrariesFromProjects list and add the project key (which appears in the URL, i.e. not the project display name) to it
Save the external-libraries.json file
You need to have “Read project content” permission on A and “write project content” on B.
You can write custom R code files in the global R library editor.
The global R library editor is available from the Application menu > Global Shared Code.
The click on the “lib/R” tab
Files that are written here can be used by all R code in all projects.
Each time you want to use the functions defined in these R files, you need to use the dkuSourceLibR function, which uses the source feature of R to import the functions in the global namespace.
For example if you wrote a file “miscfuncs.R” that contains a do_awesome_stuff() function, you can use:
The source mechanism is practical but does not enforce namespacing. To get namespacing, you need to build a complete R package, compile it, and install it (possibly in the code environment) using install.packages. This generally requires shell access on the machine running DSS.