0
具有以下功能:呼叫從給定函數向量R中的函數
setTypes <- function(df2, ...) {
fns <- as.list(substitute(list(...)))
for(i in 1:length(df2)) {
if(fns[i] == '') {
next
}
df2[i,] <- fns[i](df2[i,])
}
return(df2)
}
要做到這一點:
test<-setTypes(sls,c('','as.Date','','','as.numeric','as.numeric'))
的想法是改變類型的字段的數據而不必爲每個字段執行sls$field <- as.numeric(sls$field)
。
我寫一個函數像這樣的工作:
fn <- function(t) {
return(t("55.55000"))
}
和輸出是這樣的:
> fn(as.numeric)
[1] 55.55
然而
,我想不通爲什麼要麼做可變長度參數作爲列表並將其稱爲list[index](input)
不起作用。甚至路過的功能的載體像c(as.Date, as.numeric, as.character)
和做c[1]('2015-10-10') # as.Date('2015-10-10')
我收到了錯誤的企圖,將非功能'。我一直在使用call
也試過,但無濟於事。幫幫我?
我很想說,這是[this](http://stackoverflow.com/q/7680959/324364)問題的重複... – joran
由於你的函數列表是一個字符列表,你會得到這個錯誤。跳過'或使用do.call – nist