我有數據和工作概要功能:鑄造閉合到字符中的R
[data:] x = runif(100)
[function 1:] sapply(list("mean", "median", "sd"),
function(f) array(do.call(f, list(x)),
dimnames=list(f)))
mean median sd
0.5198142 0.5566567 0.3048372
以下也運行,但沒有給予dimnames
:的
[function 2:] sapply(list(mean, median, sd),
function(f) array(do.call(f, list(x))))
[1] 0.5198142 0.5566567 0.3048372
我已經不成功地嘗試了各種組合quote()
,enquote()
,substitute()
,deparse()
等給我與功能2(其中功能被應用的功能未被引用)相同的結果,因爲我從功能1得到。我想找到的東西E採用的形式,如果存在的話,這將產生相同的結果功能1:
[function 3:] sapply(list(mean, median, sd),
function(f) array(do.call(f, list(x)),
dimnames=list(SOMEFUNCTION(f))))
我對這個問題的理解是,我需要使用的功能,將報mean
,median
和sd
但f
之後已經部分評估;我所有的嘗試都失敗了。
我開始寫函數3的函數;重寫爲函數1是我可以得到所需輸出的唯一方式,但是我不禁覺得在函數1中沒有引號可以實現這一點。
由於該區域有點混淆對我來說,除了提供代碼外,你能否解釋爲什麼你的解決方案能夠工作?
謝謝。
'list(mean,median,sd)'是一個匿名函數的列表。他們沒有任何名字。 – user1609452 2013-05-05 05:01:42