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/directory
Example:
rstudio --cwd /c/workspace/My_Projects/alarm-projects
This ensures RStudio starts in the specified directory.
- 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
.Rproj
file—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/project
for 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
Project-based Package Installation in R: single or bundle
Using
install.packages()
will globally install the packages and not project specific! Here’s a clear explanation of what’s happening and how to ensure your renv setup and GitHub repository are truly the “Source of Truth” for your R project environment.Why is renv::snapshot() not updating the lockfile?
The Issue:
How to Fix It
1. Always Install Packages Into the renv Project Library
Preferred Approach:
Example:
Bulk Install From requirements.txt:
If you want to install from a list (like requirements.txt), do:
2. Rerun renv::snapshot()
3. Commit renv.lock and renv/ to GitHub
git add renv.lock da-with-r.Rproj git commit -m "Update project environment and lockfile" git push
4. Best Practices: Making GitHub the Source of Truth
What to Do Now (Step by Step):
Summary Table