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='')
留言列表