2016-05-23 60 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"] 

找出會話何時開始。