[R]載入並呼叫外部R程式裡的function

本文內容:

  • 設計一個外部的R檔案,是給主程式存取的的共用function
  • 於主程式中匯入該R檔案,存取其function內容。

主程式內容:透過呼叫一個名為getFilePath的function,用來產生外部R檔案的路徑,並且將之載入,以利存取目標R檔案的function,程式碼如下:

filePath <- ""

#匯入 同一個資料夾中的R檔案
getFilePath <- function(fileName) {
    #專案資料夾絕對路徑
    path <- setwd("~") 
    #字串合併無間隔
    # 「<<-」為全域變數給值的指派
    filePath <<- paste0(path ,"/QFD/" , fileName)  
    # 載入檔案
    sourceObj <- source(filePath)
    return(sourceObj)
}

getFilePath("methods.R")
print(paste("filePath:",filePath))
Convert.stringToInt("1")   #這個function存在於methods.R裡面

methods.R的內容請讀者自行撰寫,或可從這裡取得。

測試結果參考下圖TERMINAL處。(questionaire.R為主程式內容)

參考來源:https://www.r-bloggers.com/storing-a-function-in-a-separate-file-in-r/