我在終端和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