我想編寫一個函數,通過在一個目錄的直接子目錄中的所有文件,然後運行迭代自定義編寫的函數從文件的文本中提取特徵:如何保存R中省略號的內容以用於深度嵌套函數調用?
load.samples <- function(path = ".", ...) {
dirs <- dir(path, full.names = TRUE)[file.info(dir(path, full.names = TRUE))$isdir]
lapply(dirs, function(p) {
lapply(dir(p, full.names = TRUE), function(f) {
text <- readChar(f, file.info(f)$size)
extractFeatures(text, ...) #I want this call to pass along the extra parameters to load.samples
})
})
}
我試圖讓任何傳遞給load.samples
函數的附加參數傳遞給extractFeatures
函數。但是,上面的代碼顯然不起作用,因爲不是直接調用,而是調用extractFeatures
包裝在兩個嵌套函數中,這兩個嵌套函數通過對lapply
的兩次嵌套調用進行調用,每次嘗試通過時都會得到一個未使用的參數錯誤任何額外的參數load.samples
。
什麼是最簡單的方法來保存要在這種嵌套函數中使用的省略號的值?
你究竟如何調用這個函數?爲什麼失敗如此明顯?像這樣的東西似乎工作得很好:'mycall <-function(a,b,...)粘貼(a,b,...); (a,b,...){sapply(a,function(a){sapply(b,function(b){mycall(a,b,...)})\t}}}; f(1:3,3:4,「Hi」)' – MrFlick 2014-09-06 22:03:39
基於janos的回答,它看起來像我認爲我的代碼「顯然是錯誤的」,顯然是錯的! 這是我正在使用的調用(現在工作要感謝janos):'load.samples(path =「〜/ projects/linguist/samples」,ncol = 10)',其中'ncol'打算傳遞到'extractFeatures'功能。 – bskaggs 2014-09-06 22:06:17
有幾個包含'extractFeatures'功能的軟件包。 ('sdef','pathClass','NMF','imageHTS')。爲了再現性,請您指定您正在使用哪一個。 – 2014-09-07 05:22:36