2013-07-05 46 views
4

應用是很容易的載體的不同元件,但是這是一個簡單地說,我破解:應用不同的功能中的R

在多參數迴歸,優化器用於查找參數函數的最佳擬合說x1,x2數據。通常情況下,特定功能,如果優化器嘗試優化轉換參數(例如,使用R優化器,如DEoptim,nls.lm),則優化器可能會更快。根據我所知的經驗,來自一個參數函數的不同參數的不同轉換甚至更好。

祝在x.trans(下面C.F.)在x.val應用不同的功能,以不同的但在它們的相應位置元素:

有模擬的例子的工作。

#initialise 
x.val <- rep(100,5);  EDIT: ignore this part ==> names(x.val) <- x.names 
x.select <- c(1,0,0,1,1) 
x.trans <- c(log10(x),exp(x),log10(x),x^2,1/x) 

#select required elements, and corresponding names 
x.val = subset(x.val, x.select == 1) 
x.trans = subset(x.trans, x.select == 1) 

# How I tried: apply function in x.trans[i] to x.val[i] 
... 

任何想法? (我曾嘗試與運用,並sapply但存儲在x.trans功能無法獲得)

+0

的就我所能理解的而言,x.trans應該是一個函數,但這個例子並不真正起作用? –

+0

您的示例尚未準備好運行。 'x'和'x.names'在哪裏?我理解正確嗎?你想把'x.val'分成幾組,並對每個分組應用不同的函數? –

+1

@MatthewPlourde Afaik他希望將第一個功能應用於第一個元素,第二個功能應用於第二個元素等,並受到之前的選擇限制。所以可能需要一個函數列表。 –

回答

10

相反,您必須使用此:

x.trans <- c(log10,exp,log10,function(x)x^2,function(x)1/x) 

那麼這個:

mapply(function(f, x) f(x), x.trans, x.val)