4
我使用R
中的dplyr
包。使用我想創建一個功能類似dplyr:mutate_each中的可選參數
require(dplyr)
aFunction <- function(x, optionalParam1="abc"){
cat(optionalParam1, "\n")
return(x)
}
myFun <- function(data, ...){
result <- data %>% mutate_each(funs(aFunction(., ...)))
}
,然後調用myFun
所有可選參數應該轉嫁到aFunction
時這樣稱呼它
data = data.frame(c1=c(1,2,3), c2=c(1,2,3))
myFun(data) # works
myFun(data, optionalParam1="xyz") # doesn't work
。但相反,錯誤'...' used in an incorrect context
被拋出。
這是在不dplyr
其工作方式它應該工作相同的功能...
myFun2 <- function(data, ...){
for(c in colnames(data)){
data[,c] = aFunction(data[,c], ...)
}
}
我怎麼能實現與dplyr
相同的結果?
你正在使用一個非常抽象的和有節奏的例子,你需要什麼和你想達到什麼?如果沒有這些信息,我只能說是閱讀了哈德利書中的函數操作符,並淹沒了R的範圍規則瘋狂的複雜性:http://adv-r.had.co.nz/Function-operators.html – grrgrrbla
@grrgrrbla with' Curry'來自'functional'包,你可以非常直接地使用它。請參閱下面的答案。 –
謝謝:),我總是樂於學習新東西!如果你有任何鏈接或建議,在哪裏可以學到更多,那將是非常棒的! – grrgrrbla