我在终端和RStudio(在Mac和Linux上)都使用R,并想知道是否有可能为两者使用不同的.Rprofile
,或者最好使用相同的基地.Rprofile
但源不同的环境特定的调整脚本。检测是否在启动时在RStudio中运行R会话
我认为这会工作,将下面的代码放在我的.Rprofile
,但不幸session_info
没有在.First
运行的时间设置。 Sys.getenv
也不是。
.First <- function(){
# [STUFF I ALWAYS WANT TO DO]
# Load my favourite packages
# Set CRAN mirror
# etc. etc.
# [ENVIRONMENT SPECIFIC TWEAKS]
if(grepl("RStudio", session_info()$platform$ui)){
tryCatch(source("~/.R_RStudio"), error=print)
} else {
tryCatch(source("~/.R_terminal"), error=print)
}
}
我也试过在.bash_profile
这确实允许,如果会议于庆典开始我检测设置alias R='R --args terminal'
,但它搞砸了R CMD ...
和使用其他命令行参数的任何脚本。
我意识到它可能无法从R会话中检测它从哪里开始,但也许在RStudio中有一些我不知道的聪明选项。
你可以做类似'如果(is.na(Sys.getenv( “RSTUDIO”,未设置= NA)){...}';!RStudio将始终设置'RSTUDIO'环境变量 –
@KevinUshey非常感谢!如果您将它添加为答案,我会马上接受。 – Backlin