[程式] R source原始碼的問題
------------------------------------------------------------------------
[軟體程式類別]:
請填入軟體程式類別 例如SAS、SPSS、R、EVIEWS...等
R
[程式問題]:
資料處理、迴歸、敘述統計、logistic、probit...等
載入既有的程式碼
[軟體熟悉度]:
請把以下不需要的部份刪除
高(1年以上)
[問題敘述]:
請詳盡敘述遭遇到的問題,可能的話,分點敘述你要處理的流程
大家好, 我最近在寫程式的時候發現使用R 的source有以下的狀況:
我的工作目錄有 workspace/ 和 workspace/src/
當我把A.R, B.R 放在 workspace/src/資料夾底下
A.R會用到B.R裡面的東西所以他的內容為
#workspace/src/A.R
source("B.R")
#...
然後我在workspace/底下有一個程式的主要進入點 exec.R
#workspace/exec.R
source("A.R")
#...
但是這時當R進入A.R後就錯誤了
因為他在parse source("B.R")的時候的根目錄並不會切換到A.R的所在位置
所以我想請問是不是已經有解決這類問題的方案呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.251.202
→
02/26 12:51, , 1F
02/26 12:51, 1F
→
02/26 12:55, , 2F
02/26 12:55, 2F
→
02/26 12:56, , 3F
02/26 12:56, 3F
我不喜歡這個方法的理由是
未來只要我想要重複使用A.R, B.R的功能
我必須要重新改一次source的路徑
推
02/26 13:14, , 4F
02/26 13:14, 4F
→
02/26 21:14, , 5F
02/26 21:14, 5F
後來我想了想其他語言解決類似問題的方式
在PHP內我可以用__DIR__ (取得檔案現在的位置)來解決這個問題
在C內是要把某個資料夾加入到compiler的search path內來解決
---
所以R的話目前我想到比較漂亮的既有解法是以類似C的概念
把這些檔案都以某個資料夾為中心來交互參照
並且再寫一個source全部檔案的方式
Hmm... 用setwd應該是可以寫一個類似的出來
---
包package也是一招, 但是滿費功夫的
※ 編輯: Wush978 來自: 1.170.141.14 (02/26 23:38)