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

Person的網路日誌

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