我試圖找出多個函數,這些函數的名稱不同。如何阻止來源縮寫函數名稱?
例如:func1,func2。
我試過使用「func_1」和「func_2」,並且把數字放在第一位,「1func」和「2func」。無論我如何索引函數名稱,源函數都會讀取一個函數,它稱爲"func"
- 這不是我想要的。
我一直在使用for循環和sapply嘗試:
for循環:
func.list <- list.files(path="/some_path",pattern="some pattern",full.names=TRUE)
for(i in 1:length(func.list)){
source(func.list[i])
}
sapply:
sapply(func.list,FUN=source)
我將會寫作的多個版本的數據修正功能,並且真的希望能夠對它們進行索引 - 因爲給出了簡潔,但具體而言,名稱會很困難,並且不允許我選擇性地從其目錄中獲取功能文件。
在我的代碼,func.list使輸出(我已經取代因涉及隱私的實際目錄/合同問題):
[1] "mypath/1resp.correction.R"
[2] "mypath/2resp.correction.R"
後來,當我源func.list與任何for循環或sapply代碼(上面列出),R只加載一個名爲resp.correction的函數,其代碼體來自「2resp.correction.R」。
這聽起來並不像標準源的行爲,請讓您的example.reproducible。 –
你當然*不能*把數字放在第一位,比如'1func'-這在R(或大多數語言)中不是合法的標識符。 –
@David Robinson:謝謝你的輸入。只是爲了進一步澄清,我試過(沒有成功)使用以下格式:「func1」,「func_1」和「1func」。 – dayne