2014-10-27 29 views
2

相關:Dynamic column resizing in .Rprofile設置已`width`在Rprofile

如果我試圖傳遞Sys.getenv("COLUMNS")作爲一個整數(或數字或原樣,即作爲字符串)的options()參數width在我的用戶.Rprofile我在啓動時出現錯誤:

Error in options(width = as.integer(Sys.getenv("COLUMNS"))): 
    invalid 'width' parameter, allowed 10...10000 

但是,如果一旦登錄到一個交互式會話,我嘗試手動一樣的,不會引發錯誤和getOption("width")返回一個值相同as.integer(Sys.getenv("COLUMNS"))

我想知道爲什麼它不能在我的.Rprofile中工作,尤其是因爲在啓動的幫助頁上給出的示例中出現類似內容。我在xterm中使用R,在Linux(Arch)上使用R。

回答

2

也許setwidth包可以幫助你:http://cran.r-project.org/web/packages/setwidth/index.html

它適用於R於Linux上的交互式終端上運行(聽起來像你的情況完全一致)。

你只需要添加library(setwidth)您.Rprofile,它會在您每次調整終端時間更改寬度。

+0

這是偉大的!非常感謝。 (我也使用和享受手冊中引用的** colorout **包)。我仍然想知道爲什麼我似乎無法設置'options(width = as.integer(Sys.getenv(「COLUMNS」 )))''從我的.Rprofile中,就像'?Startup'上的例子一樣。 – user109114 2014-10-27 17:52:33

+0

顏色也很棒,我正在使用它。我懷疑在啓動時COLUMNS尚未設置。也許你可以試着寫類似'CurrentValue的< - Sys.getenv(「列」)在您的.Rprofile',看看你得到了什麼? – 2014-10-27 18:08:00

+0

你是對的:在啓動過程中''sys.getenv(「COLUMNS」)'''',我不明白,因爲shell變量'COLUMNS'被設置,即'printf'%s \ n'$ COLUMNS'在同一個shell會話中啓動R之前返回一個值。 – user109114 2014-10-27 18:58:32

相關問題