This cheatsheet covers how to control and troubleshoot the working directory in R, RStudio Desktop, and RStudio Cloud. A correct working directory makes data import, script sourcing, and project management much smoother.
Instead of just:
rstudio .Use:
rstudio --cwd /path/to/your/directoryExample:
rstudio --cwd /c/workspace/My_Projects/alarm-projectsThis ensures RStudio starts in the specified directory.
Update: better to use Rproj since we uses relative dir instead of specific path.
- Menu:
Session→Set Working Directory→Choose Directory... - Shortcut: Ctrl + Shift + H
- R Console Command:
setwd("C:/workspace/My_Projects/alarm-projects")
- Go to
Tools→Global Options→General - Under Default working directory, set your path (e.g.,
C:/workspace/My_Projects/alarm-projects) - Click Apply and restart RStudio
RStudio Projects automatically set the working directory to the project folder.
File→New Project→Existing Directory- Select your folder (e.g.,
C:/workspace/My_Projects/alarm-projects) - RStudio creates a
.Rprojfile—always open this file to launch the project with the right directory!
- RStudio Cloud always starts in the project’s root directory.
- For reproducibility, always use RStudio Projects in the cloud too.
- To check your current directory:
getwd()
- To change it:
setwd("/cloud/project/subfolder") - Upload files to
/cloud/projectfor easy access.
- Check current directory:
getwd()
- Set working directory:
setwd("/path/to/your/directory")
- Paths on Windows: use either
/or double backslashes\\(never single\). - Always check your current directory with
getwd()if file loading fails. - Use Projects whenever possible—they save a ton of headaches!
Pro Tip:
Always use RStudio Projects for each analysis or codebase. They save window layouts, history, and—most importantly—set your working directory automatically!
Last updated: 2025-06-26

R Environment (
renv)Here’s how renv works for R projects, especially if you’re coming from a Python/virtualenv background:
How renv Works (Compared to Python Virtual Environments)
virtualenvorvenv.(Just like in Python, each project should have its own virtual environment.)
The Workflow
When you run
renv::init()in your repo, it creates a local environment (in therenv/directory) and arenv.lockfile.Install packages with
install.packages()orrenv::install(), and they’ll be installed in your project’s local library, not the global/system R library.renv.lockand your project files to GitHub, anyone can clone your repo and runrenv::restore()to get the exact same package versions.requirements.txtorPipfile.lockin Python.Key Points
renv::init()in that new project’s directory.In Summary
Example in Your Repo