跨会话自动保存R中的历史记录

跨会话自动保存R中的历史记录,r,R,我有一个环境变量$R_HISTFILE指向/home/my.username/.rhistore,在我的.Rprofile主目录中有以下代码: .Last <- function() { if (!any(commandArgs()=='--no-readline') && interactive()){ require(utils) try(savehistory(Sys.getenv("R_

我有一个环境变量
$R_HISTFILE
指向
/home/my.username/.rhistore
,在我的
.Rprofile
主目录中有以下代码:

.Last <- function() {
        if (!any(commandArgs()=='--no-readline') && interactive()){
                require(utils)
                try(savehistory(Sys.getenv("R_HISTFILE")))
        }
}

.Last您是如何设置环境变量的?您应该能够将其放入
.Renviron
文件中

若要确保正确设置环境变量,请确认这将为您提供“/home/my.username/.RHistory”

否则,您是以
--vanilla
或类似的方式开始
R
?启动R时,您是否在主目录中

这对我很有用:

gMac:~ garrett$ R_HISTFILE=~/.RHistory R --vanilla -q
> .Last <- function() {
+         if (!any(commandArgs()=='--no-readline') && interactive()){
+                 require(utils)
+                 try(savehistory(Sys.getenv("R_HISTFILE")))
+         }
+ }
> a <- 5
> b <- 10
> q()

gMac:~ garrett$ R_HISTFILE=~/.RHistory R -q
> history()
gMac:~garrett$R\u HISTFILE=~/.R--vanilla-q
>.Last a b q()
gMac:~garrett$R_HISTFILE=~/.R-q
>历史()
这给了我一个包含以下内容的文件:

.Last <- function() {
        if (!any(commandArgs()=='--no-readline') && interactive()){
               require(utils)
               try(savehistory(Sys.getenv("R_HISTFILE")))
        }
}
a <- 5
b <- 10
q()
history()
。上次
.Last <- function() {
        if (!any(commandArgs()=='--no-readline') && interactive()){
               require(utils)
               try(savehistory(Sys.getenv("R_HISTFILE")))
        }
}
a <- 5
b <- 10
q()
history()