2016-05-23 66 views
5

有没有办法检查R会话何时开始?在interactive mode,在batch mode没有必要。检查R会话何时开始?

+1

您是否需要在R内检查? –

+0

@docendo discimus这将是伟大的,但我想它是不可能的,所以不是,但让我们等待,mayby会有答案 – Qbik

+0

你是指什么时候会议开始? – Andrie

回答

4

在窗口中,您可以尝试看看创建临时目录的时间r-session

file.info(tempdir())$ctime

其唯一的想法和可能并不总是工作

+0

不错。这也适用于Linux,并且比我的解决方案“侵入性更小”。问题是如果由于某种原因临时目录被修改,你的行会报告上次修改的时间。 – nicola

+0

@nicola在'?file.info'“在Windows本机文件系统上,ctime是文件创建时间(在大多数类Unix文件系统中没有记录的时间)。”可能它只适用于windows – Batanichek

+0

@nicola尝试编辑文件夹(添加一些文件)'mtime'和'atime'改变了,但'ctime'不是 – Batanichek

7

它不适用于当前会话,但可能(在本地)在将来的会话中工作。编辑/创建.Rprofile文件在你的主目录,并添加以下两行:

.startedTime<-Sys.time() 
.sessionTime<-function() Sys.time()-.startedTime 

.Rprofile的线在会议开始执行。我选择以点开头的名称,以便它们不会被ls()返回。接下来,开始一个R会话,当你给:

.sessionTime() 

它会返回从会话开始的经过时间。

+1

准确地说,如果我3小时前醒来,我*会张贴的:-) –

4

proc.time功能的轨道次由于R启动(见帮助),其可以用作:

Sys.time() - proc.time()["elapsed"] 

找出会话何时开始。