Tinn-R一直是我拿來寫R程式的好幫手,但是自從換到Vista平台上之後就問題不斷,一直沒有像以前在XP上那麼好用,尤其Tinn-R更新到2.0.0以後,好處沒享受到,問題倒是一堆...XD

update (2009.08.12):新版的Tinn-R 2.3.2.3 已經在Vista上工作良好了...(至少我裝起來是這樣...XD)

最近看到幾篇關於Tinn-R在Windows Vista上安裝設定的文章,似乎把問題釐清了不少,首先是Tinn-R在2.0.0版本以後,需要去修改Rprofile.site這個檔案(應該在R安裝主目錄中的etc子資料夾內),請參照「How to install and configure Tinn-R 2.0.0.7 (XP and Vista)」這篇文章來做設定,但是我在Vista上去修改這個檔案的時候,明明改了,但是卻沒有作用?!似乎是被Vista的安全措施擋下來,所以我的建議是把這個檔案剪到桌面上來,改好之後再貼回去原來的地方,要怎樣確定你的Rprofile.site有無正確修改到哩?請照下面步驟:

1. 執行R

2. 輸入R.home()
    系統會回覆類似"C:\\PROGRA~1\\R\\R-28~1.0"這樣的訊息,這是你安裝R的路徑,下面的步驟會用到這個路徑

3. 輸入readLines("C:\\PROGRA~1\\R\\R-28~1.0/etc/Rprofile.site")
    請注意這個跟你安裝R的路徑有關,這樣R就會去讀etc/Rprofile.site這個檔案,並且把內容印到螢幕上,就可以檢查你改的內容跟R讀到的是否一致,如果不一樣,就是遇到跟我一樣的問題,被Vista擋下來沒改成功,請用剪下貼上那招。

最重要的是要確定下面這幾行有在Rprofile.site裡面

.trPaths = c( 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/', 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/search.txt', 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/objects.txt', 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/file.r', 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/selection.r', 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/block.r', 
'C:/Users/jcfaria/AppData/Roaming/Tinn-R/tmp/lines.r')

記得jcfaria要改成你自己在Vista中的帳號名稱,這樣在Tinn-R內使用R send: selection才會有用!!!

然後還有另一個問題是在「Tinn-R does not work with Lastest R 2.8.0」看到解決辦法的,問題似乎出在windows的地區語系設定上,如果你在英文版的windows上則一切都沒問題,但是若是在日文版或者中文版中,上面那些動作一樣沒辦法解決問題,所以要到控制台->時鍾、語言和區域->地區及語言選項->變更日期、時間或數字格式,把原來的「中文(繁體,台灣)」改成「英文(美國)」,這樣一切就沒問題了~~~

至於這樣的問題要到什麼時候才會解決ㄋㄟ...等等看下一版的Tinn-R吧...(Anyway, 我們要感謝那些無償維護Tinn-R的偉大志工們)

參考資料來源:

How to install and configure Tinn-R 2.0.0.7 (XP and Vista)

Tinn-R does not work with Lastest R 2.8.0

My Rprofile.site (2.X.X.X)<--你可以參考這篇文章來修改你的Rprofile.site

 

Update_2009.02.07:

修改Rprofile.site的部分可以改成下面這個較簡短的版本,這樣就不會去改帳號的部分啦!(我怎麼之前沒想到XD...)

#=============================================================== 
# Tinn-R: necessary packages and functions 
# Tinn-R: >= 2.0.0.1 
#=============================================================== 
library(utils) 
 
# check necessary packages 
necessary = c('TinnR', 'svSocket') 
installed = necessary %in% installed.packages()[, 'Package'] 
if (length(necessary[!installed]) >=1) 
install.packages(necessary[!installed], dep=T) 
 
# set options 
options(use.DDE=T) 
# uncoment the line below if you want Tinn-R starts 
# always R starts 
#options(IDE='C:/Tinn-R/bin/Tinn-R.exe') 
 
# load packages 
library(TinnR) 
library(svSocket) 
 
# start DDE 
trDDEInstall() 
 
.trPaths <- paste(paste(Sys.getenv('APPDATA'), '\\Tinn-R\\tmp\\', sep=''), 
c('', 'search.txt', 'objects.txt', 'file.r', 'selection.r', 'block.r', 'lines.r'), sep='')

創作者介紹

Person的網路日誌

Person 發表在 痞客邦 PIXNET 留言(4) 人氣()


留言列表 (4)

發表留言
  • kenal
  • 無法由tinn R 開啟R

    你好:
    我也是tinn R與R的愛用者,最近換電腦,發現無法由tinn R 去啟動R,想請問一下是否有解決的方法?你網頁中的方法我也有試,但是還是一樣,是否有其他地方沒有設定好?煩請告知,謝謝
  • 哈哈~這個部分我也無解,不過對我來說沒差,反正直接以SDI模式啟動R就可以了。然後在Tinn-R的工具列中,View -> Organize screen (Tinn-R/Rgui)就可以幫你把Tinn-R的視窗跟R的視窗排列好。這是我的作法啦~提供你參考囉...

    Person 於 2009/02/03 02:26 回覆

  • Austin
  • Tinn-R和R有些时候不是很match,很头痛。。

    还想问问你,你知道library里的car的package吗?为什么我用我R无法加载呢?我的版本是2.8.0

    谢谢
  • 我剛剛在R2.8.1安裝了car這個package,沒有問題耶~可以正常安裝,也可以加載(load)

    Person 於 2009/02/16 22:35 回覆

  • 悄悄話
  • 悄悄話