The rstudioapi
package allows you to interact with the running R session in a couple useful ways: you can send code to the R console, or restart the R session.
# restart R, then run some code after
rstudioapi::restartSession(command = "print('Welcome back!')")
# send some code to the console and execute it immediately
rstudioapi::sendToConsole("1 + 1", execute = TRUE)
Typically, code that you want to run at the start of an R session is placed into an .Rprofile
file (see Initialization at the Start of a Session for details). However, RStudio’s API hooks are not available until RStudio has fully started up, so most rstudioapi
methods will not work inside .Rprofile
.
If you want to invoke rstudioapi
methods on session startup, use the rstudio.sessionInit
hook. For example, to print the RStudio version to the R console when the session begins:
setHook("rstudio.sessionInit", function(newSession) {
if (newSession)
message("Welcome to RStudio ", rstudioapi::getVersion())
}, action = "append")